Ostatnio coraz częściej korzystam z portu szeregowego. Żałuję, że w komputerach przenośnych zrezygnowano z niego (wiem, że USB to też interfejs szeregowy, chodzi mi o stare poczciwe złącze DE-9 jak na zdjęciu obok).
Konwertery, które użytkowałem działały różnie i nieprzewidywalnie. Wszystkie to produkty jakieś firmy krzak, więc nie mam czego reklamować czy piętnować. Obecnie mam pod ręką coś, co pod Linuksem korzysta ze sterownika pl2303 oraz drugi z ftdi_sio. Pod Windows pierwszy po 15 sekundach nieaktywności trzeba odłączać i ponownie wpinać, co na dłuższą metę jest bardzo niewygodne, nie mówiąc już o np. obserwowaniu startu systemu.
Gdzie się da, to w BIOS robię przekierowanie konsoli, ale to raczej funkcjonalność zarezerwowana dla serwerowych płyt głównych. Żaden ‘cienki klient’, którego testowałem nie miał tego (zresztą już nawet w nich nie montują gniazd DE-9). Tam start systemu widać dopiero od momentu startu programu rozruchowego (ang. boot loader).
Dla GRUB konfiguracja (dobre odnośniki w ostatnim wpisie dot. mediaserver) sprowadza się do dodania tekstu w pliku konfiguracyjnym (grub.conf):
kernel=/boot/vmlinuz [...] console=ttyS1,38400
Aby podłączyć się do konsoli, odpowiednio uruchamiamy *getty – zazwyczaj odkomentowanie odpowiedniej linijki w /etc/inittab. Może to wyglądać tak:
s0:12345:respawn:/sbin/agetty 38400 ttyS0 vt100
Domyślna prędkość 9600 przy dłuższej pracy drażni. 38400 to standardowa prędkość konsoli i jest w porządku. Nie należy zapominać o dodaniu konsoli do tych bezpiecznych – w pliku /etc/securetty.
Warto zaznaczyć, że korzystając ze wspomnianych konwerterów nie mamy możliwości ani przekierowania BIOS, ani programu rozruchowego. Sterownik do konwertera ładowany jest przez jądro systemu, a to już za późno.
Przy okazji – zajmuję się inżynierią wsteczną pewnego urządzenia komunikującego się właśnie za pomocą portu szeregowego. Samego urządzenia nie mam. Wiem co robi i mam program, który się z nim komunikuje. Chcę przechwycić transmisję, żeby zbudować inne urządzenie z podobną funkcjonalnością. Niestety w momencie gdy urządzenie nie jest podłączone do komputera lub podłączone jest coś innego (np. inny komputer w trybie nasłuchu) program nie uruchamia się. Podejrzewam, że jest tam jakiś handshake, ale niestety nie widzę nic po drugiej stronie. Szukam więc dobrego sniffer‘a, który pokaże mi co wysyłam, a ja wtedy spreparuję jakąś odpowiedź. Wszelka pomoc w tym zakresie mile widziana.
Tagi: Media Server
http://www.heise-online.pl/networks/features/W-szeregu-zbiorka-960193.html