연결된 USB 장치를 식별하는 방법은 무엇입니까?

연결된 USB 장치를 식별하는 방법은 무엇입니까?

예를 들어, 다음 형식으로 규칙을 작성한다면:

ACTION=="remove", GOTO="serial_end"
SUBSYSTEM!="tty", GOTO="serial_end"

KERNEL=="ttyUSB[0-9]*", RUN+="/<path-to-my-script>/myscript.sh %k"

LABEL="serial_end"

그런 다음 USB 장치를 연결하면 tty해당 장치의 이름, 즉 장치가 설치된 디렉터리를 얻을 수 있습니다 /dev/ttyUSB*.

C 프로그램에서 연결을 모니터링하려는 경우 이 이름을 정확히 어떻게 찾을 수 있습니까?

여기에 이미지 설명을 입력하세요.

dmesg장치를 확인하고 NET에서 커널에 의해 생성된 두 개의 포트를 즉시 볼 수 있습니다 /dev. C에서 이것을 볼 수 있는 API가 있습니까?

라이브러리를 사용해 보았지만 udev장치의 위치를 ​​정의 bus/usb/...하지만 드라이버에서 생성한 직렬 포트의 이름이 필요합니다 ttyUSB*.

udevPS 아니면 장치가 여기에 있다는 것을 알고 라이브러리 아래에서 이 이름을 찾는 것이 가능합니까 /dev/bus/usb/002/047?

관련 정보