android USB端口切换


版权声明:本文为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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值