禁用 USB 端口

禁用 USB 端口

我想让我的电脑停止监听特定的 USB 端口。问题是连接在那里的设备不断断开连接并重新连接。我认为这可能是由于硬件故障造成的。USB 设备是触摸屏。使用该watch命令,我可以验证它是否不断出现和消失。

我尝试过使用 来阻止内核模块,modprobe也尝试过使用 来阻止特定的 USB 设备udev。但似乎都无济于事。我还有什么其他选择吗?

以供参考:

> cat /lib/udev/rules.d/20-block-elan.rules
# ELAN Touchscreen
SUBSYSTEM=="usb", ATTRS{idVendor}=="04f3", ATTRS{idProduct}=="0125", ATTR{authorized}="0"

答案1

您可以禁用特定的 USB 端口。首先查看哪些设备可用:

for device in $(ls /sys/bus/usb/devices/*/product); do echo $device;cat $device;done

这将为您提供已连接设备的列表,例如:

/sys/bus/usb/devices/3-14/product
Logitech G430 Headset
/sys/bus/usb/devices/3-1/product
Razer DeathAdder Elite
/sys/bus/usb/devices/3-2/product
Keyboard G910
/sys/bus/usb/devices/4-3/product
USB 10/100/1000 LAN

如果我想禁用我的鼠标(上面列表中的 Razer DeathAdder Elite),我会输入:

echo suspend | sudo tee /sys/bus/usb/devices/3-1/power/level

如果我想再次打开它:

echo on | sudo tee /sys/bus/usb/devices/3-1/power/level

相关内容