USBデバイス(ドングル)を論理的に取り外すか、切断して再接続するには?

USBデバイス(ドングル)を論理的に取り外すか、切断して再接続するには?

ドングルUSBがサーバーに接続されている場合にのみ機能する商用アプリケーションを購入しました。ところが、たまにアプリがドングルを認識できず動作しない場合がありますが、誰かが物理的にUSBポートからドングルを取り出して再接続すると認識してうまく動作します。

サーバーに43個のモジュールがロードされており、ドングルを接続/取り出してもモジュール数が増減することはありません。

私はまだusbmon0usbmon1そしてusbmon2ファイルは次の場所にあります。/開発者 ドングルの取り出し/取り付け前/後および含まれるファイルの数/開発者ドングルを取り出したり接続したりする前/後は変わりません。

logctl -fドングルを浮かべた後のコマンド:

Jan 19 18:10:28 iwr kernel: usb 2-2.1: USB disconnect, device number 5

logctl -fドングル接続後のコマンド:

Jan 19 18:11:11 iwr kernel: usb 2-2.1: new full-speed USB device number 6 using uhci_hcd
Jan 19 18:11:11 iwr kernel: usb 2-2.1: New USB device found, idVendor=0403, idProduct=c580
Jan 19 18:11:11 iwr kernel: usb 2-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jan 19 18:11:11 iwr kernel: usb 2-2.1: Product: HID UNIKEY
Jan 19 18:11:11 iwr kernel: usb 2-2.1: Manufacturer: OEM
Jan 19 18:11:11 iwr kernel: usbhid 2-2.1:1.0: couldn't find an input interrupt endpoint

ポップで論理的に接続できますか? (コマンド実行、モジュール削除など)

ベストアンサー1

インターネットで見つかった多くの回答(TNWコメントを含む)は、2.6.somethingカーネルに依存するか、/sys/bus/usb/devices/2-2/power/level使用されなくなりました。/sys/bus/usb/devices/2-2/power/control最新のカーネルの場合、推奨手順ドライバをバインド解除してから再バインドすることです。通常、電源サイクルが発生します。

# Find out which driver to unbind
tree /sys/bus/usb/devices/2-2.1 | grep driver
|-- driver -> ../../../../../../bus/usb/drivers/whatever

# Unbind the driver
echo 2-2.1 > /sys/bus/usb/drivers/whatever/unbind

# Rebind the driver
echo 2-2.1 > /sys/bus/usb/drivers/whatever/bind

おすすめ記事