我在内核 4.14(计算机 1)中使用 Yocto。我有两个 USB 端口:
主机:插入 USB 密钥(大容量存储设备)
OTG:连接到另一台计算机(计算机2)
################ ###############
|USB_KEY|----## COMPUTER 1 ##----## COMPUTER 2##---|screen, keyboard, ...
################ ###############
^ ^
USB link 1 USB link 2
我正在尝试从计算机 2 访问连接在计算机 1 上的 USB 闪存盘。
我使用带有 USB 连接 2 的 g_ether 小工具,并且我应该使用另一个小工具模块,例如大容量存储小工具。
计算机 1 可以连接到大容量存储设备吗?
谢谢
答案1
解决方案是:
g_multi
编辑 :
g_multi是内核中称为“多功能复合小工具”的小工具usb。该模块有两个选项:
< > Multifunction Composite Gadget
[ ] RNDIS + CDC Serial + Storage configuration
[ ] CDC Ethernet + CDC Serial + Storage configuration
就我而言,我使用第一个选项。但我没有理由使用CDC Serial。
要启用它:
modprobe g_multi file=/dev/sda # sda is your USB mass storage device
此命令将在主机设备上创建 USB0 网络接口和大容量存储设备。它还创建 CDC Serial。
现在我使用通过 configfs 设置的 USB 小工具。请参阅文档: 小工具 configfs 文档
有了这个“新”USB 小工具系统,您可以选择您想要的所有小工具。