![Udev 규칙은 알려진 USB 장치가 내 허브를 감지하지 못하도록 허용합니다.](https://linux55.com/image/97003/Udev%20%EA%B7%9C%EC%B9%99%EC%9D%80%20%EC%95%8C%EB%A0%A4%EC%A7%84%20USB%20%EC%9E%A5%EC%B9%98%EA%B0%80%20%EB%82%B4%20%ED%97%88%EB%B8%8C%EB%A5%BC%20%EA%B0%90%EC%A7%80%ED%95%98%EC%A7%80%20%EB%AA%BB%ED%95%98%EB%8F%84%EB%A1%9D%20%ED%97%88%EC%9A%A9%ED%95%A9%EB%8B%88%EB%8B%A4..png)
알려진 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