Jeśli chodzi o fizyczne podłączenie modemu, to jego instalacja jest analogiczna do zwykłego modemu - tworzymy link /dev/modem wskazujący na port szeregowy, do którego jest podłączony modem. Komunikacja następuje z prędkością 19200 kBps (8N1), jest kontrola przepływu RTS/CTS.
Problem komplikuje się nieco, kiedy chcemy ustawić odpowiadanie modemu na połączenie przy użyciu programu mgetty. Otóż zanim można wykonywać jakiekolwiek operacje, modem musi się zalogować do sieci GSM, ale do tego potrzebny jest kod PIN. Do wprowadzenia kodu PIN służy komenda AT+CPIN="nnnn". Po wprowadzeniu prawidłowego PIN dioda na modemie przestaje migać i zapala się na stałe. Zatem program mgetty przy inicjalizacji modemu musi wprowadzać prawidłowy kod PIN. Można tego dokonać za pomocą opcji -m. Do /etc/inittab należy dopisać następującą linijkę (xxxx oznacza oczywiście kod PIN):
m:345:respawn:/sbin/mgetty -m '"" AT&F&C1&D2S7=55 OK ATS0=1 OK AT+CPIN="xxxx"' -s 19200 /dev/modemPo prawidłowym skonfigurowaniu mgetty komputer będzie automatycznie podawał kod PIN. Pora teraz na skonfigurowanie połączeń z siecią Internet. Sieć EraGSM ma numer dostępowy 0604010101, pod którym znajduje się protokół PPP z autoryzacją PAP. Do katalogu /etc/ppp należy skopiować następujące pliki (wersja dla Era GSM):
Plik pap-secrets:
# Secrets for authentication using PAP # client server secret IP addresses eranet "*" eranet
Plik ppp-on-dialer:
#!/bin/sh # exec chat -v \ TIMEOUT 3 \ ABORT '\nBUSY\r' \ ABORT '\nNO ANSWER\r' \ ABORT '\nRINGING\r\n\r\nRINGING\r' \ '' \rAT \ 'OK-+++\c-OK' ATH0 \ TIMEOUT 30 \ OK ATDT$TELEPHONE \ CONNECT '\n'
Plik ppp-on:
#!/bin/sh TELEPHONE=604010101 # The telephone number for the connection LOCAL_IP=0.0.0.0 # Local IP address if known. Dynamic = 0.0.0.0 REMOTE_IP=0.0.0.0 # Remote IP address if desired. Normally 0.0.0.0 NETMASK=255.255.255.0 # The proper netmask if needed ACCOUNT=eranet export TELEPHONE ACCOUNT DIALER_SCRIPT=/etc/ppp/ppp-on-dialer exec /usr/sbin/pppd lock crtscts /dev/ttyS1 19200 \ defaultroute connect $DIALER_SCRIPT user $ACCOUNTPlik ppp-off:
#!/bin/sh ###################################################################### # # Determine the device to be terminated. # if [ "$1" = "" ]; then DEVICE=ppp0 else DEVICE=$1 fi ###################################################################### # # If the ppp0 pid file is present then the program is running. Stop it. if [ -r /var/run/$DEVICE.pid ]; then kill -INT `cat /var/run/$DEVICE.pid` # # If the kill did not work then there is no process running for this # pid. It may also mean that the lock file will be left. You may wish # to delete the lock file at the same time. if [ ! "$?" = "0" ]; then rm -f /var/run/$DEVICE.pid echo "ERROR: Removed stale pid file" exit 1 fi # # Success. Let pppd clean up its own junk. echo "PPP link to $DEVICE terminated." exit 0 fi # # The ppp process is not running for ppp0 echo "ERROR: PPP link is not active on $DEVICE" exit 1
Ważna jest opcja user programu pppd, która mówi jaki użytkownik ma się łączyć z siecią Internet. Dla sieci Era jest to eranet.
Poprzedni | Spis treści | Następny |
Klient ppp (połączenia wychodzące) oparty o skrypty | Początek rozdziału | Instalacja i konfiguracja SDI |