如何在 Beagleboneblack 上重新启动 USB 设备?

如何在 Beagleboneblack 上重新启动 USB 设备?

当我重新启动 Beaglebone-black 时,USB 调制解调器无法启动。我需要拔掉调制解调器的插头,重新启动 BBB,然后插入它才能工作。我该如何解决?

我怀疑我需要重新启动 USB 1 总线。

对于 Armstrong,我可以使用 devmem2,但这在 Debian 映像上不可用。

请注意,GSM 调制解调器挂起是很常见的情况,有时需要在嵌入式设备上每天重置一次。

如何使用我的 bbb 和 Debian 实现这一目标?

插入 USB 调制解调器后的正常电源循环:

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

仅在重新启动后才插入调制解调器:

$ lsusb
Bus 001 Device 002: ID 114f:1234 Wavecom
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
/sys/bus/usb/devices/usb1# echo 0 > bConfigurationValue

设备停机,但我无法再次启动?

(我努力了/sys/bus/usb/devices/usb1# echo 1 > bConfigurationValue

这是在干净的 Debian 2015-03-01 映像上,接下来将尝试更新的映像...

答案1

您可以从总线上删除一个设备,然后通过将 0 然后 1 写入 /sys/bus/usb/.../bConfigurationValue 将其添加回来。更确定的是使用 a 来调用 libusb_reset_device()简单的C程序

GSM 调制解调器挂起是很常见的,有时需要每天重置一次

考虑更好的硬件。

相关内容