Rozwiązanie ma na celu uruchomienie połączenia przez sieć komórkową przy wykorzystaniu modemu lub telefony ze złączem USB. Całość przetestowano dla Asusa WL-500gP + telefon Nokia E51 z kablem USB oraz Kamikaze 7.09.
Do poprawnego działania należy wcześniej zainstalować pakiety do obsługi USB.
Podstawowym pakietem jest usbserial zapewniający połączenie z telefonem/modemem
opkg install kmod-usb-serial
Po podłączeniu telefonu/modemu do usb należy sprawdzić czy urządzenie zostało poprawnie wykryte - powinien pojawić się w logu odpowiedni wpis
usb.c: registered new driver serial usbserial.c: USB Serial support registered for Generic usbserial.c: Generic converter detected usbserial.c: Generic converter now attached to ttyUSB0 (or usb/tts/0 for devfs) usbserial.c: Generic converter detected usbserial.c: Generic converter now attached to ttyUSB1 (or usb/tts/1 for devfs) usbserial.c: USB Serial Driver core v1.4
Jeżeli widnieje wpis typu
hub.c: new USB device 01:03.0-2, assigned address 3 usb.c: USB device 3 (vend/prod 0x421/0x42) is not claimed by any active driver.
zależy zmodyfikować plik /etc/modules.d/60-usb-serial i dodać opcje vendor/product zgodnie z wartościami które widnieją w logu, np.
usbserial vendor=0x421 product=0x42
Dodatkowo należy zainstalować pakiety do połączeń ppp
opkg install kmod-ppp ppp chat comgt
W pliku /etc/config/network należy dodać nową sekcję w następującej postaci
config interface hsdpa option device "/dev/usb/tty/0" option proto "3g" option apn "www.plusgsm.pl"
Opcja APN może być różna dla różnych operatorów: Plus
option apn "www.plusgsm.pl"
lub
option apn "internet"
Era
option apn "erainternet"
Orange
option apn "internet"
Jeżeli dany operator wymaga hasła, należy zmienić koniec pliku /lib/network/3g.sh na następującą
connect "USE_APN=\"$apn\" /etc/ppp/3g.connect" \
${mtu:+mtu $mtu mru $mtu} \
user "erainternet" \
password "erainternet" \
460800 "$device"
}
Oczywiście user/password należy podać stosowanie do operatora.
Zamiast dodania nowej sekcji można zmodyfikować sekcję wan, wtedy domyślnie będzie uruchamiane połączenie GPRS.
Sprowadza się do wydania jednego polecenia
ifup hsdpa
Zakończenie
ifdown hsdpa
Po uruchomieniu po kilku sekundach powinien pojawić się interfejs ppp0 oraz domyślna trasa powinna wskazywać na ppp0
root@OpenWrt:# ifconfig [...] ppp0 Link encap:Point-to-Point Protocol inet addr:77.112.61.221 P-t-P:10.6.6.6 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:746 errors:0 dropped:0 overruns:0 frame:0 TX packets:4711 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:41745 (40.7 KiB) TX bytes:1712493 (1.6 MiB)
root@OpenWrt:# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.6.6.6 * 255.255.255.255 UH 0 0 0 ppp0 [...] default 10.6.6.6 0.0.0.0 UG 0 0 0 ppp0
Podczas uruchomienia połączenia mogą pojawić się rożne błędy, nie należy się nimi przejmować (związane są z trochę innym przeznaczeniem pakietu comgt, który obsługuje to połączenie)
