udev 설정으로 ttyUSB0 을 ttyS${num}으로 변경하기
- 필자는 maxon EPOS driver에 FTDI 장비로 통신 할 경우 해당 이슈가 발생하였다.
- maxon 모터의 RS232는 ttyS${num} 으로만 포트를 세팅하도록 되어 있는 것 같다. EPOS Linux Library (ARM/Intel 32/64-Bit) (english, ZIP 7MB)
우선 장치를 확인하자!
Vendor ID, Product ID 확인
~$ lsusb
#Bus 002 Device 026: ID 0442:6002 Future Technology Devices International, Ltd FT232 Serial (UART) IC
#xxxx:xxxx 에서 앞이 Vendor ID, 뒤가 Product ID
위 출력에서 0442:6002
는 [VendorID]:[ProductID]
이다.
장치 고유의 Serial 확인
~$ udevadm info -a -n /dev/ttyUSB0 | grep '{serial}' | head -n1
99-${sub}-serial.rules 문서 작성/수정
~$ cd /etc/udev/rules.d
~$ sudo gedit 99-usb-serial.rules
- 내용 추가:
SUBSYSTEM=="tty", ATTRS{idVendor}=="여기 Vendor ID", ATTRS{idProduct}=="여기 Product ID", ATTRS{serial}=="여기 Serial", SYMLINK+="ttyS99"
- udevadm 다시 읽기
sudo udevadm control --reload-rules
- USB 장치 제거 후 다시 연결
- 장치명 부여 확인
sudo ls -l /dev/tty99
- 결과:
lrwxrwxrwx 1 root root 7 12월 15 20:11 /dev/ttyS99 -> ttyUSB0