/dev/ttyACM0 및 lsusb

/dev/ttyACM0 및 lsusb

누군가 /dev/ttyACM0과 lsusb 출력 사이의 연결을 설명할 수 있습니까?

나는 팔로우하고 있다이 메모. "어댑터 위치와 일치하도록 ttyACM0을 업데이트하세요."라는 메시지가 표시됩니다. 여기서 무엇을 해야 할지 모르겠습니다.

lsusb
Bus 002 Device 002: ID 1058:25a3 Western Digital Technologies, Inc. Elements Desktop (WDBWLG)
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0451:16a8 Texas Instruments, Inc. CC2531 ZigBee
Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
simon@simon-itx:~/Downloads/zigbee2mqtt$ usb-devices

답변1

출력은 lsusbZigbee 장치가 연결되어 있음을 나타냅니다.

Bus 001 Device 004: ID 0451:16a8 Texas Instruments, Inc. CC2531 ZigBee

특정 클래스의 USB 장치에는 이제 /dev/ttyACM*장치를 생성할 수 있는 드라이버가 있습니다. 생성될 때마다 증가하는 숫자가 할당되며 이 숫자는 출력과 전혀 관련이 없습니다 lsusb.

내가 본 결과에 따르면 lsusb아마도 이 중 하나만 있을 것입니다. 따라서 이렇게 하면 ls /dev/ttyACM*파일이 표시됩니다 /dev/ttyACM0.

이 경우 다음 파일을 사용하여 컨테이너를 시작하십시오.

docker run \
  --device=/dev/ttyACM0
  ...

이제 끝났습니다.

/dev/ttyACM0및 등 번호가 다른 파일이 여러 개 있는 경우 /dev/ttyACM1다음 단계는 어느 파일인지 확인하는 것입니다. 이를 수행하는 방법에는 여러 가지가 있습니다. 예를 들어 dmesg장치를 연결하자마자 출력을 볼 수 있거나 /sys관계를 보여주는 심볼릭 링크가 있는 파일 시스템을 사용할 수 있습니다.

관련 정보