리눅스 장비에 usb to serial 장치 14개를 붙여서 진행하는 프로젝트가 있었다.
프로젝트 도중 usb serial port가 0~5번까지는 open이 되는데 6번 이상의 port들은 open이 안되는 현상이 계속해서 나타났다.
한참 개고생하다가 지인의 도움으로 해결했다. ㅋ

이럴 땐 "ls -al /dev/ttyUSB*"를 해본다.

#ls -al /dev/ttyUSB*
crw-rw-rw- 1 root root 188,  0 2008-11-14 10:19 ttyUSB0
crw-rw-rw- 1 root root 188,  1 2008-11-14 10:19 ttyUSB1
crw-rw-rw- 1 root root 188,  2 2008-11-14 10:19 ttyUSB2
crw-rw-rw- 1 root root 188,  3 2008-11-14 10:19 ttyUSB3
crw-rw-rw- 1 root root 188,  4 2008-11-14 10:19 ttyUSB4
crw-rw-rw- 1 root root 188,  5 2008-11-14 10:19 ttyUSB5

 디바이스 파일들이 0~5번까지만 생성되어 있기 때문에 open 되지 않았던 것이다.

mknod 유틸을 이용해서 6번부터 13번까지 생성함으로 써 이 문제는 깨끗하게 해결되었다(디바이스 파일은 create()함수를 사용하지 않고 mknod 유틸을 이용해야 한다).

mknod 사용법
mknod [디바이스파일명] [디바이스타입] [주번호] [부번호]

* 여기서 usb to serial 장치는 문자형 장치이기 때문에 디바이스 타입에는 c, 주번호는 188을 사용한다.


mknod /dev/usb-tty/ttyUSB6 c 188 6
mknod /dev/usb-tty/ttyUSB7 c 188 7
mknod /dev/usb-tty/ttyUSB8 c 188 8
mknod /dev/usb-tty/ttyUSB9 c 188 9
mknod /dev/usb-tty/ttyUSB10 c 188 10
mknod /dev/usb-tty/ttyUSB11 c 188 11
mknod /dev/usb-tty/ttyUSB12 c 188 12
mknod /dev/usb-tty/ttyUSB13 c 188 13
mknod /dev/usb-tty/ttyUSB14 c 188 14
mknod /dev/usb-tty/ttyUSB15 c 188 15


+ Recent posts