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

相關內容