GSM Modemy USB

Z openSUSE wiki

Sposób konfiguracji Modemów GSM na złączu USB, np. Huawei, ZTE, na przykładzie openSUSE 11.2, Gnome, Network Manager i Era Blueconnect

Spis treści

Wymagania do działania:

  • openSUSE 11.2 lub nowszy
  • Jądro systemu !!! Linux sea-star 2.6.31.5-0.1-desktop #1 SMP PREEMPT 2009-10-26 15:49:03 +0100 i686 i686 i386 GNU/Linux
  • modem oparty o USB, np. Huawei E160G, karta SIM, znajomość kodu PIN
  • wolne złącze USB w komputerze
  • NetworkManager

Kilka słów ogólnego wyjaśnienia. Generalnie większość tych modemów jest obsługiwana przez jądro linuksa bez większych problemów. Nie musimy nic robić w tym celu, domyślnie zainstalowany openSUSE 11.2 radzi sobie wspaniale. Jedyne, co konieczne, to odpowiednie skonfigurowanie połączenia GSM w NetworkManager.

Test pod Windows

Nie będę się tu rozpisywał, tylko pokażę, że pod Windows działa i z jaką prędkością. Bc01.jpg - Win test.png

Jak skonfigurować połączenie w Network Manager ?

Najpierw w odpowiedniej sekcji Network Managera (Komórkowe) dodajemy połączenie GSM i wpisujemy tam nr do wydzwonienia przez modem oraz PIN.


Uwaga.png Uwaga:
  • Era: Nr do wpisania to: *99***1#.Należy znać kod PIN. APN nie jest wymagane
  • Play Online: Nr do wpisania to: *99#.Nie trzeba znać kodu PIN. APN to internet
  • iPlus: Nr do wpisania to: *99***1#.Należy znać kod PIN. APN to www.plusgsm.pl
  • Orange Free: Nr do wpisania to: *99#.Należy znać kod PIN. APN to internet.Nazwa użytkownika to internet.Hasło to internet.

Gsm.png - Gsm par.png

Efektem będzie zdefiniowane połączenie. Network Manager.png

Włączamy urządzenie do USB, co się dzieje?

System wykrywa je automatycznie, a NetworkManager samodzielnie zaczyna je obsługiwać. W logach Netork Manager'a możemy przeczytać (choć nie musimy ...)

Feb  6 18:05:54 sea-star NetworkManager: <info>  Found new GSM modem device 'ttyUSB0' (driver: 'option1').
Feb  6 18:05:54 sea-star NetworkManager: <info>  (ttyUSB0): exported as /org/freedesktop/ModemManager/Modems/0
Feb  6 18:05:58 sea-star NetworkManager: <info>  (ttyUSB0): device state change: 1 -> 2 (reason 2)
Feb  6 18:05:58 sea-star NetworkManager: <info>  (ttyUSB0): deactivating device (reason: 2).
Feb  6 18:05:58 sea-star NetworkManager: nm_system_device_flush_ip4_routes_with_iface: assertion `iface_idx >= 0' failed
Feb  6 18:05:58 sea-star NetworkManager: nm_system_device_flush_ip4_addresses_with_iface: assertion `iface_idx >= 0' failed
Feb  6 18:05:58 sea-star NetworkManager: <info>  (ttyUSB0): device state change: 2 -> 3 (reason 0)
Feb  6 18:05:58 sea-star NetworkManager: <info>  Activation (ttyUSB0) starting connection 'BlueConnect'
Feb  6 18:05:58 sea-star NetworkManager: <info>  (ttyUSB0): device state change: 3 -> 4 (reason 0)
Feb  6 18:05:58 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 1 of 5 (Device Prepare) scheduled...
Feb  6 18:05:58 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 1 of 5 (Device Prepare) started...
Feb  6 18:05:58 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 1 of 5 (Device Prepare) complete.
Feb  6 18:05:58 sea-star NetworkManager: <info>  (ttyUSB0): device state change: 4 -> 6 (reason 0)
Feb  6 18:05:58 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 1 of 5 (Device Prepare) scheduled...
Feb  6 18:05:58 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 1 of 5 (Device Prepare) started...
Feb  6 18:05:58 sea-star NetworkManager: <info>  (ttyUSB0): device state change: 6 -> 4 (reason 0)
Feb  6 18:05:58 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 1 of 5 (Device Prepare) complete.
Feb  6 18:06:07 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 2 of 5 (Device Configure) scheduled...
Feb  6 18:06:07 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 2 of 5 (Device Configure) starting...
Feb  6 18:06:07 sea-star NetworkManager: <info>  (ttyUSB0): device state change: 4 -> 5 (reason 0)
Feb  6 18:06:07 sea-star NetworkManager: <info>  Starting pppd connection
Feb  6 18:06:07 sea-star NetworkManager: <debug> [1265475967.205820] nm_ppp_manager_start(): Command line: /usr/sbin/pppd nodetach lock nodefaultroute ttyUSB0 noipdefault noauth usepeerdns lcp-echo-failure 0 lcp-echo-interval 0 ipparam /org/freedesktop/NetworkManager/PPP/0 plugin /usr/lib/pppd/2.4.4/nm-pppd-plugin.so
Feb  6 18:06:07 sea-star NetworkManager: <debug> [1265475967.229596] nm_ppp_manager_start(): ppp started with pid 5087
Feb  6 18:06:07 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 2 of 5 (Device Configure) complete.
Feb  6 18:06:07 sea-star NetworkManager: <info>  (ttyUSB0): device state change: 5 -> 6 (reason 0)
Feb  6 18:06:07 sea-star NetworkManager: <info>  (ttyUSB0): device state change: 6 -> 7 (reason 0)
Feb  6 18:06:14 sea-star NetworkManager: <info>  PPP manager(IP Config Get) reply received.
Feb  6 18:06:14 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 4 of 5 (IP Configure Get) scheduled...
Feb  6 18:06:14 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 4 of 5 (IP Configure Get) started...
Feb  6 18:06:14 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 5 of 5 (IP Configure Commit) scheduled...
Feb  6 18:06:14 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 4 of 5 (IP Configure Get) complete.
Feb  6 18:06:14 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 5 of 5 (IP Configure Commit) started...
Feb  6 18:06:15 sea-star NetworkManager: <info>  (ttyUSB0): device state change: 7 -> 8 (reason 0)
Feb  6 18:06:15 sea-star NetworkManager: <debug> [1265475975.214276] run_netconfig(): Spawning '/sbin/netconfig modify --service NetworkManager'
Feb  6 18:06:15 sea-star NetworkManager: <debug> [1265475975.224476] write_to_netconfig(): Writing to netconfig: DNSSERVERS='213.158.199.1 213.158.199.5'#012
Feb  6 18:06:15 sea-star NetworkManager: <info>  Clearing nscd hosts cache.
Feb  6 18:06:15 sea-star NetworkManager: <info>  Policy set 'BlueConnect' (ppp0) as default for routing and DNS.
Feb  6 18:06:15 sea-star NetworkManager: <info>  Activation (ttyUSB0) successful, device activated.
Feb  6 18:06:15 sea-star NetworkManager: <info>  Activation (ttyUSB0) Stage 5 of 5 (IP Configure Commit) complete.

System samodzielnie zestawił połączenie, a w NetorkManager możemy zobaczyć: Era info.png

W tym momencie mamy internet.

Jak szybko działa pod Linuksem?

Dużo szybciej niż pod Windows... Lin test.png

Połączenie jest, a Internet nie działa

Czyli mimo, że wszystko jest poprawnie, to strony WWW jakoś nie działają.... Zdarza się czasami, że modem mimo poprawnego połączenia nie otrzyma od operatora serwerów DNS, które są odpowiedzialne za tłumaczenie nazw na IP. Rozwiązanie jak na razie znam tylko jedyne:

W pliku /etc/sysconfig/network/config należy znaleźć odpowiednią linijkę i wpisać na sztywno serwery openDNS.

 NETCONFIG_DNS_STATIC_SERVERS="208.67.220.220 208.67.222.222" 

To spowoduje, że jeśli operator nie odda odpowiednich serwerów DNS, to system będzie używał openDNS. Może będzie troszkę wolniej, ale będzie działać.


Ciekawe dyskusje na Forum

Jeśli chcecie poczytać, co doprowadziło do powstania tej strony, to proszę.... Forum 1 Forum 2


Adam