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

バスからデバイスを削除し、/sys/bus/usb/.../bConfigurationValue に 0, 1 を順番に書き込むことで再度追加できます。より確実なのは、aを使ってlibusb_reset_device()を呼び出すことです。シンプルなCプログラム

GSMモデムの中断は一般的なものであり、時々毎日リセットする必要があるかもしれません。

より良いハードウェアを検討してください。

関連情報