Huawei E398 & Debian

Posiadam internet iPlus LTE z modemem E398, niestety w necie trzeba trochę poszukać info jak użyć go z terminala. W przeszłości używałem innych modemów Huawei i dobrze one działały z programem wvdial pozwalając mi na korzystanie z internetu bez środowiska graficznego. Do sporządzenia tego artykułu korzystałem z Debiana Wheezy (testing na chwilę obecną).

Potrzebne paczki: wvdial, usb-modeswithch i screen (niekonieczny ale zalecany)

Po instalacji powyższych pakietów należy dodać wpis do przełączania usb z trybu pracy ZeroCD na tryb pracy modemowej. Zazwyczaj nie trzeba dodawać takich wpisów do programu ale niestety dla E398 takiego wpisu nie ma.
Dopisujemy na końcu do /lib/udev/rules.d/40-usb_modeswitch.rules

# Huawei E398
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1505", RUN+="usb_modeswitch '%b/%k'"

Oraz tworzymy plik /etc/usb_modeswitch.d/12d1:1505 z zawartością

########################################################

# Huawei E398

DefaultVendor= 0x12d1
DefaultProduct=0x1505

TargetVendor=  0x12d1
TargetProduct= 0x1506

CheckSuccess=20

# Standard profile
;MessageEndpoint= 0x0f

MessageContent="55534243123456780000000000000011062000000100000000000000000000"

Po tym zabiegu należy zrestartować usługę udev poleceniem

# service udev restart

Jeszcze trzeba skonfigurować wvdial. Plik konfiguracyjny znajduje się w /etc/wvdial.conf
Poniżej moja wersja pliku

[Dialer Defaults]
Phone = *99#
New PPPD = yes
Modem = /dev/ttyUSB0
Stupid Mode = 1
Dial Command = ATDT

[Dialer LTE]
Init1=AT^SYSCFGEX="03",3FFFFFFF,1,2,7FFFFFFFFFFFFFFF,,

[Dialer pin]
Init1 = AT+CPIN=1111

[Dialer iplus]
Baud=460800
Init2=ATZ
Init3=ATE0V1&D2&C1S0=0+IFC=2,2
Init5=AT+CGDCONT=1,"IP","internet";
ISDN=0
Modem Type = Analog Modem
Username = internet
Password = internet

Mała legenda:

Defaults - ustawienia standardowe
LTE - przestawienie modemu do pracy tylko LTE
pin - odblokowanie karty SIM z pinu, należy zmienić 1111 na swój kod pin
iplus - połączenie do internetu

Teraz aby połączyć się z internetem należy wykonać po kolei polecenia

# wvdial pin
# screen -S net wvdial iplus

Przy poleceniu połączenia się do sieci nie trzeba używać screen’a ale jest to wysoce zalecane z kilku powodów

  1. Nie blokujemy sobie terminala (screena można odłączyć od terminala sktótem klawiszowym Ctrl+A D, a podłączyć się do screena możemy poleceniem screen -x net)
  2. Połączenie nie jest przerywane jak zostanie zabity proces rodzica (np. jak wywołujemy komendę przez ssh lub w gnome-terminal)
  3. Bezpieczeństwa – osoba niepowołana może przerwać proces skrótem Ctrl+C i przejść do shell’a roota co jest bardzo niebezpieczne.

Źródła:
Konfiguracja E398
Komendy AT dla modemu