baseciq.org

Linux i SDI

To był wielki początek mojej przygoty z linuksem. Wywalnie WinRoute, instalacja linuksa, kupa bólu i czytania i w końcu... Udało się! Ciekawe czy ktokolwiek dzisiaj jeszcze umiałby to tak z marszu obsłużyć...

Terminal HIS/SDI jest niczym innym jak bardzo fajnym modemem, a jego konfiguracja pod Linuxem jest bardzo prosta.

Na pierwszy ogień idzie plik /etc/sysconfig/network-scripts/chat-ppp0. Jeżeli go nie ma, polecam go stworzyć komendą touch /etc/sysconfig/network-scripts/chat-ppp0. Później edytujemy go jakimś edytorem (mcedit, vi, pico, joe) i wstawiamy do niego dwa apostr ofy. Nie wiem jak w innych dystrybucjach, ale w RedHat 6.0, 6.2 i 7.0 nie musiałem tego pliku tworzyć ;)

Następna ofiara naszego edytora tekstowego to: /etc/ppp/pap-secrets. Wyrzucamy tam wszystko i wpisujemy:

login * hasło adres_ip

Login – login jaki nam przydzieliła tpsa. Gwiazdka to gwiazdka i ma tam być ;). Hasło – wpisz ‘ala^m4^k0tk4$!’ – może zadziała, a jak nie to wpisz swoje normalne hasło, natomiast pojęcia ‘adres_ip’ chyba nie muszę tłumaczyć. Powinien być na umowie o SDI. Teraz trzeba stworzyć plik startowy który będzie uruchamiał pppd. Wchodzimy do /etc/rc.d i tworzymy sobie plik rc.his (touch rc.his). Po czym wpisujemy w nim:

#!/bin/sh
pppd /dev/ttyS* 115200 modem defaultroute lock crtscts noauth user twój_login

W miejsce gwiazdki wstawiasz numer portu COM – 0 dla COM1, 1 dla COM2, itd. Wystarczy nadać prawa do wykonywania tego pliku (chmod u+x /etc/rc.d/r c.his) i możemy uruchomić komendą ‘/etc/rc.d/rc.his’. Teraz dopisujemy do /etc/rc.local:

if [ -x /etc/rc.d/rc.his ]; then
        /etc/rc.d/rc.his
fi

Spowoduje to automatyczne uruchamianie SDI podczas startu komputera. Połączenie z internetem mamy, przydało by się jeszcze DNS skonfigurować w pliku /etc/ resolv.conf:

search sdi.tpnet.pl
nameserver 194.204.159.1
nameserver 194.204.152.34

Powinno działać. Okej, skoro połączenie z netem mamy, to teraz sieć lokalna. Ale to już w innym tekście.

A co zrobić by zapobiec zrywaniu połączenia?

Są dwa sposoby – skrypt w crontabie pingujący np najbliższy router tpsa – ta metoda zapobiegnie temu gdy daemon pppd sobie nagle zdechnie z niewiadomych przyczyn. Druga metoda to odpowiednie parametry pppd by podtrzymywał połączenie za wszelką cenę i je ponownie uruchamiał gdy np. zostanie zerwane z przez TP S.A. (reset półki od SDI, awaria zasilania samego terminala itp.). Zamiast:

pppd /dev/ttyS* 115200 modem defaultroute lock crtscts noauth user twój_login

piszemy:

pppd /dev/ttyS* 115200 modem defaultroute noauth crtscts lock \
persist maxfail 0 lcp-echo-interval 10 lcp-echo-failure 10 user twój_login

A jak to zrobić w PLD?

Za irc.pld-linux.org: Jest to dość proste zadanie. Należy utworzyć plik nowego interfejsu w /etc/sysconfig/interfaces. Ja go nazwałem sdi, czyli tworzymy plik ifcfg-sdi w podanym wcześniej katalogu. Plik ten powinien zawierać mniej więcej takie dane:

DEVICE=ppp0
ONBOOT=yes
MODEMPORT=/dev/ttyS0

Oczywiście ttyS0 odpowiada portowi COM1, więc dla sdi na COM2 zmieniamy to na ttyS1. ONBOOT=yes uruchomi nam interfejs przy starcie systemu automagicznie. Drugim interesującym nas plikiem jest /etc/ppp/options.ttyS0 (opcje ppp tylko dla portu COM1, jeśli nie masz tego pliku w systemie to należy go utworzyć):

crtscts
defaultroute
lock
modem
115200
noauth
persist
noccp
user nazwa_naszego_usera_otrzymanego_od_tpsa

Ostatnim plikiem który musimy zmodyfikować jest /etc/ppp/pap-secrets w który wygląda mniej więcej tak:

nazwa_naszego_usera_otrzymanego_od_tpsa * password adres_ip

W tym momencie password to standardowe hasło jakie daje tpsa przy uruchomieniu usługi jeśli macie inne to również je należy zmienić. Po wydaniu komendy "ifup sdi", powinniśmy mieć już podłączenie do Internetu.