2013년 6월 24일 월요일

사운드그래프 아이몬 리모콘 드라이버의 기억

최근 머지된 리눅스 드라이버 중에 하나가 리모콘 드라이버가 있다. 기존에 LIRC에서 배포되었었던 드라이버가 하나씩 driver/media/rc 아래에 머지되고 있다. 그 중에 한 staging 드라이버 코드의 주석에 잠깐 내 이름이 언급된 걸 보고 생각나는 오래전 이야기.

https://github.com/torvalds/linux/blob/master/drivers/staging/media/lirc/lirc_imon.c#L640

10여년 전, 기억은 나지 않지만 무슨 바람이 불었는지 USB용 IR 리시버와 리모콘이 세트인 제품을 하나 구입했었다. 한국 회사 사운드그래프에서 만든 제품이길래 메일로 리눅스 드라이버 좀 작성해 볼테니 IR 코드랑 리시버 정보 좀 알려달라고 요청했더니 달라는 정보는 안 주고 "..,한번 봅시다 전화..."라는 답을 듣고 황당했던 기억. 답메일로 노땡큐를 날린 다음, USB 인터럽트 데이터를 덤프해 가면서 리눅스 input 드라이버를 작성. 다행히 제조사의 도움 없이 작성될 수 있을 만큼 하드웨어 인터페이스는 간단했다. 별도의 초기화가 없어도 가만히 놔두면 IR 신호를 인터럽트로 알려주는 몹시 단순한 녀석. 단순하다 못해 입력이 없을 때도 인터럽트를 시도 때도 없이 날리는 비효율적인 불량 하드웨어였다.

지금 staging에 들어 있는 lirc 드라이버는 그 때 작성한 드라이버를 보고 다른 사람이 lirc용이 낫지 않겠느냐고 메일을 보냈었고 결국 직접 리시버를 작성한 버전. 지금 생각해 보면 당시에는 USB 리시버 드라이버와 리모콘 드라이버가 합쳐진 내 코드는 방향이 잘못되었고, LIRC 드라이버가 올바른 방향이었다. 그리고 필요없어진 내 코드는 역사 속으로.

http://imonremote.cvs.sourceforge.net/viewvc/imonremote/imon-driver/imon_input.c?revision=1.1&view=markup&pathrev=MAIN

10년이 지난 지금도 이 리모콘 제품은 팔리고 있고, HTPC용 리모콘으로 많이 쓰이는 streamzap 대신 저가형 대안으로 꽤 쓰이는 걸 보면 내가 조금은 기여하지 않았나 싶다. 사운드그래프가 좀 더 협조적이었으면 더 좋은 기억으로 남았을텐데.