V následujících řádkách je popsáno, jak jsem připojení řešil. Jedná se o kombinaci využití usb_modeswitch a umtskeeper.
Hned v úvodu jsem musel řešit, jak aktivovat modem. K tomu mi pomohl právě usb_modeswitch. Dongle se totiž tváří jako USB zařízení se dvěma funkcemi. Jednak jako paměťové médium, flashdisk - tam jsou uloženy drivery pro instalaci na Windows a jednak jako vlastní modem. Problémem je, že je dongle iniciálně nastavený jako flashdisk a je nutno jej přepnout do režimu modemu.
usb_modeswitch
Instalace
sudo apt-get install ppp usb-modeswitch wvdialKofigurace
V této části je potřeba správně nakonfigurovat pravidlo pro přepnutí na modem po restartu:Do souboru rules:
/lib/udev/rules.d/40-usb_modeswitch.rules
najít a zaměnit odpovídající část následujícím obsahem:
ACTION=="add", SUBSYSTEM=="usb",
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="2000",
RUN+="/usr/sbin/usb_modeswitch -v 0x19d2 -p 0x2000 -V 0x19d2
-P 0x0117 -m 0x01 -M
55534243123456702000000080000c85010101180101010101000000000000"
najít a zaměnit odpovídající část následujícím obsahem:
ACTION=="add", SUBSYSTEM=="usb",
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="2000",
RUN+="/usr/sbin/usb_modeswitch -v 0x19d2 -p 0x2000 -V 0x19d2
-P 0x0117 -m 0x01 -M
55534243123456702000000080000c85010101180101010101000000000000"
kde pro každý model jsou specifické parametry -P -M, které vedou ke správnému přepnutí do modem módu.
Pak nakopírovat soubor 40-usb_modeswitch.rules do /etc/udev/rules.d:
sudo cp /lib/udev/rules.d / 40-usb_modeswitch.rules /etc/udev/rules.d/40-usb_modeswitch.rules
Příkazem lsusb lze zjistit v jakém módu se dongle nachází:
lsusb
Výstup:
Bus 001 Device 4: ID 19d2:2000 ZTE WCDMA Technologies... ... HSDPA/HSUPA - to je flashdisk
nebo
Bus 001 Device 005: ID 19d2:0117 ZTE WCDMA Technologies MSM - to je modem a takto je to správně
UMTSKeeper
Popia UMTSKeeper naleznete na http://mintakaconciencia.net/squares/umtskeeper/Instalace
Instalace se provede následující sekvencí příkazů:
mkdir umtskeeper
cd umtskeeper
wget "http://mintakaconciencia.net/squares/umtskeeper/src/umtskeeper.tar.gz"
md5sum umtskeeper.tar.gz
tar -xzvf umtskeeper.tar.gz
chmod +x sakis3g umtskeeper resetusb
cd umtskeeper
wget "http://mintakaconciencia.net/squares/umtskeeper/src/umtskeeper.tar.gz"
md5sum umtskeeper.tar.gz
tar -xzvf umtskeeper.tar.gz
chmod +x sakis3g umtskeeper resetusb
Konfigurace
Součástí UMTSKeeper je sakis3g, které je asi nejlépe nakonfigurovat v interktivním módu.
sudo ./sakis3g --interactive
Spustí se následující interaktivní mód pro nastavení
Následujícím příkazem umtskeeper lze provést napojení:
sudo ./umtskeeper --sakisoperators "USBINTERFACE='0' OTHER='USBMODEM' USBMODEM='19d2:0117' SIM_PIN='xxxx' APN='CUSTOM_APN' CUSTOM_APN='internet.t-mobile.cz' APN_USER='0' APN_PASS='0'" --sakisswitches "--sudo --console" --devicename ' ZTE WCDMA Technologies MSM' --log --nat 'no'
- musíte samozřejmě správně doplnit pin místo xxxx a pokud nemáte jako operátora T-Mobile, pak také změnit CUSTOM_APN, TMobile nevyžaduje pro přístup na APN jméno a heslo, proto jsou uvedeny 0. Pokud je bude operátor vyžadovat, pak je potřeba patřičně nastavit také APN_USER a APN_PASS.
Automatické spuštění
do /etc/rc.local přidat
/home/pi/umtskeeper/umtskeeper --sakisoperators "USBINTERFACE='0' OTHER='USBMODEM' USBMODEM='19d2:0117' SIM_PIN='xxxx' APN='CUSTOM_APN' CUSTOM_APN='internet.t-mobile.cz' APN_USER='0' APN_PASS='0'" --sakisswitches "--sudo --console" --devicename 'ZTE WCDMA Technologies MSM' --log --silent --nat 'no' &>> /var/log/umtskeeper_error.log
- opět platí, že je potřeba správně doplnit podle popisu výše, minimálně SIM_PIN.
No a tím by mělo být hotovo. Zařízení mi běží automatickém režimu 24x7, po rozpojení se připojení automaticky navazuje, spojení se spolehlivě naváže i po restartu nebo vypnutí a znovu zapnutí. Zatím testuji v kontinuálním provozu více než 9 měsíců a jeví se to jako nadprůměrně spolehlivé řešení.
Použité součásti:
Raspberry Pi Model A s instalovaným Raspbian Jessy LiteDongle ZTE model MF667