Udev 规则允许已知 USB 设备检测不到我的集线器

Udev 规则允许已知 USB 设备检测不到我的集线器

我添加了一条 udev 规则,该规则仅允许已知的 USB 设备,但它不会授权我的集线器,因此每个 USB 端口都未经授权。这是我的集线器 udev 规则:

# Skeep not USB
SUBSYSTEM!="usb", GOTO="usb_end"
# Skeep remove actions
ACTION=="remove", GOTO="usb_end"

    # 2.0 root hub
    SUBSYSTEMS=="usb", ACTION=="add", ATTR{product}=="EHCI Host Controller", ATTR{serial}=="0000:00:1a.0", \
      ATTR{idVendor}=="1d6b", ATTR{idProduct}=="0002", ATTR{bDeviceClass}=="09", ATTR{authorized}="1", GOTO="usb_end"
    # Disable all other USB devices
    SUBSYSTEMS=="usb", ACTION=="add", ATTR{authorized}="0"
    
    LABEL="usb_end"

操作系统:Gentoo 强化版

内核:4.7.9-硬化

答案1

您可以通过设置 udev 规则执行脚本来调试 udev 规则。该脚本可以记录各种项目。

例如:$DEVNAME、$ACTION

从 USB 集线器记录所有数据后,您将能够看到缺少哪些设备或缺少哪些信息。

udev 规则,需要 RUN+="/usr/local/bin/log.sh"

在 log.sh 中, env >> /tmp/blabla.log,或 echo "$DEVNAME $ACTION ..." >> /tmp/blabla.log

相关内容