리눅스 장비에 usb to serial 장치 14개를 붙여서 진행하는 프로젝트가 있었다.
프로젝트 도중 usb serial port가 0~5번까지는 open이 되는데 6번 이상의 port들은 open이 안되는 현상이 계속해서 나타났다.
한참 개고생하다가 지인의 도움으로 해결했다. ㅋ
이럴 땐 "ls -al /dev/ttyUSB*"를 해본다.
디바이스 파일들이 0~5번까지만 생성되어 있기 때문에 open 되지 않았던 것이다.
mknod 유틸을 이용해서 6번부터 13번까지 생성함으로 써 이 문제는 깨끗하게 해결되었다(디바이스 파일은 create()함수를 사용하지 않고 mknod 유틸을 이용해야 한다).
프로젝트 도중 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
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 [디바이스파일명] [디바이스타입] [주번호] [부번호]
* 여기서 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
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
'Linux' 카테고리의 다른 글
AWS 관련 서버 세팅 (0) | 2015.11.24 |
---|---|
Linux Kernel 쪽에서 가장 유망한 분야는? (0) | 2010.12.14 |
리눅스에서 tar를 이용해서 백업/복구하기 (0) | 2010.04.06 |
USB Memory mount하기 (0) | 2010.04.02 |
C에서 IP, Subnetmask, Gateway 변경하기 (0) | 2010.04.01 |