Pripojte sa do internetu z mobilnej siete O2 cez Linux!

19.11.2010 08:56 | Články | mirek biňas
V tomto článku si ukážeme, ako je možné použiť mobilný telefón pripojený k počítaču cez USB kábel alebo Bluetooth ako modem pre pripojenie do internetu. Potrebovať budete samozrejme mobilný telefón pripojiteľný k počítaču cez USB kábel alebo Bluetooth a práva správcu systému.
O2 má dnes vo svojej ponuke cenovo veľmi potešujúce balíčky pre možnosť pripojenia sa do internetu z mobilného telefónu. Využitie internetu je však stále čiastočne obmedzujúce kvôli nepohodlnému vstupu z mobilovej klávesnice, ale pre IM klientov a čítanie pošty stačí. Čo tak ale využiť mobilný telefón ako modem na pripojenie počítača do internetu a to celé v prostredí Linuxu? Nuž – poďme na to! Tento návod je robený na distribúcii Ubuntu 9.04 ale platí pre ľubovoľný iný systém (možno len s minimálnymi až žiadnymi zmenami). Použitý bol tiež laptop Dell Vostro 1400 a Nokia 6120 Classic.

Celý proces budeme realizovať prostredníctom konzolových nástrojov. Určite existujú aj nejaké grafické, ale sila konzoly je proste nepopierateľná. Potrebovať budeme niekoľko nástrojov - wvdial, wvdialconf, hcitool, sdptool. Ak sa teda vo vašom systéme nenachádzajú, doinštalujte potrebné balíčky.

Pripojenie prostredníctvom USB

Po pripojení mobilného telefónu s počítačom cez USB kábel začneme utilitou wvdialconf, ktorá vytvorí základnú podobu konfiguračného súboru umiestneného v /etc/wvdial.conf. wvdialconf použite nasledovne: sudo wvdialconf

Výsledná podoba konfiguračného súboru /etc/wvdial.conf môže vyzerať napr. takto:

[Dialer Defaults]
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
; Phone = <Target Phone Number>
ISDN = 0
; Username = <Your Login Name>
Init1 = ATZ
; Password = <Your Password>
Modem = /dev/ttyACM0
Baud = 460800

Pre podrobnejší opis jednotlivých volieb odporúčam pozrieť manuálovú stránku pre súbor wvdial.conf.

To, čo nás bude určite zaujímať, je umiestnenie modemu (/dev/ttyACM0). Takto vygenerovaný súbor však nestačí. Ak sa teraz pokúsite pripojiť pomocou $ sudo wvdial, výsledkom bude trojica chybových hlásení:

- Configuration does not specify a valid phone number.
- Configuration does not specify a valid login name.
- Configuration does not specify a valid password.

Konfiguračný súbor teda doplníme o potrebné informácie vložením (alebo odkomentovaním a upravením) týchto riadkov (pozor - používateľské meno aj heslo je tvorené prázdnym reťazcom medzi dvoma apostrofmi):

Username = ''
Password = ''
Phone = *99#

Po spustení $ sudo wvdial je už výsledok podstatne lepší, ale stále dôjde k zaveseniu a opätovnému pokusu o 40s a zaveseniu a opätovnému pokusu a tak stále dokola. K úspešnému pripojeniu je potrebné ešte doplniť jeden riadok s inicializačným reťazcom: Init3 = At+CGDCONT=1,"IP","o2internet" pričom reťazec o2internet nahraďte názvom pripojenia vášho Access pointu do internetu O2 tak, ako ho máte uvedený v mobile. Podotýkam, že sa nejedná o Connection name (Názov pripojenia), ale o Access point name.

Po uložení konfiguračného súboru sa už môžete pripojiť pomocou príkazu $ sudo wvdial a užívať si internet poskytnutý prostredníctvom vášho (najobľúbenejšieho) mobilného operátora.

Pripojenie prostredníctvom Bluetooth

Pre pripojenie prostredníctvom Bluetooth použijeme už pripravený fungujúci konfiguračný súbor vytvorený v predchádzajúcom kroku, ktorý len upravíme. Celá úprava bude spočívať len v zašpecifikovaní správneho umiestnenia modemu v systéme (aktuálny riadok Modem = /dev/ttyACM0).

Najprv teda spárujte váš mobilný telefón s vašim počítačom. Využiť na to môžete ľubovoľnú aplikáciu v systéme, ktorá to umožňuje (napr. bluetooth-applet). V ďalšom kroku sa pokúsime zistiť MAC adresu mobilného telefónu. Tú zistíme zadaním príkazu: $ hcitool scan. Výsledok môže vyzerať nasledovne:

$ hcitool scan
Scanning ...
        XX:XX:XX:XX:XX:XX       Mirekova fasa nokia

MAC adresa mobilného telefónu je reťazec v tvare XX:XX:XX:XX:XX:XX. Zapamätáme si ju niekde (napr. v Tomboy-ovi alebo Gnote, ale postačí aj osvedčená ceruzka s papierom).

Následne zistíme číslo kanála, na ktorý sa budeme pripájať. Túto informáciu zistíme zadaním príkazu $ sdptool browse XX:XX:XX:XX:XX:XX, kde XX:XX:XX:XX:XX:XX je naša dobre zapamätaná MAC adresa telefónu. Výstup tohto príkazu je pomerne obsiahly a obsahuje informácie o všetkých službách, ktoré zariadenie poskytuje. Nás však zaujíma len číslo kanála (Channel) v časti s názvom Dial-up Networking:

Service Name: Dial-Up Networking
Service RecHandle: 0×10010
Service Class ID List:
  "Dialup Networking" (0×1103)
Protocol Descriptor List:
  "L2CAP" (0×0100)
  "RFCOMM" (0×0003)
   Channel: 4
Language Base Attr List:
  code_ISO639: 0×454e
  encoding:    0×6a
  base_offset: 0×100
Profile Descriptor List:
  "Dialup Networking" (0×1103)
    Version: 0×0100

Teraz už zostáva iba nakonfigurovať Bluetooth. Otvorte súbor /etc/bluetooth/rfcomm.conf vašim najobľúbenejším textovým editorom (vim) a vložte do neho tieto riadky:

rfcomm0 {
    bind yes;
    device XX:XX:XX:XX:XX:XX;
    channel YY;
    comment "Bluetooth device: Nokia 6210 Classic as a modem";
}

kde reťazec XX:XX:XX:XX:XX:XX predstavuje MAC adresu mobilného telefónu a YY predstavuje komunikačný kanál mobilného telefónu. Pre ostatné voľby pozrite dokumentáciu. Aby sa vykonané zmeny prejavili, Bluetooth reštartujeme pomocou $ sudo /etc/init.d/bluetooth restart a v priečinku /dev by malo byť vytvorené zariadenie rfcomm0.

V poslednom kroku už len v konfiguračnom súbore /etc/wvdial.conf nastavíme cestu k mobilnému telefónu pomocou riadku: Modem = /dev/rfcomm0 a môžeme vyskúšať spojenie spustením $ sudo wvdial.

Súčasné využitie oboch typov pripojení

Samozrejme je možné využívať oba typy pripojenia súčasne bez nutnosti nahradzovať jeden typ konfiguračného súboru druhým. Využiť je pri tom možné názvy sekcií konfiguračného súboru, ktorý je v INI formáte. Spojenie oboch konfiguračných súborov do jedného môže vyzerať napríklad takto:

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = At+CGDCONT=1,"IP","o2internet"
Username = ''
Password = ''
Phone = *99#
Modem Type = USB Modem
;Baud = 230400
Baud = 460800
New PPPD = yes
Modem = /dev/ttyACM0
ISDN = 0

[Dialer Bluetooth]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = At+CGDCONT=1,"IP","o2internet"
Username = ''
Password = ''
Phone = *99#
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/rfcomm0
ISDN = 0

V uvedenom konfiguračnom súbore sú k dispozícii dve sekcie:

  1. defaults
  2. Bluetooth

Použitie príkazu wvdial je potom nasledovné:

  1. $ sudo wvdial – bez špecifikovania sekcie bude automaticky použitá sekcia defaults
  2. $ sudo wvdial Bluetooth – špecifikovaním konkrétnej sekcie Bluetooth bude použitá konfigurácia len tejto konkrétnej sekcie

Záver

Podobným spôsobom určite viete tento návod použiť aj pre pripojenie svojich počítačov prostredníctvom mobilu aj do ostatných dvoch mobilných sietí. Ak má niekto takúto skúsenosť a chvíľku času, môže napísať do komentárov pod článok, ako na to. Všetci ostatní – hor sa internetovať!

    • Skvele! 19.11.2010 | 15:33
      Avatar Dare_devil Debian, OpenSuse  Používateľ
      Fakt skvely clanok! Velmi pekne dakujem. Doteraz som to riesil tak, ze som z mobilu vybral kartu ( cim som znefunkcnil telefonovanie a inu pracu s telefonom ), kartu vlozil do Huawei a to pripojil cez USB.
      There is no flag large enough to cover the shame of killing innocent people
      • Re: Skvele! 19.11.2010 | 16:05
        Avatar Milan Dvorský debian,mint kde,android  Administrátor
        vidis a admini na vybrali.sme.sk ho sundali ... ;)
    • ine sposoby 19.11.2010 | 16:08
      Avatar Branislav Poldauf Manjaro, Debian stable  Používateľ
      Clanok som letmo prebehol a vyzera super ale podla mna az prilis zlozite riesenie.

      mne osobne funguju tieto sposoby rychlejsie:

      1.joikuspot alebo iny wifi hotspot (len pre telefony s wifi - skusenosti s nokiami a android HTC telefonmi), bohuzial zerie to baterku
      2.blueman - spravca bluetooth kde staci mobil raz sparovata nasledne len kliknut na DIAL-UP SERVICE, nasledne v network managerovi naklikat BROADBAND pripojenie (je tam uz aj O2), zerie bateriu trochu menej
      3.kabel (u nikii funguje aj pc-suite mode, aj mass storage - u niektorych) a takisto nasledne pouitie network managera, u niektorych telefonov zaroven dobija bateriu.

      otestovane pod ubuntu (vsetky mozne) a LMDE, iba v gnome
      Linux: the operating system with a CLUE... Command Line User Environment
      • Re: ine sposoby 19.11.2010 | 19:51
        Absolutne nespokojny   Návštevník
        NA celom tomto postupe vidno hlbokú zaostalosť celého Linux systému, toto bežný user nezvládne ani keď sa posere....
        • Re: ine sposoby 19.11.2010 | 20:03
          Avatar Milan Dvorský debian,mint kde,android  Administrátor
          na tomto postupe vidno skor zaostalost vyrobcov HW, ktory nedodali patricne "klikatko"/ovladac a pod. ...
        • Re: ine sposoby 19.11.2010 | 20:11
          Avatar Dare_devil Debian, OpenSuse  Používateľ
          Bezni 'useri' nech si ostanu na windowsoch a macoch. Linux nie je pre beznych ludi, ale pre ludi ktori sa snazia rozumiet tomu s cim pracuju. Zaostaly si tak maximalne Ty :)
          There is no flag large enough to cover the shame of killing innocent people
          • Re: ine sposoby 19.11.2010 | 20:20
            Avatar borg Fedora  Administrátor
            ja s nim suhlasim. vzdy sa tu trepe o tom ze linux treba rozsirit. ale takto to asi nepojde. mam dojem, ze linux uz dlhsiu dobu na desktopoch stagnuje.
            • Re: ine sposoby 19.11.2010 | 20:37
              Avatar Branislav Poldauf Manjaro, Debian stable  Používateľ
              mozno stagnuje vyvoj ale podla mna sa doladili detaily, cim dalej tym viac veci funguje "samo od seba" a ubuda drobnosti ktore mi vadili
              myslim ze uz nastal cas na masovejsie rozsirenie linuxu, dovolim si tvrdit ze nastup CLOUD computingu tomu velmi pomoze
              Linux: the operating system with a CLUE... Command Line User Environment
              • Re: ine sposoby 19.11.2010 | 20:44
                Avatar borg Fedora  Administrátor
                zazracna krajina? :) samo od seba funguje aj ked vyvoj stagnuje. to sa mi paci, to si zapamatam. ja mam dojem, ze desktopovy linux prespi aj cloud, aj ked sa mi myslienka cloudu nepaci. ale co uz...
            • Re: ine sposoby 22.11.2010 | 22:09
              jkjk   Návštevník
              co myslis tou stagnaciou desktop linuxu?
        • Re: ine sposoby 19.11.2010 | 20:34
          Avatar Branislav Poldauf Manjaro, Debian stable  Používateľ
          to co som ja napisal zvladne aj bezny user, lebo presne to musi spravit vo windowse/macu (ak nie viac)
          a ked to nevie spravit tak mu to spravi technik a uz mu to pojde
          BTW je na neuverenie na co vsetko si ludia volaju technika ked im daco nejde vo windowse (napr. instalaciu driveru na zvuk - ktory je na stranke vyrobcu)
          Linux: the operating system with a CLUE... Command Line User Environment
          • RE: Re: ine sposoby 03.05.2014 | 10:00
            Avatar Makovnik   Návštevník

            No ja neviem, castokrat by som si veci spravil aj sam (napr. instalacia primitivneho programu, urcite otravne nastavenie) ale musim volat admina len pre to, ze nemam administratorske prava. Ak by som musel robit toto vsetko na linuxe pre jednoduche zdielanie internetu, tiez by som radsej pouzival windows. V podnikovej sfere je preto tak rozsireny lebo tam sa jednoducho musi robit a veci sa musia riesit raz dva tri, nie studovat manualy a tvorit konfiguracne subory pre kazde pc.

        • Re: ine sposoby 19.11.2010 | 22:05
          Avatar Jaroslav Petráš Arch Linux  Používateľ
          A takýto komentár tu napr. vôbec nemusel byť keby autor spomenul napr. network manager u ktorého za použitia GUI odpadá akékoľvek vytváranie/upravovanie konf. súborov. Stačí len naklikať. Ovšem tento komentár tu nemusel byť keby pán "Absolutne nespokojny" poznal UTFG a RTFM.

          Zaujímavé však je ako si tento bežný "usersi" dovolí komentovať hlbokú zaostalosť "Linux systému" keď s ním nemá ani za mak hodnotných skúseností...
          301 Keyboard Error. Press any key to resume or F1 for setup...
          • Re: ine sposoby 20.11.2010 | 23:42
            oldyoyo   Návštevník
            uplne jednoduche, par klikov, vyskusal som pripojenie pred par dnami, pre syna-studenta, na starsom NB msi m510c /ubuntu 10.4/
        • Nesuhlasim 21.11.2010 | 02:55
          Jano   Návštevník
          V skutocnosti je to inac. Mam debian a o2 internet na nom pouzivam skoro kazdy den, ci uz cez bluetooth alebo usb. Cez usb: len zapichnes usb do phonu a pc a iba kliknes na netwokmanager aby pridelil ip. Cez bluetooth: zapnes bt na phone, v gnome kliknes na ikonku bt , pridat zariadenie, sparujes,ono sa ta spyta,ci vyuzivat aj modem a blabla, to iba zaskrtnes a to je vsetko, a ked chces zapnut net ,kliknes pravym na network manager a vyberies o2 net.
      • Re: ine sposoby 08.12.2010 | 13:52
        Julo   Návštevník
        Myslis ze by to rovnako fungovalo aj v KDE?
    • Good Job 19.11.2010 | 23:42
      Avatar Branislav Viest Debian, Ubuntu  Používateľ
      Super článok, hlavne teraz sa mi náramne hodí keďže potrebujem net z mobilu zdieľať s PC.
      • Re: Good Job 28.11.2010 | 13:25
        Milox   Návštevník
        No a ja na mojom SE K610i iba ho pripojim na USB kabel a povolim na nom siet a hotovo. A internet ide.
        • Re: Good Job 29.11.2010 | 13:07
          Avatar LukoV Zenwalk~CRUX~OpenBSD~Haiku  Používateľ
          velmy pekny clanok... ja som jednemu kamaratovi ktoremu som poskladal komp poradil nech si aktivuje za 6eur co je ta sluzba od O2 internet a je velmy spokojny.. na ICQ+Skype, a prezeranie stranok pri stiahnutie aj ked to dlhsie trva nejakeho mensieho suboru radovo do 50mb to uplne staci.. a pritom ziadna viazanost a je to super... odporucam..
    • Doplnenie 04.12.2010 | 20:41
      Avatar Miroslav Bendík Gentoo  Administrátor
      Takže ešte trochu doplním:

      Toto platí pre pre telefóny podporujúce ppp spojenia. Sú aj trochu inteligentnejšie telefóny. Ja sa napr. pripájam jednoduchým zavolaním pand -c bluetooth_zariadenie a potom dhclient bnep0.
    • podakovanie 04.01.2011 | 16:27
      Avatar Miro Ubuntu   Používateľ
      dakujem skvely clanok dost mi to pomohlo
    • PDP context 06.01.2011 | 17:05
      palo   Návštevník
      Zdravim,
      neviete mi niekto poradit? Hladam, ale neviem ako. Vo Win7 to ide.
      Mam USB wyles modem a aj sietovu kartu.
      LCP terminated by peer (PDP context activation failed, no network protocol running
      a v logu je:
      : PAP authentication succeeded
      Jan 6 14:48:33 ubuntu pppd[9673]: sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
      Jan 6 14:48:33 ubuntu pppd[9673]: sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
      Jan 6 14:48:33 ubuntu pppd[9673]: rcvd [LCP ProtRej id=0x2 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
      Jan 6 14:48:33 ubuntu pppd[9673]: Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
      Jan 6 14:48:34 ubuntu pppd[9673]: rcvd [LCP TermReq id=0x3 "PDP context activation failed, no network protocol running"]
      Jan 6 14:48:34 ubuntu pppd[9673]: LCP terminated by peer (PDP context activation failed, no network protocol running)
      Jan 6 14:48:34 ubuntu pppd[9673]: sent [LCP TermAck id=0x3]
      Dakujem
      • Re: PDP context 06.01.2011 | 19:27
        palo   Návštevník
        V /etc/ppp/options som zrusil CPP noccp, ale aj tak:
        no network protocol running
        Ako sa spusta sietovy protokol? :-)

        • Re: PDP context 07.01.2011 | 21:59
          ja   Návštevník
          Stare ubuntu, v novom to ide perfektne - kvalitka
    • Ďakujem 08.01.2011 | 22:28
      Avatar ferry openSUSE Leap  Používateľ
      Veľmi dobrý článok. Stručne a jasne. Ďakujem
    • chýbal mi /dev/rfcomm0 15.02.2011 | 00:23
      soo   Návštevník
      pekný návod, nakoniec som to úspešne zvládol.

      stretol som sa však s problémom pri bt, že som nemal žiadne /dev/rfcomm0.

      pomohol návod odtiaľto: https://help.ubuntu.com/community/BluetoothDialup#Configuring%20the%20rfcomm%20device
      musel som pridať modul rfcomm
      sudo modprobe rfcomm
      potom pozistení MAC a kanálu podľa návodu som nastavil rfcomm.conf a zpojazdnil /dev/rfcomm0
      sudo rfcomm bind 0 your-phone-mac-address your-phone-rfcomm-channel
      kde 0 je číslo zariadenia, takže teraz sa vytvorí /dev/rfcomm0
      a na záver reštart služby bluetooth s nastaveniami /etc/bluetooth/rfcomm.conf a všetko už potom išlo
    • Access Point 06.03.2011 | 21:21
      sinister86   Návštevník
      pekny clanok ale prosim Vas ako najdem v mojom mobile tie udaje o Access point-e ? Aspon priblizne pls. Pouzivam Sony Ericsson v C510