Huawei E272 jako zapasowe łącze routera OpenWRT

Niedawno opisałem instalację “mydelniczki” DSL Thomson SpeedTouch 330 w OpenWRT. Tym razem instalujemy “mydelniczkę” trzeciej generacji – Huawei E272 – jako zapasowe łącze w routerze.

Konfiguracja źródeł i kompilacja

W pliku .config włączamy program chat odpowiedzialny za komunikację z modemem oraz sterownik portów szeregowych na magistrali USBusbserial. Możemy włączyć też moduł option lub inny odpowiedni dla naszego modemu. Pozostałe ustawienia pozostawiamy niezmienione. Można dodatkowo zainstalować microcom, aby ułatwić sobie ewentualne “ręczne sterowanie” modemem.

CONFIG_PACKAGE_chat=y
CONFIG_PACKAGE_kmod-usb-serial=y
CONFIG_PACKAGE_kmod-usb-serial-option=y
CONFIG_PACKAGE_microcom=y

Rekompilujemy i instalujemy OpenWRT. (Ewentualnie można doinstalować brakujące pakiety do istniejącej instalacji OpenWRT za pomocą opkg.)

Port szeregowy

Ponieważ modem GPRS po podłączeniu nie jest przypisywany przez system do żadnego sterownika (w Debianie obsługuje go moduł option, jeśli go nie włączymy możemy użyć ogólnego sterownika portu szeregowego na USB). Dopisujemy w pliku /etc/modules.d/60-usb-serial opcje vendor i product oraz maxSize.

usbserial vendor=0x12d1 product=0x1001 maxSize=4096

Po tej operacji należy ponownie załadować moduł usbserial poleceniem:

# rmmod usbserial
# insmod /lib/modules/`uname -r`/usbserial.ko vendor=0x12d1 product=0x1001 maxSize=4096

Skrypty chata

Do inicjacji modemu należy użyć skryptów programu chat. Należy stworzyć katalog, np. /etc/chatscripts.

# mkdir /etc/chatscripts

A następnie w stworzonym katalogu utworzyć pliki /etc/chatscripts/iplus i /etc/chatscripts/iplus-off o następującej zawartości:

/etc/chatscripts/iplus:

TIMEOUT 10
ECHO ON
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
ABORT "BUSY"
'' 'rATZ'
CLR_ABORT "ERROR"
OK AT+CPIN=1234
'' AT+CGDCONT=1,"IP","www.plusgsm.pl"
OK ATD*99#
ABORT "ERROR"
CONNECT ``

/etc/chatscripts/iplus-off:

ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
ABORT "BUSY"
"" "K"
"" "+++ath"

W pierwszym skrypcie należy ustawić własny PIN. Cała ta dziwna sekcja zaczynająca się od CLR_ABORT służy do ignorowania odpowiedzi ERROR modemu podczas ponownego łączenia, czyli gdy karta SIM jest już odblokowana.

Konfiguracja połączenia

Aby skonfigurować połączenie GPRS (albo EDGE lub HSDPA, ponieważ tutaj o typie połączenia decyduje modem) dodajemy do pliku /etc/config/network:

config interface backup
        option ifname "ppp0"
        option proto ppp
        option device /dev/ttyUSB0
        option connect "/usr/sbin/chat -v -f /etc/chatscripts/iplus"
        option disconnect "/usr/sbin/chat -v -f /etc/chatscripts/iplus-off"

Aby połączenie to uczynić domyślnym połączeniem WAN zmieniamy linię config interface backup na config interface wan.

Aby używać zapasowego łącza wydajemy komendy:

# ifdown wan
# ifup backup

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.