gaborfilter 发表于 2014-11-13 09:45

请问sys.usb.config是在哪里定义和设置

最近在做和ADB有关系的一些工作,看到在Android下初始脚本有类似的语句
    on property:sys.usb.config=mtp,adb
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 18d1
    write /sys/class/android_usb/android0/idProduct 4ee2
    write /sys/class/android_usb/android0/functions ${sys.usb.config}
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

我能明白上面所作的工作,但是我想知道${sys.usb.config}这个是在哪里定义和设定的,是基于内核的USB模块的某个文件吗还是和Android有关?
还有在终端方,看到在/dev/下 有 usb-ffs/adb/, 我没有在内核代码里找到创建usb-ffs的地方。
请问有大侠曾经碰到这样的问题吗?谢谢!

gaborfilter 发表于 2014-11-13 14:31

自己顶一下。 我觉得${sys.usb.config}应该是Android的东西,通过GUI来设定, 然后通过用户空间向内核传递VID/PID,等等。
不知道我的理解对不对?

另外还是想问一下 /dev/usb-ffs/adb/ 是在内核的哪里实现的? 我在内核中没找到‘usb-ffs’。

多谢

Tinnal 发表于 2014-11-13 16:31

首先, sys.usb.config是Android的东西。不是Linux的。
其次,/dev/usb-ffs/adb/是一个文件夹,并不是一个设备文件,他一般是USB FunctionFS的一个挂载点,而FunctionFS对应的KO为g_ffs.ko,代码在drivers/usb/gadget/。详情请见:https://www.kernel.org/doc/Documentation/usb/functionfs.txt
对应到ADB里的完整描述请见:http://blog.csdn.net/jingxia2008/article/details/25902817
    # mkdir /dev/usb-ffs
    # mkdir /dev/usb-ffs/adb
    # mount -o uid=2000,gid=2000 -t functionfs adb /dev/usb-ffs/adb

gaborfilter 发表于 2014-11-14 07:23


   
多谢解答!等我看完所附的相关资料再来请教。
   

overture1928 发表于 2014-11-23 17:45

一般都是在system.prop里进行定义,settings里会有相关操作
页: [1]
查看完整版本: 请问sys.usb.config是在哪里定义和设置