我想让我的电脑停止监听特定的 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