我们买了一个商业应用程序,只有当他们的dongle usb连接到服务器时才能工作。然而,有时应用程序无法识别dongle,因此它无法工作,但是如果有人从USB端口上实际地弹出该dongle并重新附加它,它将识别并正常工作。
有43个模块加载在服务器上,附加/弹出模块不增加/减少模块数。
我还有usbmon0、usbmon1和usbmon2文件在/dev中,在弹出/弹出/附加dongle之前/之后,/dev中的文件数在弹出/附加dongle之前/之后不会改变。
弹出dongle后的-f命令:
Jan 19 18:10:28 iwr kernel: usb 2-2.1: USB disconnect, device number 5附加dongle后的-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我能弹出然后在逻辑上附加它吗?(发出命令、删除模块等)
发布于 2016-01-19 16:19:22
在互联网上找到的许多答案(包括TNW评论中的答案)都依赖于/sys/bus/usb/devices/2-2/power/level或/sys/bus/usb/devices/2-2/power/control,这两种方法都是从2.6开始就被废弃的。对于较新的内核,建议程序将解除绑定并重新绑定其驱动程序,这通常会导致一个功率周期:
# 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/bindhttps://unix.stackexchange.com/questions/256331
复制相似问题