debian9でUSBを再起動できませんでした。

debian9でUSBを再起動できませんでした。

素晴らしいUSB LANギガビットアダプタを含む小さなLinuxテストボックスがあります。アダプタは最初に4ポートUSB3ハブに接続し、次に本機に接続します。

デバイス->USB3 4ポートハブ->LANアダプタ

また、外部からハブに電力を供給してみましたが、結果は変わりませんでした。ランダムな時間が経過すると、USB LANポートが死にます。

これはログ制御ログでは、インターフェイス名はeth1です。

myhost kernel: usb 2-1: USB disconnect, device number 3
myhost kernel: usb 2-1.1: USB disconnect, device number 5
myhost kernel: ax88179_178a 2-1.1:1.0 eth1: unregister 'ax88179_178a' usb-0000:00:14.0-1.1, ASIX AX88179 
myhost kernel: ax88179_178a 2-1.1:1.0 eth1: Failed to read reg index 0x0002: -19
myhost kernel: ax88179_178a 2-1.1:1.0 eth1: Failed to write reg index 0x0002: -19
myhost systemd[1]: Stopping ifup for eth1...
myhost kernel: ax88179_178a 2-1.1:1.0 eth1 (unregistered): Failed to write reg index 0x0002: -19
myhost kernel: ax88179_178a 2-1.1:1.0 eth1 (unregistered): Failed to write reg index 0x0001: -19
myhost kernel: ax88179_178a 2-1.1:1.0 eth1 (unregistered): Failed to write reg index 0x0002: -19

代わりに、このようなことが起こります。LSSBデバイスが応答しなくなる前のロギング:

Bus 002 Device 007: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 006: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 003: ID 05e3:0626 Genesys Logic, Inc. 
Bus 002 Device 004: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 002: ID 05e3:0626 Genesys Logic, Inc. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:07dc Intel Corp. 
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

デバイスが応答しない場合:

Bus 002 Device 007: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 006: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 002 Device 004: ID 05e3:0626 Genesys Logic, Inc. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:07dc Intel Corp. 
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

USB3ハブには2つのデバイスアドレスUSB2とUSB3部分があるようです... USB3部分バス002デバイス002バス 001 デバイス 002まだ。

30分以上システムを再起動すると問題が解決します。

しかし、システムを再起動することは非常に面倒です。

30分ごとにシステムを再起動しなくても、USBハブまたはUSB全体のルートを物理的に無効にして再度有効にするコードを呼び出すことはできますか?

このように不安定なハードウェアを変更する前に、私はこの問題を解決するためにcronスクリプトを書くことを望みました。

また、他の質問で要求された他の回避策も試してみましたが、アクセスできなくなった単一のデバイスを再起動する代わりに、使用できるデバイスの完全なUSBルートを再起動したいと思います。

ありがとう

ベストアンサー1

uhubctlポートの電源を切ってから電源を入れることができます。これによりデバイスがリセットされ、カーネルがそれを再検出する必要があります。

たとえば、マイコンピュータでは、USBポート1-2.2の電源をオフまたはオンにします。

# /usr/sbin/uhubctl -l 1-2 -p 2 -a off  
Current status for hub 1-2 [0bda:5411 Generic 4-Port USB 2.0 Hub, USB 2.10, 4 ports]
  Port 2: 0101 power connect []
Sent power off request
New status for hub 1-2 [0bda:5411 Generic 4-Port USB 2.0 Hub, USB 2.10, 4 ports]
  Port 2: 0000 off

# uhubctl -l 1-2 -p 2 -a on 
Current status for hub 1-2 [0bda:5411 Generic 4-Port USB 2.0 Hub, USB 2.10, 4 ports]
  Port 2: 0000 off
Sent power on request
New status for hub 1-2 [0bda:5411 Generic 4-Port USB 2.0 Hub, USB 2.10, 4 ports]
  Port 2: 0101 power connect []

すべてのUSBポートをこの方法で制御できるわけではありませんが、以前にUSBデバイスを再検出するためにこの方法を使用したことがあります。

`-pの正しい値を計算するには-l試行錯誤が必要な場合があります。

あなたが書いた

myhost kernel: usb 2-1.1: USB disconnect, device number 5

だから私は最初にやろう-l 2-1 -p 1

おすすめ記事