ドングルUSBがサーバーに接続されている場合にのみ機能する商用アプリケーションを購入しました。ただし、アプリケーションがドングルを認識できない場合があるため、機能しませんが、誰かがドングルをUSBポートから物理的に取り出して再度接続すると、認識して正常に機能します。
サーバーには43個のモジュールがロードされており、ドングルをアタッチ/イジェクトしてもモジュールの数は増減しません。
また、sbmon、sbmon1、sbmon2ファイルが/ devドングルと番号の取り出し/取り付けの前後にあります/ dev内のファイルの数は、ドングルの取り出し/取り付けの前後で変更されません。
journalctl -fドングルを取り出した後のコマンド:
Jan 19 18:10:28 iwr kernel: usb 2-2.1: USB disconnect, device number 5
journalctl -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
取り出して論理的に取り付けることはできますか? (コマンドの発行、モジュールの削除など)
インターネット上で見つかった多くの回答(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