web-dev-qa-db-ja.com

論理的に切断されたUSBデバイスを再接続するにはどうすればよいですか?

USBストレージデバイスが論理的に切断される可能性があります。デバイスはまだ接続されていますが、オペレーティングシステムからは見えません(例:/proc/bus/usbの下にリストされていません)。これは、他の種類のUSBまたは他のリムーバブルデバイスでも発生する可能性があります。たとえば、次のようなことが起こります。

ドライバーまたはハードウェアで何が起こっているか、そして最も重要なのは、(物理的にプラグを差し込んで戻さずに)デバイスを論理的に再接続できる(方法)か?

この質問はマウントに関するものではないことに注意してください。 「論理的に切断された」状態では、カーネルはUSBバスに何もないと信じています(したがって、/devの下にエントリはありません)。

デバイスが接続されているUSBバスのブランチでパワーサイクルを実行できる場合があります。

# echo suspend > /sys/bus/usb/devices/1-1/power/level
# echo auto > /sys/bus/usb/devices/1-1/power/level

1-1は構成に合わせて調整する必要があります。デバイスを取り外す前にlsusb -tを実行すると、デバイスがUSBツリーのどの部分に接続されているかを確認できます。

詳細については、linux-usbメーリングリスト、たとえば this thread を参照してください。

21
jon_d
udevadm info -a -n /dev/sdb

カーネルを確認します。例えば。フロントUIPのポート2に接続されている場合は1-1.2、フロントUIPのポート1に接続されている場合は1-11になります。

ポート2の場合:USBを切断するには:

echo '1-1.2' | tee /sys/bus/usb/drivers/usb/unbind

USBを接続するには:

echo '1-1.2' | tee /sys/bus/usb/drivers/usb/bind
8
Udaya

デバイス、またはデバイスが接続されているハブをリセットすると、デバイスが再表示されます。これを行うための小さなプログラムを次に示します。

http://marc.info/?l=linux-usb-users&m=116827193506484

私が試したほとんどのUSBドライブで機能しますが、例外があります。たとえば、Kingston DT 101 II 4GBの場合は、リセット後にINQUIRYコマンドとREAD CAPACITYコマンドが失敗し、電源を再投入するまで使用できません。

ポートから電力が供給され、USBハブがポートごとの電力制御をサポートしている場合、プラグを抜かずにデバイスの電源を再投入できます。これは、電力を制御する小さなプログラムです。

http://marc.info/?l=linux-usb-devel&m=113724451205634

残念ながら、この機能をサポートするUSB​​ハブはほとんどなく、それをサポートするUSB​​ハブを見つけるのは非常に困難です。メーカーはそれを宣伝しません。たとえば、「lsusb -v」を実行すると、「wHubCharacteristic」でアドバタイズされた「ポートごとの電源切り替え」が表示されますが、実際には機能しません。チップセットはそれをサポートしているかもしれませんが、チップセットを経由する代わりに、メーカーがポート電源ピンを直接電源に接続する方が簡単/安価でした。

6
user6223

私は この答え が私のGentooシステムでうまく機能することを発見しました。システム(マウスやキーボードなど)の重要な部分である場合は、デバイスを再度有効にすることも忘れないでください。

Sudo sh -c 'AUTHFILE="/sys/bus/usb/devices/5-2/authorized" ; echo 0 > "$AUTHFILE" ; sleep 1 ; echo 1 > "$AUTHFILE"'

無効化/再有効化するものを確認するには:

cat /sys/bus/usb/devices/5-2/product
5
Avio

上記の提案のほとんどを試しましたが、うまくいきませんでした。コマンドラインからUSBデバイスをリセットする方法を見つけました: https://askubuntu.com/a/290519

echo $i >/sys/bus/pci/drivers/ehci_hcd/bind

ここで、$iには、/sys/bus/pci/drivers/ehci_hcdの適切なデバイスIDを使用できます。

4
Kakanakov

以下はUSBデバイスを切断します。

Sudo eject /dev/sde

以下は、USBデバイスを再接続します。

Sudo eject -t /dev/sde

上記は私のLinux Mintで動作します。
参照: http://www.upubuntu.com/2011/09/how-to-remount-usb-stick-without.html

1
Matthew Wai