udev 규칙 없이 USB 장치 이름을 정적 이름으로 바꿉니다.

udev 규칙 없이 USB 장치 이름을 정적 이름으로 바꿉니다.

Arduino 보드가 포트에 연결되어 있고 Ubuntu에서 장치 USB로 인식되었습니다 . ttyACM0Arduino 사이트의 프로그래밍 이유로 인해 장치는 Linux에서 표시되어야 합니다 ttyUB0.

udev이 문제는 다음과 같은 합계 규칙을 사용하여 해결할 수 있습니다.

SUBSYSTEM=="tty", ATTRS{idVendor}=="XXX", ATTRS{idProduct}=="YYY", MODE="0666", SYMLINK+="ttyUSBO"

에 쓰다/etc/udev/rules.d/99-usb-serial.rules

Arduino 보드는 이러한 설정으로 작동하며 모든 것이 괜찮아 보입니다.

하지만 칩을 사용하여 두 번째 장치를 연결하고 싶습니다 FTDI_FT232_USB_UART. Ubuntu는 자동으로 장치를 인식하고 등록합니다 ttyUSB0.

이 시점에서는 Arduino에서 칩 ttyUSB0과 "실제" ttyUSB0장치 로의 심볼릭 링크가 있으므로 혼합되어 있습니다 FTDI. 결과적으로 이러한 장치 중 어느 것도 제대로 작동하지 않습니다.

보려고 했더니 ttyUSB0두 기기의 데이터가 섞여 있는 걸 발견했습니다.

다른 규칙을 작성하여 칩 이름을 바꾸려고 했지만 ttyUSB0장치에 대한 또 다른 심볼릭 링크만 만들 수 있었기 때문에 효과가 없었습니다.FTDIudevttyUSB0

규칙에 따르면 규칙 USB에 따라 장치 이름을 바꿀 수 없습니다.udev문서

USB예를 들어 연결 중에 장치 이름을 정적 이름으로 바꾸는 다른 방법을 찾으려고 했지만 ttyUSBX실패했습니다.

연결 프로세스 중에 칩 기반 장치의 정적 이름을 지정하거나 나중에 Arduino용으로 생성된 기호 링크와 충돌 FTDI하지 않도록 이름을 바꿀 수 있습니까?ttyUSB0

관련 정보