android USB端口切换
版权声明:本文为CSDN博主「通信侠」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_28534581/article/details/80308518前言:有一个韩国客户,为了过认证需要调用rndis端口。这个功能在三星手机上可以查看到,但是一般的android设备都没有打开该功能,估...
版权声明:本文为CSDN博主「通信侠」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_28534581/article/details/80308518
前言:有一个韩国客户,为了过认证需要调用rndis端口。这个功能在三星手机上可以查看到,但是一般的android设备都没有打开该功能,估计是三星自己加的。
话不多说,usb端口功能早就写好了,只是需要驱动分析是否支持再打开相应开关。实现是在文件init.qcom.usb.rc里,现在截取我们需要的功能:
on property:sys.usb.config=rndis,serial_smd,diag,adb
stop adbd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 90B6
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports smd
write /sys/class/android_usb/android0/functions rndis,serial,diag,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state rndis,adb
1
2
3
4
5
6
7
8
9
10
11
可以看到,只要属性sys.usb.config被设置了,下面的每条指令都会被执行一遍,05c6/90B6是不是很熟悉,这些我们都可以链接电脑通过设备管理器看到相应的端口。
这里还有一个小坑,就是设置完成后,系统会检查sys.usb.state和sys.usb.config是否相等,相等了才会设置下去,否则就还原。
所以我们实际设置的并不是这个属性值rndis,serial_smd,diag,adb,而是rndis,adb
on property:sys.usb.config=rndis,adb
setprop sys.usb.config rndis,${persist.sys.usb.config.extra},adb
1
2
这里就需要添加另一个属性persist.sys.usb.config.extra,在里面添加相应的值,就能对应最上面的值了,即persist.sys.usb.config.extra=serial_smd,diag
————————————————
版权声明:本文为CSDN博主「通信侠」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_28534581/article/details/80308518
更多推荐
所有评论(0)