본문 바로가기

Linux/Ubuntu

USB to Serial 사용

우선 이글을 쓰게된 동기는 tinyOS를 설치하고 프로그램을 작성 micaz로 업로딩 하려고 했으나
ttyUSB0,ttyUSB1 장치가 잡히지 않아 컴파일된 파일의 업로드가 불가능 하였습니다.
이리저리 지식을 긁어모아 해결방법을 찾았습니다.
혹시 나중에라도 필요할때가 있지 않을까 해서 글을 남겨봅니다.

리눅스 데스크탑 : 우분투(ubuntu)
먼저 리눅스에서 USB to Serial은 usbcore -> usbserial -> ftdi_sio 순으로 모듈이 연결된다고 합니다.

USB를 연결하고
#lsmod | grep ftdi_sio
를 해보면 ftdi_sio 모듈이 올라와 있는것이 확인되있는데
usb to serial를 꽂는 순간 /dev/ttyUSB0 이 나타났다 사라지는 경우가 생깁니다.

분명히 usb를 꽂았음에도 /dev/에는 장치가 보이지 않습니다.
(이것때문에 몇시간을 고생했습니다.ㅠ.ㅠ)

이경우에는 우선
#cat /var/log/messages
를 하여 메세지를 출력해 봅니다.
그러면 아래 처럼 나올것이다.

usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB0
usb 1-2: usbfs: interface 0 claimed by ftdi_sio while 'brltty' sets config #1
ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
ftdi_sio 1-2:1.0: device disconnected
usb 1-2: usbfs: interface 0 claimed by usbfs while 'brltty' sets config #1
usb 1-2: usbfs: process 7354 (brltty) did not claim interface 0 before use
usb 1-2: usbfs: interface 0 claimed by usbfs while 'brltty' sets config #1
usb 1-2: usbfs: process 7354 (brltty) did not claim interface 0 before use
usb 1-2: usbfs: interface 0 claimed by usbfs while 'brltty' sets config #1
usb 1-2: usbfs: process 7354 (brltty) did not claim interface 0 before use

이부분을 보면 brltty라는 프로그램이 동작된다.
BRLTTY에 대해 찾아본 결과

BRLTTY is a background process (daemon) which provides access to the Linux/Unix console (when in text mode) for a blind person using a refreshable braille display. It drives the braille display, and provides complete screen review functionality. Some speech capability has also been incorporated.

안되는 영어로 해석해본 결과 console의 text mode를 점자터미널로 장님이 사용할수 있게 해준다는 내용? 인것 같다.

이녀석이 usb에 무언가 지장을 주고 있다고 판단했습니다. 아직 이유는 찾지 못했습니다
나중에 시간이 되면 조사를 해보겠습니다.

그렇게 쓸을이 없는 데몬인것같아 일단 지웠습니다.
-관련 프로그램 삭제-
#sudo apt-get remove brltty
#sudo apt-get remove brltty-x11

그리고 다시 USB to serial을 연결

#ls /dev

ttyUSB0 ttyUSB1 이 보입니다!

이 문제가 우분투에만 발생되는 문제인지 아니면 제컴퓨터에만 발생되는 문제인지
알수는 없지만 혹시 나중에 똑같은일이 발생하였을때 조금이나마 해결하는데 도움이 될까해서
기록해봅니다.

그럼 감사합니다!


이제 minicom이라는 녀석을 이용해서 접속하면 된다.

1. minicom 실행


2. ctrl+a를 누르고 z를 누르면 메뉴가 뜬다.


3. 메뉴에서 'o' cOnfigure MiniCom을 누른다.


4. serial port setup을 선택한다.


5. 'a'를 누르고 아까 위에서 찾았던 ttyUSB0를 입력하고 기타 설정도 한다.



6. 현재 설정을 저장한다.


7. 설정을 마치고 나오면 해당 포트로 접속이 되었음을 확인할 수 있다.


* 추가 사항

혹시 다른건 문제가 안되는데 만약 vi로 해당 host를 편집할 때, 저장이 제대로 안된다던가 한다면 분명 host 터미널 장치의 vi가 옵션이 달라서 일거다.

이럴경우 host 터미널의 home/$USER/.bash_profile 또는 /etc/profile에서 다음 한줄을 추가해주자.

TERM=vt100


이러면 시리얼 통신은 문제가 없을 것이다.





'Linux > Ubuntu' 카테고리의 다른 글

StarDict 사전  (0) 2009.01.18
NFS Mount하기  (0) 2009.01.16
폰트 등록  (0) 2009.01.15
우분투에서 nfs mount 하는 방법  (0) 2009.01.14
.bash_profile에서 path 수정하기  (0) 2008.11.24