USB 연결 공급업체 ID, 제품 ID 및 버전 보기

USB 연결 공급업체 ID, 제품 ID 및 버전 보기

시스템에 추가 및 제거된 모든 장치를 보고 USB 공급업체 ID, 제품 ID, 버전 및 기타 관련 정보를 확인하고 싶습니다. Linux에서 이 작업을 어떻게 수행할 수 있나요? 사용할 수 있는 로그 파일이 있습니까? tail -f아니면 다른 것이 필요합니까?

답변1

당신은 이것을 할 수 있습니다 udevadm:

udevadm monitor --subsystem-match=usb --property

또는

udevadm monitor --subsystem-match=usb --property --udev

이벤트만 필터링합니다 udev. 특정 속성을 원할 경우 출력 grep버퍼링을 해제해야 합니다 udevadm( stdbuf, script, ... unbuffer와 같은 도구 사용).

stdbuf -i 0 -o 0 -e 0 udevadm monitor --subsystem-match=usb --property --udev | grep DEVPATH

또는

script -q /dev/null -c "udevadm monitor --subsystem-match=usb --property --udev" | grep PRODUCT

또는

unbuffer udevadm monitor --subsystem-match=usb --property --udev | grep -E 'ID_VENDOR_ID|ID_MODEL_ID'

답변2

이 정보는 커널 로그(일반적으로 /var/log/kern.log, 또는 /var/log/syslog다른 파일)에 나타납니다(이는 syslog 구성에 따라 다르며 배포마다 기본값이 다릅니다).

무언가를 사전 필터링하려면 udev 규칙을 추가할 수 있습니다. /etc/udev/rules.d/tkk-log-usb.rules다음 내용으로 파일을 만듭니다 .

SUBSYSTEM=="usb", RUN+="/usr/local/sbin/tkk-usb-event"

프로그램 환경은 다음을 포함하여 장치를 설명하는 다양한 변수로 채워집니다.

  • ACTION( add또는 remove)
  • DEVICE장치의 경로입니다(액세스하려는 경우).
  • ID_MODEL_ID해당 텍스트 ID_VENDOR_ID와 함께 모델 및 공급업체 ID를 포함합니다 .ID_MODELID_VENDOR
  • ID_SERIAL장치의 일련 번호가 포함되어 있습니다(사용 가능한 경우).

답변3

현재 연결된 USB 장치만 모니터링하려는 경우에는 watch --no-title lsusb이것이 적합할 수 있습니다.

관련 정보