0. 준비
가. Ubuntu 18.04 및 udev 사용하고 있음
나. eeprom을 통해 일련번호를 설정할 수 있는 시리얼장치가 아님
1) 일반적으로 eeprom이 내장된 시리얼장치는 일련번호를 설정하여 바로 고유이름을 설정하면 됨
2) 본 예시는 eeprom이 없는 CH340G 시리얼 칩으로 가정
다. usb를 통해서 시리얼장치가 연결됨
라. eeprom이 없는 동일한 제조사의 시리얼 장치를 여러 개 연결함
1) 하나의 제조사 또는 동일한 제조사라도 장치명에 대해 유일값을 가지는 것이 있다면 그것을 활용하면 됨
1. 상태 확인
가. dmesg를 통해서 시리얼장치의 이름을 확인할 것
나. 시리얼장치의 장치 연결내역을 확인할 것
1) $ udevadm info --attribute-walk --path=/sys/bus/usb-serial/devices/ttyUSB4
가) 장치의 연결순서를 알려줌
나) ex) pci 장치 > xHCI 장치 > USB 장치(USB허브) > USB 장치(USB허브) 포트 > USB 장치(USB시리얼장치) > USB 시리얼장치
2) 장치를 식별할 수 있도록 시리얼장치면서, 장치가 연결된 usb허브의 순번을 이용함
가) 장치를 아주 구체적으로 확인할 수 있는 값을 이용하는 것이 좋음
나) ex) KERNELS=="1-7.4:1.0" : 시리얼 장치로 매칭되기 전 마지막 연결 상태값
다) ex) DRIVER=="ch341-uart" : 시리얼 장치로 매칭된 마지막 값
2. udev rule 작성
가. ex) 99-test-serial.rules : 파일명
1) ACTION=="add", KERNELS=="1-7.4:1.0", DRIVERS=="ch341", SYMLINK+="driver.1-7.4.ch341"
나. /etc/udev/rules.d 로 파일복사
3. udev 재실행 및 확인
가. $ sudo systemctl restart udev
나. 시리얼 장치를 여러곳에 꽂아보고 실제로 특정 위치에서 driver.1-7.4.ch341가 활성화되는지 확인