首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何逻辑地弹出/断开和重新连接usb设备(dongle)?

如何逻辑地弹出/断开和重新连接usb设备(dongle)?
EN

Unix & Linux用户
提问于 2016-01-19 15:09:56
回答 1查看 5.1K关注 0票数 10

我们买了一个商业应用程序,只有当他们的dongle usb连接到服务器时才能工作。然而,有时应用程序无法识别dongle,因此它无法工作,但是如果有人从USB端口上实际地弹出该dongle并重新附加它,它将识别并正常工作。

有43个模块加载在服务器上,附加/弹出模块不增加/减少模块数。

我还有usbmon0、usbmon1和usbmon2文件在/dev中,在弹出/弹出/附加dongle之前/之后,/dev中的文件数在弹出/附加dongle之前/之后不会改变。

弹出dongle后的-f命令:

代码语言:javascript
复制
Jan 19 18:10:28 iwr kernel: usb 2-2.1: USB disconnect, device number 5

附加dongle后的-f命令:

代码语言:javascript
复制
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

我能弹出然后在逻辑上附加它吗?(发出命令、删除模块等)

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 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开始就被废弃的。对于较新的内核,建议程序将解除绑定并重新绑定其驱动程序,这通常会导致一个功率周期:

代码语言:javascript
复制
# 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
票数 12
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/256331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档