20. 7. 2010

Symbiani mobil ako BT modem pre Ubuntu (10.04)

Zajtra u nas nebude elektrina. Nie ze by mi to nejak zasadne vadilo, ale co uz. Ved aj oprava nejakych silovych rozvodnych casti je niekedy nutna, tak preco nie v case, kedy bude vonku 30 stupnov, u mna v izbe 35 a nebudem moct ani len spat, nieto sa este valat na jednom mieste ... Ale k veci :).

Chystame sa na dovolenku a internetove spojenie bude pre mna aj ked v case oddychu nevyhnutnostou (ked nieco drzim silou vole pohromade cely rok, tak vzdy ked som na dovolenke to chyti vsetky raple, ktorych sa mi to darilo chranit - typicky horiace harddisky na serveroch ...). Kedze som pred casom upgradoval mobil na SonnyEriccsson Vivaz (povodne som mal SE K800i, na ktory nedam dopustit), ktory ale obsahuje Symbian, tak sa zacalo jedno male trapenie - Vivaz sice komunikuje s ubuntu ako velkokapacitne zariadenie, ale nie ako modem. Starucka K800i mala v tomto pripade priamu podporu - okrem pamatoveho zariadenia sa hned prihlasil ako modem a mohol som zvesela "vytacat" pripojenie na internet. Novy Vivaz mi ale v tomto pripade dal prstom do oka, tak mi nezostalo nic ine, len sa spytat Googla, ci uz nahodou niekto tento rebus neriesil do zdarneho konca. Po dlhsom hladani "kapol bozsku" :).

Dovolil som si prepisat cely ten navod tak, aby som sa v tom neskor vyznal, ked to nahodou budem opat ozivovat (pokial ma do tej doby pani od Canonicalu nepotesia priamou podporou Symbianich telefonov). Podotykam, ze autor tam ma drobnu chybicku krasi (nasiel som dve), ale dufam v to, ze sa jedna bud len o zle zalomenie riadka, alebo preklep.

Co teda budeme potrebovat?
1. Symbiani telefon (navod je napisany pre Nokiu, ale fungoval aj s mojim SE)
2. Datovy pausal naviazany na pouzitel SIMke (pouzivam maly pomarancovy svet od pomaranca - ono tych 100MB pri cestovani tak lahko nevycerpam). V pripade pouzitia ineho operatora som napisal poznamky, kde je potrebne urobit patricne zmeny.
3. BT adapter na strane PC/NTB (vacsina zariadeni to uz ma, kto nema, holt, USB BT adapter nie je draha zalezitost)
4. PC/NTB s Ubuntu 10.04

A hor sa do ozivenia :).

1. Predpokladam funkcny BT adapter a funkcnu komunikaciu s mobilom cez BT (t.j. je mozne mobil pripojit ako pamatove zariadenie)

2. Zistime si adresu DUN zariadenia a kanal pre komunikaciu:
Zadame prikaz:

sdptool search DUN

Vystup prikazu bude vyzerat nasledujuco:

Searching for DUN on 00:13:FD:CC:F6:5C ...
Service Name: Dial-Up Networking
Service RecHandle: 0x10005
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 2
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100


Nas ale budu zaujimat iba tie dve zvyraznene hodnoty, adresa zariadenia a cislo kanala.

3. Zaznamename si tieto informacie pre modul rfcomm, aby sme si ich nemusel sustavne zistovat.
Zadame prikaz:

sudo gedit /etc/bluetooth/rfcomm.conf

Do otvoreneho suboru na koniec dopiseme:

rfcomm0 {
bind yes;
device 00:13:FD:CC:F6:5C;
channel 2;
comment "Nejaky Symbiani telefon cez nejaky BT modul";
}

Do riadku "device" napiseme adresu DUN zaraidenia a do riadku "channel" dopiseme cislo kanala.
Ulozime a zatvorime.
Po tomto ukone sa teda staci iba odkazovat na dane zariadenie rfcomm0 a modul bude vediet, o com sa bavime.


4. Vyskusame sa pripojit k modemu:
Zadame prikaz:

sudo rfcomm connect 0

Mali by sme dostat vystup podobny nasledujucemu:

Connected /dev/rfcomm0 to 00:13:FD:CC:F6:5C on channel 2
Press CTRL-C for hangup


Ako nas sam program vyziva, stlacime Ctrl+C, cim sa spojenie prerusi. V tomto momente som sa nestretol, ze by sa mi nieco nedarilo, tak neviem opisat pripadne alternativy/problemy, ktore by mohli nastat.
Ak by nahodou predsa len nejake nastali, tak uvolnit otvorene/uviaznute spojenie je mozne prikazom:

sudo rfcomm release 0

5. Vytvorime si ovladaci script pre riadiacu rutinu ppp:
Zadame prikaz:

sudo gedit /etc/ppp/peers/orange

Do otvoreneho prazdneho suboru vlozime:

# PPP inicializacny/ukoncovaci script pre Orange
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/orange-connect"
disconnect "/usr/sbin/chat -v -f /etc/chatscripts/orange-disconnect"
silent
debug
/dev/rfcomm0
115200
defaultroute
usepeerdns


Nechame ulozit a zatvorime.

6. Vytvorime si pripajaci (connect) script:
Zadame prikaz:

sudo gedit /etc/chatscripts/orange-connect

Do otvoreneho prazdneho suboru vlozime:

# PPP pripajaci script pre Orange
TIMEOUT 5
ECHO ON
ABORT '\nBUSY\r'
ABORT '\nERROR\r'
ABORT '\nNO ANSWER\r'
ABORT '\nNO CARRIER\r'
ABORT '\nNO DIALTONE\r'
ABORT '\nRINGING\r\n\r\nRINGING\r'
'' \rAT
TIMEOUT 12

OK ATE1
OK 'AT+cgdcont=1,"IP","internet"'
OK ATD*99#


V predposlednom riadku hodnota "internet" definuje APN operatora, na ktore sa modem bude pripajat a v poslednom riadku "*99#" definuje vytacane cislo pre pripojenie na GPRS nosic. Niektore mobili mozu mat ine cislo, napr. to moze byt "*99***1#".

Ulozime a zatvorime.


7. Vytvorime si odpajaci (disconnect) script:
Zadame prikaz:

sudo gedit /etc/chatscripts/orange-disconnect

Do otvoreneho prazdneho suboru vlozime:

# PPP odpajaci script pre Orange
ABORT "BUSY"
ABORT "ERROR"
ABORT "NO DIALTONE"
SAY "\nSending break to the modem\n"
"" "\K"
"" "\K"
"" "\K"
"" "+++ATH"
"" "+++ATH"
"" "+++ATH"
SAY "\nPDP context detached\n"



Ulozime a zatvorime.

Nasleduje prva skuska a teda postup pre pripojenie.

1. Vytvorime spojenie cez BT s modemom.

sudo rfcomm connect 0

2. Otvorime nove okno terminalu a vytvorime spojenie do internetu.

sudo pon orange

... a mozeme skusit prikazom ping dostupnost nejakeho zdroja, pripadne rovno surfovat po internete. Terminalove okna minimalizujeme - nezatvarame!

3. V okne terminalu, kde sme zadali prikaz pre pripojenie zadame prikaz na odpojenie.

sudo poff orange

Po uspesnom odpojeni mozeme kludne obe okna zatvorit.

Nie je to vobec tazke :). Len mi chvilku trvalo, kym som vychytal par musiek a nasiel tie spominane chybicky krasi.

Žiadne komentáre:

Zverejnenie komentára