Linux usb gadget configfs用法

Linux 3.0新的USB gadget configfs.c驱动的用法如下所示:

挂载configfs文件系统:

# mount -t configfs none /sys/kernel/config

# cd /sys/kernel/config

# ls

usb_gadget

# cd usb_gadget


创建g1目录,实例化一个新的gadget模板:

# mkdir g1

# cd g1

# ls

UDC  bDeviceProtocol    bMaxPacketSize0    bcdUSB    functions    idVendor    

bDeviceClass     bDeviceSubClass    bcdDevice    configs    idProduct    strings


定义产品的VendorID和ProductID

# echo "0xabcd"  > idVendor

# echo "0x1234" > idProduct


实例化英语ID:

# mkdir strings/0x409

# ls strings/0x409

manufacturer    product    serialnumber


将开发商、产品和序列号字符串写入内核:

# echo "0123456789ABCDEF" > strings/0x409/serialnumber

# echo "Master"  > strings/0x409/manufacturer

# echo "Demo"  > strings/0x409/product


创建功能实例,需要注意的是,一个功能如果有多个实例的话,扩展名必须用数字编号:

# mkdir functions/acm.GS0

# mkdir functions/acm.GS1

# mkdir functions/ecm.usb0


创建一个USB配置实例:

# mkdir configs/c.1

# ls configs/c.1

MaxPower bmAttributes strings


定义配置描述符使用的字符串

# mkdir configs/c.1/string/0x409

# ls configs/c.1/strings/0x409/

configuration

# echo "2XACM+ECM" > configfs/c.1/strings/0x409/configuration


捆绑功能实例到配置c.1

# ln -s functions/acm.GS0 configs/c.1

# ln -s functions/acm.GS1 configs/c.1

# ln -s functions/ecm.usb0 configs/c.1


查找本机可获得的UDC实例

# ls /sys/class/udc/

msm_hsusb


将gadget驱动注册到UDC上,插上USB线到电脑上,电脑就会枚举USB设备。

# echo "msm_hsusb" > UDC


Linux usb gadget configfs用法,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。