NOKIA 6310

NOKIA 6310i, Bluetooth, GPRS od T-mobile CZ v Linuxu

Pro připojení telefonu Nokia 6233 k internetu prostřednictvím GPRS jsem použil USB Bluetooth adaptér CCK Bluetooth USB Dongle, ale lze použít i jiné adaptéry (např. Mobile Action 730G, který k tomuto telefonu T-mobile nabízel. Použil jsem Fedoru Core 6. Poskytovatelem připojení je T-mobile CZ.

1   Bluetooth

Seznam Bluetooth zařízení, která jsou pod Linuxem podporována lze nalézt na WWW stránkách http://www.holtmann.org/linux/bluetooth/devices.html. USB bluetooth adaptér D-Link DBT-120 mezi taková zařízení patří. Pro jeho funkci je třeba zkompilovat podporu Bluetooth v jádře. Prefabrikovaná jádra od Red-Hatu již tuto podporu zahrnují. Podrobněji to popisují články [1] a [2].

Dále je třeba nainstalovat knihovny (ty nejprve) a programy umožňující s Bluetooth adaptérem komunikovat. Jsou to:

bluez-hcidump-1.5 bluez-libs-2.4 bluez-pan-1.1_26022003 bluez-sdp-1.5 bluez-utils-2.3 

Jejich aktuální verze lze nalézt na http://bluez.sourceforge.net/download/download.html a další informace pak v [5].

Komunikace se zařízením obstarává daemon hcid. Pro jeho start by mělo stačit:

/etc/rc.d/init.d/bluetooth start 

Pokud chybí zařízení /dev/rfcomm, vytvoříme jej pomocí příkazu:

mknod -mode 666 /dev/rfcomm0 c 216 0 

V případě, že jsme podporu zkompilovali jako modulární, musí být moduly nahrány v jádře.

modprobe hci_usb    # hci_usb je USB-bluetooth adapter hciconfig hci0 up   # nahození zařízení hci0 

Takže příkaz hciconfig ukáže přibližně toto:

[root@localhost root]# hciconfig hci0:   Type: USB         BD Address: 00:0D:88:9E:DA:40 ACL MTU: 192:8  SCO MTU: 64:8         UP RUNNING PSCAN ISCAN         RX bytes:204 acl:0 sco:0 events:27 errors:0          TX bytes:599 acl:0 sco:0 commands:26 errors:0  [root@localhost root]# 

Pro párování bluetooth zařízení je třeba nastavit párovací heslo (např. 4321) v souboru:

[root@localhost /]# cat /etc/bluetooth/pin 4321 [root@localhost /]# 

Následuje editace konfiguračního souboru pro hcid daemona /etc/bluetooth/hcid.conf, který v mém případě vypadá nálsedovně:

[root@localhost /]# cat /etc/bluetooth/hcid.conf options {  autoinit yes;  security auto;  pairing multi; # pin_helper /usr/bin/bluepin;  pin_helper /usr/local/bin/bluez_pin_simple; } device {   name "%h-%d";  class 0x100;  iscan enable; pscan enable;  lm accept,master;  lp hold,sniff,park; } [root@localhost /]# 

Za zmínku stojí položka pin_helper, která určuje program pro generování párovacího hesla. V případě, že nepředpokládáme zneužití bluetooth zařízení, poslouží skript bluez_pin_simple:

[root@localhost /]# cat /usr/local/bin/bluez_pin_simple #!/bin/bash echo "PIN:4321" [root@localhost /]# 

Po nastartování hcid daemona by se mělo podařit spojení, takže:

[root@localhost /]# hcitool scan Scanning ...         00:60:57:91:03:12       6310i - zajicek [root@localhost /]# 

kde 00:60:57:91:03:12 je adresa detekovaného zařízení, v tomto případě mobilního telefonu. Pokud znám tuto adresu, mohu se na zařízení dále odkazovat:

root@localhost /]# hcitool info 00:60:57:91:03:12 Requesting information ...         BD Address:  00:60:57:91:03:12         Device Name: 6310i - zajicek         LMP Version: 1.1 (0x1) LMP Subversion: 0x23b          Manufacturer: Nokia Mobile Phones (1)         Features: 0xbf 0x28 0x21 0x00                 <3-slot packets> <5-slot packets>                                          [root@localhost /]# 

Utilita hcitool má celou řadu parametrů, se kterými lze experimentovat a získat zajímvé údaje o bluetooth připojení. Užitečný může být rovněž hcidump, který monitoruje provoz probíhající mezi bluetooth zařízeními. Na zařízení lze rovněž provést l2ping.

[root@localhost /]# l2ping 00:60:57:91:03:12 Ping: 00:60:57:91:03:12 from 00:0D:88:9E:DA:40 (data size 20) ... 0 bytes from 00:60:57:91:03:12 id 200 time 44.28ms 0 bytes from 00:60:57:91:03:12 id 201 time 40.52ms  0 bytes from 00:60:57:91:03:12 id 202 time 31.74ms 0 bytes from 00:60:57:91:03:12 id 203 time 28.56ms 4 sent, 4 received, 0% loss [root@localhost /]# 

2   Vytáčené připojení přes T-mobile CZ

Komunikace s přes bluetooth probíhá pomocí sériového rozhraní, které je vytvořeno pomocí utility rfcomm. Ke spojení použijeme následující příkaz:

[zajicek@localhost]$ rfcomm connect rfcomm0 00:60:57:91:03:12 Connected /dev/rfcomm0 to 00:60:57:91:03:12 on channel 1 \n \n  

[root@localhost root]# cat /etc/ppp/chap-secrets # Secrets for authentication using CHAP # client        server  secret                  IP addresses gprs gprs gprs [root@localhost root]# ",1] );  //-->Press CTRL-C for hangup 

V tomto okamžiku se objeví na display mobilního telefonu žádost o potvrzení připojení. Dalším krokem je inicializace pppd komunikace s poskytovatelem připojení. Vlastní připojení provádím pomocí příkazu:

pppd call gprs 

Pro Parametry spojení jsou nastaveny v souborech:/etc/ppp/chat-gprs a /etc/ppp/peers/gprs, především dle doporučení v [3 ] a [4].
 

[root@localhost]$ cat /etc/ppp/chat-gprs TIMEOUT         12 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' ''              'ATE1' OK              AT+CGDCONT=1,"IP"," internet.t-mobile.cz" OK              ATD*99***1# CONNECT         \d\c [root@localhost]$ 

a

[root@localhost]$ cat /etc/ppp/peers/gprs debug connect "chat  -f /etc/ppp/chat-gprs -r /dev/console" noauth usepeerdns /dev/rfcomm0 115200 115200 local nocrtscts defaultroute  noipdefault [root@localhost]$ 

T-mobile využívá pro spojení Challenge Handshake Authentication Protocol — (CHAP), takže pro úspěšné připojení je navíc třeba soubor:
 

[root@localhost root]# cat /etc/ppp/chap-secrets # Secrets for authentication using CHAP # client        server  secret                  IP addresses gprs gprs gprs [root@localhost root]#
Dále je třeba správně nastavit DNS podle informací T-mobile (pozn. LS). 
 

A to je celé a funguje to.
 

References

[1]
cijoml@volny.cz:, Jak na Bluetooth pod Linuxem,
http://www.root.cz/clanek.php4?id=1646
[2]
kai.hanninen@hut.fi:, Connecting your Linux box with Nokia 6310i using Bluetooth,
http://www.hut.fi/u/kehannin/bluetooth.html
[3]
Přibyl, P.: T-Mobile GPRS — Mini-HowTo a první dojmy,
http://www.root.cz/clanek.php4?id=1956
[4]
Hankins, G.: Nokia 6310i and Bluetooth with Linux using T-mobile,
http://www.twoguys.org/~gregh/nokia-6310i.html
[5]
MaxK: Linux BlueZ Howto Bluetooth,
http://bluez.sourceforge.net/howto/