Udev 규칙은 알려진 USB 장치가 내 허브를 감지하지 못하도록 허용합니다.

Udev 규칙은 알려진 USB 장치가 내 허브를 감지하지 못하도록 허용합니다.

알려진 USB 장치만 허용하는 udev 규칙을 추가했지만 내 허브를 인증하지 않아 모든 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"

운영 체제: 젠투 강화 버전

커널: 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

관련 정보