gdzie plik /etc/ppp/chat.plusgsm zawiera komendy AT wysyłane do modemu:
'' ATZ
OK AT+CGDCONT=1,"IP","www.plusgsm.pl"
OK "ATD*99***1#"
CONNECT ''
Jeśli chcemy aby łącze było podnoszone automatycznie po rozłączeniu możemy wywołanie skryptu z wywołaniem pppd umieścić w /etc/inittab, dodając np. na końcu linię:
PP:123456:respawn:/usr/local/bin/gprs.plus.usb
Jeśli karta SIM ma ustawiony PIN należy ustawić go w skrypcie, np. tak:
'' ATZ
TIMEOUT 10
OK AT+CPIN=3141
ERROR AT+CGDCONT=1,"IP","www.plusgsm.pl"
OK "ATD*99***1#"
CONNECT ''
Najprostszą metodą sprawdzania, czy działa łącze, w przypadku braku obsługi protokołu dynamicznego routingu, jest pingowanie hosta i podejmowanie decyzji w zależności od wyników tego testu.
Prosty skrypt może wyglądać tak:
czy=0
ping -c2 156.17.8.1 &&
{
# dziala
echo "pinga";
czy=1
/sbin/ip r |/bin/grep default|/bin/grep -v "10.2.2.1" &&
{
echo "zmieniamy na dialog";
/sbin/ip r d default
/sbin/ip r a default via 10.2.2.1
/bin/date >>/var/log/zmiana.log 2>&1
/bin/echo "wstalo" >>/var/log/zmiana.log 2>&1
}
}
if [ $czy -eq 0 ]
then
# nie dziala
echo "nie pinguje";
/sbin/ip r |/bin/grep default|/bin/grep -v ppp &&
{
echo "zmieniamy na iplusa";
/sbin/ip r d default
/sbin/ip r a default dev ppp0
/bin/date >>/var/log/zmiana.log 2>&1
/bin/echo "awaria" >>/var/log/zmiana.log 2>&1
}
fi
Wcześniej musimy routing do badanego hosta (156.17.8.1) ustawić statycznie przez łącze główne.