Linux and IrDA

고객지원 지식기반 (irda)
적용 범위

SuSE Linux: 버전 이래로 6.3

Request:

인프라레드 포트를 사용하는 장치를 연결해서 사용하고 싶습니다.

Background

거의 모든 노트북과 몇 몇 주변 장치들에서는 무선 통신을 위한 적외선 포트를 포함하고 있 습니다. Infrared Data Association의 IrDA 프로토콜이 이러한 장치를 사용한 통신의 표준이 되어 있습니다.

리눅스에서의 IrDA 프로토콜의 채택에 관한 정보는 다음 웹 페이지들에서 찾을 수 있습니 다.
http://www.cs.uit.no/linux-irda/ http://www.snafu.de/~wehe/IR-HOWTO.htm PC에 장착된 거의 모든 적외선 포트들은 시리얼 포트와 같은 방법으로 다룰 수 있습니다. 이것은 리눅스의 시리얼 포트 드라이버가 적외선 포트를 검색해서 컴퓨터상의 여느 다른 시 리얼 포트에서와 마찬가지로 환경설정을 해 준다는 것입니다. 적외선 포트의 사용은 시리얼 포트 드라이버에 접속하는 커널 모듈이 추가로 있기 때문에 가능합니다.

IrDA 프로토콜을 사용하는 대부분의 장치들 사이의 통신은 리눅스에서 지원되고 있습니다. 자세히 말하면 다음 프로토콜들이 지원을 받고 있습니다.

Prerequisites:

적외선 포트의 지원은 수세 리눅스 6.3 이후부터 되고 있습니다. 미리 설정된 irda 패키지 에는 SIR 적외선 포트 호환 UART를 사용하는 대부분의 적외선 포트들을 시스템에 통합시 켜 줄 수 있습니다. 커널이 필요한 모든 모듈들은 kernmod 패키지에 들어 있습니다.

Configuring the Port

적외선 포트가 사용하고 있는 I/O 주소와 IRQ 인터럽트를 체크하십시오. /dev/ttyS1과 인터 럽트 3이 디폴트로 설정되어 있습니다.(즉, 디폴트 I/O 주소는 0x2f8이 됩니다.)

이러한 요구 조건들이 만족되면 이제 시작할 수 있습니다. IrDA는 rcirda start 명령으로 시 작됩니다. 이렇게 시작한 다음에는 irdadump 명령으로 모든 것이 제대로 동작하고 있는지 체크할 수 있습니다. 만약 모든 것이 제대로 돌아간다면 매 3초마다 다음 결과가 모니터에 나타나야 합니다.

erda:~ # irdadump
13:42:57.118679 xid:cmd d04496e2 > ffffffff S=6 s=0 (14)
13:42:57.208957 xid:cmd d04496e2 > ffffffff S=6 s=1 (14)
13:42:57.298645 xid:cmd d04496e2 > ffffffff S=6 s=2 (14)
13:42:57.388923 xid:cmd d04496e2 > ffffffff S=6 s=3 (14)
13:42:57.478670 xid:cmd d04496e2 > ffffffff S=6 s=4 (14)
13:42:57.568914 xid:cmd d04496e2 > ffffffff S=6 s=5 (14)
13:42:57.658705 xid:cmd d04496e2 > ffffffff S=6 s=* erde hint=0500 [ PnP Comput
er ] (23)
이것들은 소위 디스커버리 패키지라고도 합니다.((exchange station identification fram - xid)적외선 포트를 가진 다른 장치가 보이면 xid 패키지는 다시 리턴되면서 다음 메시지를 띄웁 니다.
09:12:56.756986 xid:cmd 84663133 > ffffffff S=6 s=0 (14)
09:12:56.846938 xid:cmd 84663133 > ffffffff S=6 s=1 (14)
09:12:56.936963 xid:cmd 84663133 > ffffffff S=6 s=2 (14)
09:12:57.026938 xid:cmd 84663133 > ffffffff S=6 s=3 (14)
09:12:57.116931 xid:cmd 84663133 > ffffffff S=6 s=4 (14)
09:12:57.206934 xid:cmd 84663133 > ffffffff S=6 s=5 (14)
09:12:57.286939 xid:rsp 84663133 < 556ecd9e S=6 s=5 BJC-80 hint=8804 [ Printer 
IrCOMM ] (23)
09:12:57.296982 xid:cmd 84663133 > ffffffff S=6 s=* erde hint=0500 [ PnP Comput
er ] (23)
만약 두 번째 장치가 시그널을 받지 않으면 노트북의 하드웨어 세팅(I/O 주소, 인터럽트)을 /etc/rc.config에서 찾아지는 것들과 비교를 해 봅니다. 이때 찾을 변수는 IRDA_PORT, 사 용중인 시리얼 포트, 인터럽트를 리스트해 주는 IRDA_IRQ들입니다.

irdadump의 결과도 주변 장치가 어떤 프로토콜을 지원해 주는지 보여 줍니다. 위에서 예로 BJC-80 장치는 프린터와 IrCOMM을 모두 지원해 줍니다. 그래서 이 경우에는 이 장 치를 /dev/irlpt0 시리얼 포트에 연결된 프린터로 처리할 수 있습니다. 부팅시 IrDA 지원을 시작하도록 하려면 START_IRDA 변수를 /etc/rc.config 파일에 yes로 설정해 줍니다.

Configuring a printer with IrDA support

위에서 한 테스트가 성공적이라면 야스트에서 프린터의 환경설정을 할 수 있습니다.

Configuring a Modem Connection(Example with a Celluar Telephone)

휴대폰에서 모뎀을 사용하기 위해서 다음 명령을 입력합니다.

rm /dev/modem
ln -s /dev/ircomm0 /dev/modem
그러면 minicom이나 wvdial을 사용해서 인터넷 연결을 할 수 있습니다. 모뎀을 정상적인 시리얼 포트 모뎀을 위한 핸드북에 나온 것처럼 환경설정을 해 줍니다. 모뎀이 리눅스에서 사용될 수 있는지는 http;//www.cs.uit.no/linux-irda/hardware.html에 있는 호환 리스트를 살펴 보십시오.

Exchanging Data between Linux Computers

리눅스 컴퓨터들 사이에 데이터의 교환은 IrLAN 프로토콜을 통해서 이루어집니다. 하지만 간혹 통신 파트너를 자동으로 검색하는데 문제가 있을 수 있습니다.

가장 적합한 방법은 시뮬레이트된 시리얼 포트상에서 PPP 프로토콜을 사용하는 것입니다. 두 대의 컴퓨터를 서로 보이는 자리에 위치시킨 다음에 한 컴퓨터에서 PPP 데몬을 시작합 니다. 다음과 같이 해 줄 수 있습니다.

erde:~# pppd /dev/ircomm0 10.0.0.1:10.0.0.2
다른 컴퓨터에서는 pppd를 다음과 같이 시작합니다.
sonne:~# pppd /dev/ircomm0
이것으로 PPP 연결이 시리얼 포트를 시뮬레이트해 주는 적외선 포트상에서 만들어 집니다. sonne 컴퓨터는 erde 컴퓨터(PPP 인터페이스에 의해 IP 주소 10.0.0.1이 주어짐)로부터 IP 주소 10.0.0.2를 받게 됩니다. 다시 말해, ssh, telnet, ftp, nfs 등의 정상적인 네트워크 통 신 프로그램들을 사용해서 sonne 컴퓨터(IP 주소, 10.0.0.1)에서 erde 컴퓨터에 접속할 수 가 있습니다.


키워드: IRDA, LINUR/IR, INFRAROT, INFRARED, NOTEBOOK, LAPTOP

카테고리: , ,

SDB-irda, Copyright SuSE Linux AG, Nrnberg, Germany - 버전: 22. Feb 2001
SuSE Linux AG - 최근에 만들어진 : 22. Feb 2001 에 의해 wimer (sdb_gen 1.40.0)