CDMA Internet (ADU-510L)
Ostatnimi czasy przyszło mi zmagać się z różnego rodzaju modemami internetu mobilnego. Nie wszystkie sprawiają jednak problemy. Gdy wsparcie dla GPRS/EDGE nie istniało w Linux postanowiłem zawalczyć i napisać skrypty. Wówczas bez dostępu do Internetu zajęło mi to dwa dni. Dziś mam w rękach modem o nazwie AnyData ADU-510L. Modem dla Internetu CDMA.
SPRAWDZANE POD UBUNTU 9.04 - bez zainstalowanych aktualizacji
Modem jest widziany w systemie, można wykonać połączenie z internetem. A więc w czym problem? Modem nie trzyma połączenia dłużej niż 5 minut. Czasami krócej. Chyba nie muszę wspominać jak bardzo jest to uciążliwe? Poniższy opis wyjaśnia jak rozwiązać ten problem, przy okazji (niestety) rezygnując z funkcjonalności Network Managera. Zamiast tego użyjemy bardzo prostego programiku o nazwie WvDial. Całość opisu oparłem na tej rozmowie. Przy okazji dziękuję Kunal Basu za opis. W przyszłości pokazany tu opis rozwiązania problemu może się zmienić. Bo nie został jeszcze poddany gruntownym testom. Całość opisu była badana pod UBUNTU z jądrem 2.6.28.11. Aby sprawdzić jądro na jakim pracujemy w terminalu wpisujemy:
uname -r
Pierwsza rzecz jaką powinniśmy zrealizować to odpalić terminal. W terminalu wpisujemy
sudo apt-get instal wvdialJEŻELI NIE MAMY MOŻLIWOŚCI PODŁĄCZENIA DO INTERNETU:
wszystkie wymagane pliki można pobrać używając wszystkich wymienionych poniżej linków:
- http://packages.ubuntu.com/jaunty/i386/libxplc0.3.13/download
- http://packages.ubuntu.com/jaunty/i386/libwvstreams4.4-base/download
- http://packages.ubuntu.com/jaunty/i386/libwvstreams4.4-extras/download
- http://packages.ubuntu.com/jaunty/i386/libuniconf4.4/download
- http://packages.ubuntu.com/jaunty/i386/wvdial/download
sudo gedit /boot/grub/menu.lstZnajdujemy te linię:
kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=c41b9f94-e922-4560-8b1e-d213c58bac5a ro quiet splashNa końcu tej linii dodajemy:
usbserial.vendor=0xAAAAA usbserial.product=0xBBBBBZamiast AAAAA i BBBBB wpisujemy informacje, które uzyskujemy z wykorzystaniem komendy:
lsusbW wyniku użycia tej komendy powinniśmy otrzymać coś w rodzaju listingu pokazanego poniżej:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubZ powyższego jesteśmy w stanie odczytać, że Vendor (czyli nasze AAAAA) ma wartość 16d5, product (czyli BBBBB) ma wartość 6502. Cała linia powinna wyglądać tak:
Bus 002 Device 002: ID 16d5:6502 AnyDATA Corporation
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=c41b9f94-e922-4560-8b1e-d213c58bac5a ro quiet splash usbserial.vendor=0x16d5 usbserial.product=0x6502Zapisujemy zawartość. Po tej operacji należy dokonać restartu systemu UBUNTU. W kolejnym kroku przechodzimy do modyfikacji związanych z programem WvDial.
Modyfikujemy plik wvdial.conf:
sudo gedit wvdial.confW pliku tym dodajemy sekcję CDMA i Modem0:
[Dialer cdma]Zapisujemy zmiany i zamykamy gedit. Startujemy program WvDial nadal będąc w konsoli:
Stupid Mode = 1
Inherits = Modem0
Password = twoje_haslo
Username = twoj_login
Phone = #777
[Modem0]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
SetVolume = 0
Modem = /dev/ttyUSB0
Modem Type = Analog Modem
;Baud = 9600
Baud = 3686400
FlowControl = Hardware (CRTSCTS)
Dial Command = ATDT
ISDN = 0
sudo wvdial cdmaOd tej pory możemy korzystać z Internetu. Wszelkie działania opisywane tu i ówdzie w Internecie związane z użyciem usb_modeswitch, w moim przypadku nie zdały egzaminu, problem leży w braku modułu usbserial w kernel 2.6.28-11. Powyższy sposób został przetestowany, ale nie daję głowy uciąć, że będzie działał także u was bez problemu.
