如何在Linux中打开和关闭USB连接的设备?

Srv*_*v19 6 linux usb linux-mint trackball

我使用的是 Kensington Expert Mouse(轨迹球),通常可以使用。然而,有时,系统进入睡眠状态后,它会停止对球的运动做出反应。

在 Windows 下,我可以转到设备管理器并禁用-启用该设备,这会导致它再次工作,但在 Linux 下我如何做同样的事情?拔掉设备的插头可以工作,但很烦人。

我的操作系统是 Linux Mint 18。

小智 9

要找出确切的设备,请运行:

$ lsusb
Run Code Online (Sandbox Code Playgroud)

要禁用和启用设备(端口 2 上的 USB 和设备 ID 1):

1)关闭设备ID 2-1:

$ echo '2-1' |sudo tee /sys/bus/usb/drivers/usb/unbind
Run Code Online (Sandbox Code Playgroud)

2)重新打开设备ID 2-1:

 $ echo '2-1' |sudo tee /sys/bus/usb/drivers/usb/bind
Run Code Online (Sandbox Code Playgroud)

或者,如果您只想重置 USB 设备,则绑定/取消绑定可能会很棘手,因为 ID 可能会随着时间的推移而改变,并且您可能会意外选择另一个设备。在这种情况下,您可以使用 lsusb 和 usb_modeswitch 给出的供应商和产品 ID。

Fe:识别无线适配器:

$ lsusb
Bus 001 Device 042: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
Bus 001 Device 035: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式重置 Edimax Technology 的无线适配器:

$ sudo usb_modeswitch -v 0x7392 -p 0x7811 --reset-usb
Run Code Online (Sandbox Code Playgroud)