2007년 5월 25일 금요일

키패드와 Text LCD를 로그인으로 사용하기

NetBSD의 gallery란에 Jesse Off 씨가 올린 그림인데 이 그림에 혹해서 사게 된 계기가 되기도 했지만 정말 될까 의심이 많이 되었습니다. 결론은? 된다고 보는게 맞다.


그런데 또 다른 그림을 보면 이렇게 쓰더군요.
그 유명한 toaster 기계. 그런데 잘 보면 입력은 키패드가 아닌 키보드를 연결해서 쓰고 있죠.
그래서 다음 그림을 또 다시 보게 되었죠.



해외 주문해서 살때 가이드가 되어준 그림이기도 한데(저거랑 똑같이 샀음^^) USB 키보드를 연결해 둔 것을 알 수 있습니다.
NetBSD의 놀라운 또한가지의 특이한 사실을 알게 되는 순간이었는데 NetBSD Guide 설명에서 글로만 보았던 Console driver의 놀라운 능력인 Virtual console 기능을 살리고 위와 같이 연결해 두면 키패드, 키보드 두 군데에서 입력받은 문자가 LCD에 출력이 됩니다. 로그인 해서 ls 등등의 명령어도 실행할수 있습니다. 전 여기서 쓰러지는 줄 알았습니다. 너무 기특해서...
CF Card에 설치한 NetBSD에 조금 설정 상태를 바꾸어 주어야하는데 전 다음과 같이 했습니다.
/etc/ttys 변경
--------------
ttyE0 "/usr/libexec/getty Pc" vt220 off secure
ttyE1 "/usr/libexec/getty Pc" vt220 off secure
ttyE2 "/usr/libexec/getty Pc" vt220 off secure
를 다음처럼 변경
ttyE0 "/usr/libexec/getty LCD" vt100 on secure
ttyE1 "/usr/libexec/getty LCD" vt100 on secure
ttyE2 "/usr/libexec/getty LCD" vt100 on secure

/etc/gettytab에 추가
--------------------
LCD:\
:ce:ck:np:im=%s/%m (%t)\r\n:

/etc/rc.conf에 추가
-------------------
wscons=YES

# sh /etc/rc.d/wscons;/etc/rc.d/ttys restart 하면 된다고 했는데 TS-7200 보드에서는 안되는거 같더군요. 재부팅하면 됩니다.
부팅 중이건 기동 중이건 상관없이 USB 키보드를 연결하면 다음과 비슷한 메시지가 console 창에 뜰겁니다. 아래는 logitec 무선 키보드/마우스를 연결한 상황입니다.
uhidev0 at uhub0 port 1 configuration 1 interface 0
uhidev0: Logitech USB Receiver, rev 1.10/38.10, addr 2, iclass 3/1
ukbd0 at uhidev0: 8 modifier keys, 6 key codes
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0
uhidev1 at uhub0 port 1 configuration 1 interface 1
uhidev1: Logitech USB Receiver, rev 1.10/38.10, addr 2, iclass 3/1
uhidev1: 17 report ids
uhid0 at uhidev1 reportid 2: input=6, output=0, feature=0
uhid1 at uhidev1 reportid 3: input=4, output=0, feature=0
uhid2 at uhidev1 reportid 4: input=1, output=0, feature=0
uhid3 at uhidev1 reportid 16: input=6, output=6, feature=0
uhid4 at uhidev1 reportid 17: input=19, output=19, feature=0
ps) Text LCD가 조금만 커도 꽤 쓸만하겠다는 생각이 드네요. 80x24 짜리면 더 없이 좋겠지만... 그리고 저는 LCD에 /dev/ttyE0가 아닌 /dev/ttyE1 이 뜨더군요. 아직 배울게 많은가 봅니다.

댓글 없음: