4

我试图让 g_multi 模式工作:

Raspberry Pi Zero W 运行全新安装的 Raspbian Jessie(2017 年 4 月内核 4.4)

目标是让设备作为指向本地可启动 ISO 的g_mass_storage运行,并能够使用g_ether模式通过 SSH 连接到设备。

到目前为止,我已经能够正确启动并运行 g_multi。mass_storage 系统被识别并且可以按预期启动,但是当我尝试 SSH 进入时,连接挂起。没有超时或任何其他与 IP 相关的错误。它只是坐在那里超过 5 分钟没有状态。

我的设置:

cmdline.txt(在 rootwait 之后)

modules-load=dwc2

config.txt(最后)

dtoverlay=dwc2

/etc/模块

dwc2
g_multi

然后我创建了一个新的模块配置文件

/etc/modprobe.d/multigadget.conf

options g_multi file=/bootable.iso

在第一次启动时,我在启动分区的根目录中创建了一个空的“ssh”文件

当模块在启动时加载时,我会收到一条很开心的多功能复合小工具初始化消息,没有错误。Open SSH 已设置并正常工作,当我将配置下降到g_ether时,它会按预期运行。

  • 在 Pi 上进行网络统计和监控端口时,显示的传入连接为零。
  • 在客户端执行 ssh -v(erbose) 时,错误或活动为零。
  • 我正在使用 USB A 到 micro B OTG 电缆
  • 我尝试使用 raspberrypi.local bonjour 主机名,它在启动时设置的内部 IP,并为 usb0 接口配置静态 IP。
  • 我尝试将它连接到我的 Mac 笔记本电脑、Windows 笔记本电脑和 Unix 台式机,结果完全相同。

我被困住了。想法?

4

3 回答 3

2

基于评论,我能够让 g_multi 与 g_mass_storage 和 g_ether 一起运行,如下所示:

配置文件

dtoverlay=dwc2,dr_mode=peripheral

cmdline.txt

... rootwait modules-load=dwc2,g_multi quiet ...

/etc/modprobe.d/g_multi.conf(在 RPi 上):

options g_multi file=/myfile.bin host_addr=11:22:33:44:55:66 dev_addr=aa:bb:cc:dd:ee:ff

两者 - 大容量存储和以太网功能按预期同时工作。

于 2017-10-28T13:25:12.230 回答
2

这些设置“工作”,但安装在 Windows 中的驱动器安装为只读,即使这些设置处于/etc/modprobe.d/g_multi.config

options g_multi file=/myfile.bin removable=1 ro=0 stall=0
于 2018-12-28T18:17:20.993 回答
-1

我已经测试了多个小工具的 g_multi 和 configFS 解决方案 (ecm+acm/acm_storage/ecm+storage--MSG--/etc) 在内核系列 5.8.x、5.10.x、5.11.x 上,只有第一个设备出现,它甚至可能无法连接到其他 USB 端点。4.x 系列确实可以工作(在 4.4.x 和 4.14 和 4.19 上进行了测试。)这已经在 RPi Zero、RPi Zero 2 W、Radxa Zero、Banana Pi M2 Zero 和 PocketBeagle 上进行了测试。是的,我确实有那么多密钥卡大小的 SBC。Key FOB 大小的 SBC 上的 linux USB 小工具概念打开了大量的项目机会。

于 2022-02-17T05:16:55.403 回答