USBデバイスをリセットする必要が時々あるかもしれませんが、デバイス自体を外してプラグインせずにソフトウェアでリセットを実行する方法はありますか?
より具体的には、guvcapture
の設定でプレイしすぎると混乱し、正常に戻るにはリセットが必要なウェブカメラがあります。
すべてのデバイスをリセットするために Benjamin Closeのresetusb
プログラム を試すことができます。使用可能なバイナリはありませんが、コンパイルはかなり簡単です。ソースコードをresetusb.c
として保存し、次を実行します。
gcc -lusb resetusb.c -o resetusb
これで、ツールをresetusb
として実行できます。または、@ unhammerは Alan Sternの単一デバイスバージョン をポイントします(さらにいくつかの 使用方法のヒント )。
一部の人々も運が良かった 関連するモジュールを削除してmodprobe
- ingするだけ :
modprobe -vr ehci_hcd
modprobe -v ehci_hcd
(もちろんこれをスクリプト化できます)
一部のディストリビューションには、USBサブシステムを再起動するための独自のツールがある場合もあります。 Mandrakeには/etc/init.d/usb
があるようです。
リセットしたいとしましょう/dev/sdc
。
# udevadm info -q all /dev/sdc | grep DEVPATH
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1.4/2-1.4:1.0/Host2/target2:0:0/2:0:0:0/block/sdc
私は取ります 2-1.4
上記(あなたのものは2-1
-私のデバイスはハブに接続されています)、次の操作を行います:
# echo 2-1.4 > /sys/bus/usb/drivers/usb/unbind
# echo 2-1.4 > /sys/bus/usb/drivers/usb/bind
ハードウェアアブストラクションレイヤーを再起動できます:Sudo /etc/init.d/hal restart