관련 이것저것/Linux

[Linux]장치 이름 고정하기

agingcurve 2024. 10. 29. 10:31
반응형

리눅스에서 포트에 USB로 장치를 연결하면 ttyUSB0 과 같이 이름이 할당된다.

한 개의 장치만 연결한다면 크게 문제가 되지 않지만, 여러 개의 장치를 연결할 경우 연결된 순서대로

ttyUSB0 , ttyUSB1 , ttyUSB2 ...와 같이 이름이 부여된다.

 

하지만 위와 같이 순서대로 입력 될 경우, 각 장치가 어떤 장치인지 알기 어려우며, 여러번 테스트 과정중 장치가 꼬인다면 명령어를 반대로 보낼 수 있다.

 

따라서 장치에 이름을 부여해서 장치를 고정하는 방법을 알아보고자 한다.

 

1. 고유 시리얼 이름 알아보기

 

해당 명령어에서 ${device}에 인식하고자 하는 이름을 써주면 된다. ex) ttyUSB0, ttyUSB1 등

udevadm info --attribute-walk --name=/dev/${device} | grep '{serial}' | head -n1

 

내가 원하는 serial의 고유 번호를 알 수 있다.

 

 

2. UDEV rules 설정

장치를 인식할 rule을 설정해 줘야 한다.

rules.d 폴더에서 99가 붙은 rules파일을 하나 만들어 준다. 이쪽 폴더는 반드시 root 권한이 있어야 되기 때문에 sudo를 붙여서 작성해준다.

cd /etc/udev/rules.d
sudo gedit 99-usb-serial.rules

 

{serial}에는 위에서 찾은 serial 번호를, {serial_name}에는 내가 지정하고 싶은 이름을 지정해 준다.

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="{serial}", SYMLINK+="{serial_name}"

 

저장 이후, 리로드 해준다.

sudo reboot or sudo udevadm control --reload