linux 内核配置otg,Linux 4.9.11 测试USB OTG功能

这个内核说新不新,但是OTG还是要点功夫的.跟老的有不少差别.

开机后,没有USB OTG相关模块.

10a6248d351aaf86b9fa22c31f24c3a0.png

因为几个模块有依赖关系,我们来模拟一个U盘来试试.

先生成一个文件:

dd if=/dev/zero of=/vfat.img bs=1M count=20

mkfs.vfat /vfat.img

losetup /dev/loop0 /vfat.img

mount /dev/loop0 /mnt

bffd011707f7ccfebc1c6d009f6f4ab8.png

然后按照特定顺序加载模块.

insmod fs/configfs/configfs.ko

insmod drivers/usb/gadget/libcomposite.ko

insmod drivers/usb/gadget/function/usb_f_mass_storage.ko

insmod drivers/usb/gadget/legacy/g_mass_storage.ko file=/dev/loop0 stall=0 removable=1

c9f8bf935a8b09c30fe9156410f3fd4d.png

在电脑就看得到了.

2405890b137e2150682a041643d6e2ef.png

同时在下位机也看到电脑写的文件~

8be79506a8344c3d45e42646c2f2ea50.png

因为模块间存在依赖关系,所以刚才模块的加载要讲究顺序.

f40e15e8878675372d2bbc31e14e6e3a.png