Drukuj
Nadrzędna kategoria: Ubuntu
Kategoria: Gotowe rozwiązania
Odsłony: 23647
Gwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywna
 
Ubuntu 9.10 to najgorsza wersja na jakiej przyszło mi pracować. Nigdy przy żadnej dystrybucji tyle się nie narobiłem (i jeszcze się narobię) co przy tej. W tym artykule pokaże jak pozbyć się problemu modemów 3G firmy Huawei. Pomimo zapewnień producenta mojej ulubionej dystrybucji o mobilności i wsparciu 3G, trzeba było się nieźle namęczyć aby znaleźć sposób na działanie tychże modemów.
Modem HuaweiPosiadam modem Huawei E169, który nigdy wcześniej nie sprawiał mi problemów z działaniem. Począwszy od wersji 8.10, w której zacząłem go używać należało go tylko wpiąć w wolny port USB i Network Manager zadawał pytania co zrobić z wykrytym urządzeniem. Wybierało się kraj, provider'a Internetu, podawało adresy DNS i wio. Tym razem nie będzie tak łatwo.
Winowajcą tego stanu rzeczy jest moduł jądra systemu odpowiedzialny za urządzenia USB. Aby przygotować modem do działania należy zrobić nieco więcej niż w poprzednich wersjach Ubuntu. Modem po podłączeniu do Ubuntu 9.10 generuje tego typu błędy:
option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
option 3-2:1.1: device disconnected
lub
option: option_instat_callback: error -108
Zanim włączymy komputer dobrze jest wyciągnąć modem z USB, ponieważ sypie powyższymi błędami, spowalnia start systemu oraz wyłączy nam usplash'a. Poczekajmy aż system się załaduje, a my się zalogujemy do systemu. Teraz podłączamy modem. Network Manager zamarkuje, że się łączy, po czym stwierdzi, że jednak nie da rady. Klikamy Miejsca>Komputer. Menu MiejscaPowinniśmy widzieć wszystkie dyski, które mamy teraz dostępne. Również dysk, który jest przechowywany na modemie. Na nim znajduje się oprogramowanie dla Windows'a. Jeśli mamy Play'a to ikonka powinna się nazywać Napęd CD: PLAY ONLINE. Widzimy również czytnik kart microSD. Tu ukłon do programistów kernela, bo w końcu bez żadnych zabiegów możemy korzystać z tego czytnika. Klikamy prawym przyciskiem myszy na ikonce dysku modemu i na Bezpiecznie usuń napędBezpiecznie usuń napęd. W tym momencie powinien zniknąć nam napęd ze sterownikami z Windows'a i czytnik microSD.
Teraz uruchamiamy terminal i wpiszemy kilka komend. Lub możecie skopiować poniższy tekst do pliku, zapisać go na przykład w /usr/local/bin i używać jako polecenia do uruchamiania netu. Pamiętajmy aby również nadać mu odpowiednie uprawnienia, aby każdy z użytkowników systemu mógł go odczytać, oraz nadać uprawnienia do uruchomienia skryptu.

sudo rmmod usb-storage
sudo modprobe -r option
sudo modprobe -r usbserial
sudo modprobe usbserial vendor=0x12d1 product=0x1001
sleep 2
sudo pppd ttyUSB0
Powyższy skrypt zadziała tylko z Huawei E169, E220 (z tego co mi wiadomo). Jeśli macie inny modem firmy Huawei musicie sprawdzić jakie ma kody. Sprawdzamy je poleceniem lsusb.
Bus 003 Device 006: ID xxxx:yyyy Huawei Technologies Co.
To co wyskoczy nam za xxxx wstawiamy w skrypcie po vendor=0x, a to co będzie yyyy to wstawiamy po product=0x. Więc na przykład jeśli nam wyskoczy Bus 003 Device 006: ID 121d:1003 Huawei Technologies Co. to w odpowiednim miejscu w skrypcie wstawimy sudo modprobe usbserial vendor=0x12d1 product=0x1003.
Teraz po zapisaniu i nadaniu odpowiednich uprawnień, po prostu w terminalu wpisujemy nazwę skryptu, który przed chwilką zapisaliśmy, czyli na przykład e169. Po wydaniu polecenia komputer zapyta nas o hasło. Wpiszemy je i jeśli mamy poprawnie skonfigurowane połączenie w Network Manager'ze powinno się zacząć łączyć. Jeśli nie, to skonfigurujemy je teraz.
Czasem może się zdarzyć, że po poprawnym wpisaniu wszystkich komend modem dalej nie będzie się chciał łączyć. Zazwyczaj pomaga chwila cierpliwości. System w międzyczasie (czego nie widać) może konfigurować urządzenie, po uruchomieniu naszego skryptu. Jeśli i to nie pomaga należy wyciągnąć i włożyć modem jeszcze raz i wybrać z Network Manager'a połączenie. Powinno pomóc.
Następnym razem po ponownym uruchomieniu komputera, wkładamy modem, otwieramy Miejsca>Komputer, usuwamy bezpiecznie dysk z oprogramowaniem do Windows'a, w terminalu wpisujemy nazwę naszego skryptu i powinno się łączyć.
Na następnej stronie odpowiem dlaczego tych czynności nie można zrobić automatycznie na starcie.

Wydawać by się mogło, że aby zautomatyzować proces odłączania dysku z oprogramowaniem Windows'a wystarczyło by użyć polecenia umount. Nic bardziej mylnego. Polecenie to tylko odmontowuje system plików, a nie urządzenie. Po odmontowaniu systemu plików, jest ono dalej widoczne w Komputerze, a moduł usb-storage jest nadal używany. Wtedy polecenie wyłączenia tego modułu się nie powiedzie. Póki co nie znalazłem jeszcze odpowiednika shell'owego do Bezpiecznego usuwania napędu. Jak znajdę takie, będę mógł opublikować skrypt do automatycznego łączenie się z netem.
Mam nadzieje, ze ten stan długo nie potrwa i programiści kernel'a uporają się z tym problemem i po następnej aktualizacji jądra, system automatycznie bez takich zabiegów będzie się łączył z netem. Na razie pozostaje nam ten sposób.
Spodobało Ci się? Udostępnij, przypnij, podziel się z innymi:

Simple Disqus Comments