插入无线鼠标Android应用重启问题: 背景 Platform:RK3399 OS:Android7.1.2 Kernel:v4.4.103 问题 在运行我们自己的APK时,插入某些USB的无线鼠标,APK会“重启”,重新走一次生命周期。 分析与解决 开始觉得很奇怪,为啥有的鼠标可以有的却不行,还以为是牌子问题。。。后面发现插入有问题的USB无线收发器,会生成2个设备,一个鼠标和一个键盘。没错,这是键鼠套装一体的无线收发器,正是这个键盘导致出现了现在的这个现象, 。。。。。。

RK3399之开机Logo动画壁纸相关:   背景Platform:RK3399OS:Android7.1.2Kernel:v4.4.103修改Uboot、Kernel开机Logo只需替换kernel/logo.bmp(uboot)和kernel/logo_kernel.bmp 修改Android开机动画蒙版图片动画蒙版图片动画是通过两张图片叠加移动实现动画效果,所以只需修改这2张图片 镂空蒙版图片:(要求背景为黑色,字体中间镂空)frameworks/base/core/res/assets/images/android-logo-mask.png镂空蒙版后面的闪光图片: .....

MachineID问题 问题背景   以前的一个旧产品需要升级SDK,包括loader、uboot、kernel、sdk等。在升级kennel的时候遇到下面一个machineID的问题:CODE Startingkernel... UncompressingLinux...done,bootingthekernel. Error:unrecognized/unsupportedmachineID(r1=0x00000778). Availablemachinesupport: ID(hex)NAME ffffffffVATICSviennaSoC(Flatten...

Android限制AP最大连接数: 背景 Platform:RK3399 OS:Android7.1.2 Kernel:v4.4.103 在项目中,因使用的WIFI模块的性能限制,在作为AP热点时候不能带很多台station,所以需要限制AP最大连接数。 解决 热点配置文件/data/misc/wifi/hostapd.conf里面带上max_num_sta参数限制最大连接数,但Android原生代码不包含此参数,该文件最终是由/system/netd/server/SoftapController.cpp生成。 Android7.1路径(AndroidO会有所不同):/system/...

Android之资源限制ulimit: 查看系统用户所有限制值:CODE ulimit-a 首先尝试 ulimit-n4096 ,确认能正确更改进程的maxfd 数目。 后来发现可以很方便的在init.rc/init.xxxx.rc里面进行设定,通常设定分成两种, 一种是foralluserprocess,这种就是针对bootup时对initprocess 进行设定(已验证).比如CODE oninit ...... .......     参考:Android系统文件限制小探_cigogo...

背景 编译目标:32位Android5.1 宿主机:64位-UbuntuServer18.04 安装docker及相关操作: 详见Docker相关|DD'Notes创建编译容器:dockerrun-itd--name=容器名--restart=always-v/ubuntu-share:/home/shareubuntu:16.04/bin/bash 配置编译环境 以下操作都是在容器伪终端进行,即使用dockerexec命令进入容器 添加64位系统对32位的支持 检查是否已经支持 dpkg--print-architecture若支持,输出amd64 dpkg--print-for...

  概念MIPIDCS:MIPIDisplayCommandSet DCS读取多个字节DCS读取多个字节,需先通过MIPI_DSI_SET_MAXIMUM_RETURN_PACKET_SIZE(0x37)设置要读取的最大字节数 C //... ret=mipi_dsi_set_maximum_return_packet_size(state,2); if(ret){ printf("mipi_dsi_set_maximum_return_packet_size,error=%d!!\n",ret); returnret; } ret=mipi_dsi_dcs_read(state...

背景 因某些不可描述的特殊原因,需要将Android机器上的WIFI的网络通过USB共享到PC机步骤: 使用USB数据线连接PC的USB口和Android机器的USB主USB口, 打开Android机器设置里面的网络共享与便携式热点,打开USB网络共享开关,正常情况下(主流的Android手机),在Win10的设备管理器或者网络连接中,会新增一块网卡设备。但有些Android设备(比如RK3399的主板),USB插上去连接之后会显示一个未知的设备–RNDIS什么是RNDIS呢?又怎么装驱动? 概念 。。。。。。

背景 接上一篇,使用RNDIS将Android机器虚拟成一个网卡,现在电脑就有了双网卡。那么现在问题来了,有时候打开内网的一些地址无法打开,包括SVN、禅道等。一想肯定是路由问题,那在Win10上怎么配置路由呢? Win10配置路由以前只有在Linux配过,后面发现Win10上其实差不多,都使用差不多的命令 首先以管理员权限打开CMD或PowerShell, ipconfig-all查看自己所有网卡的信息 使用route命令配置、查看路由信息以下是routehelp获取的route命令的帮助文档 .......... 作者:Shell

背景前段时间在Android机器上调试了UVC摄像头,最近又调试了HDMI转USB模块,它本质上也是虚拟成了一个UVC,和UVC的处理是一样的相关东西记录下 UVC预览及与本地摄像头动态切换测试代码:JAVA packagecom.example.myapplication; importandroid.annotation.SuppressLint; importandroid.app.Activity; importandroid.content.BroadcastReceiver; importandroid.content.Context; importandroid.conten...

  gcIluVlGdpHJ   2023年11月19日   20   0   0 JavajavauvcAndroidandroiduvc

背景使用环境:Win10-X64可以放在U盘,无论是在家里还是公司,或者其他Win10的电脑上,能很方便地进行写作后续可能会支持Ubuntu 软件准备:NodejsGitportableVSCode都下载Portable版本 配置环境新建一个主目录,如PortableBlog目录结构 CODE+PortableBlog//主目录   Hexo//Hexo主文件夹      blog//博客文件夹      node_modules//&nbsp...

ARM平台UART问题问题背景最近遇到一个问题:鲲鹏920机器串口无法修改波特率后面发现该硬件使用的是芯片自带的SBSAUART,该UART本身就无法修改波特率,可见内核文档说明(arm_sbsa_uart.txt): ARMSBSAdefinedgenericUARTThisUARTusesasubsetofthePL011registersandconsequentlylivesinthePL011driver.It’sbaudrateandothercommunicationparameterscannotbeadjustedatruntime,soitlacksaclockspeci...

  内核定时器API之timer_setup最近在写一个测试驱动demo,发现以前用的init_timer用不了了,后面发现现在新的内核都用timer_setup()了,特此记录 从4.14Linux内核开始使用带有三个args的timer_setup(): C ifLINUX_VERSION_CODE<KERNEL_VERSION(4,14,0) init_timer(&dev->getIntrTimer); dev->getIntrTimer.data=(unsignedlong)dev; dev->getIntrTimer.function=...

[TOC] 背景Kernel:v5.4.18Bluetooth:v5.2Bluez:v5.53相关概念SSP:SecureSimplePairingOOB:OutofBand HostA:手机HostB:PC 手机主动连接PC(Linux)的蓝牙,配对走的是SSP,IOCapabilityExchange为DisplayYesNo,使用的是NumericComparison 这里我们不讨论OOB的情况,所谓OOB就是通过其他渠道途径来交换蓝牙相关的信息,比如通过NFC交换蓝牙双方的MAC地址,配对等 SSP过程分析主流程图(MSC):BLUETOOTHCORESPECIFICATIONVer...

  蓝牙相关知识[TOC] 背景蓝牙协议:v5.2蓝牙官网:https://www.bluetooth.com/specifications/specs/ 前段时间,v5.3版本已经发布 主要应用领域数据传输,主要物联网音频传输,手机、PC;LEaudio(5.2新增),解决了左右耳等时同步传输,LC3编解码器位置服务,LEBeacon,AoA和AoD(5.1新增)等,可精确到亚米级设备网络,主要是BLEMesh、IPv6OverBLE(IPSP)几个重要版本v2.0+EDREnhancedDataRate,2Mb/sand3Mb/smodes3.0+HSAMP4.0BLE5.02...

lscpu命令详解背景Kernel源码:v5.15-rc1(linux-stable)测试Kernel:v5.4注:分析只针对arm64平台 简介lscpu:主要是用来显示CPU结构相关信息对应的help信息: CODE用法: lscpu[选项] 显示CPU架构信息。 选项: -a,--all       同时打印在线和离线CPU(-e选项默认值) -b,--online      只打印在线CPU(-p选项默认值) -B,...

Ethtool与EEPROMethtoolethtool命令用于获取或修改以太网卡的配置信息。这个命令比较复杂,功能特别多 使用manethtool可查看详细的使用说明,这里不再详述 这里主要通过探讨ethtool操作MAC地址与EEPROM相关的内容,来梳理ethtool工具的整个工作流程,下面一系列前提是网卡的MAC地址存放在EEPROM里面! 操作EEPROM里面MAC地址相关的命令: 读取MAC地址:SHELLethtool-e${ethname}烧写MAC地址:SHELL  ethtool-E${ethname}offset0value0xf4ethtool-E...

主要是由于proc等虚拟文件系统在处理大一点的数据时有比较大的局限性,很容易出错导致bug,所以seq_file接口就出来了,它提供了更加友好的接口,来方便程序员操作 最近在看/proc/cpuinfo的内核实现时,发现了一个以前没注意的东东:seq_file接口 seq_file(Sequencefile:序列文件)接口内核文档:Documentation/filesystems/seq_file.txt 下面是个简单例子实现: include<linux/init.h> include<linux/kernel.h> include<linux/modul...

内核的vermagic 内核的vermagic类似于:5.4.96-xxSMPpreemptmod_unloadaarch64 内核的vermagic即为VERMAGIC_STRING``(include/linux/vermagic.h) staticconstcharvermagic[]=VERMAGIC_STRING; /Simplysanityversionstampformodules./ ifdefCONFIG_SMP defineMODULE_VERMAGIC_SMP"SMP" else defineMODULE_VERMAGIC_SMP"" endif ifdefCON...

背景 通过insmod或modprobe加载核外驱动ko时,特别是第三方驱动,经常会遇到模块版本检查报错,类似: versionmagic'5.4.96-xxSMPpreemptmod_unloadaarch64'shouldbe'5.4.96-yySMPpreemptmod_unloadaarch64' 那我们就来看看模块版本检查的大致过程 Kernel:v5.4.96vermagic:versionmagic 过程分析内核相关源码:kernel/module.c逻辑过程比较简单check_modinfo()->same_magic()check_modinfo()函数首先获取模块相...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~