
我新增了一條 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