누군가 /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
출력은 lsusb
Zigbee 장치가 연결되어 있음을 나타냅니다.
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
관계를 보여주는 심볼릭 링크가 있는 파일 시스템을 사용할 수 있습니다.