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가 활성화되는지 확인

AND