Erinevus lehekülje "Mobiiltelefoni kasutamine Debian Lennyga" redaktsioonide vahel

Allikas: Kuutõrvaja
(Internetiühendus üle GPRSi)
22. rida: 22. rida:
  
 
* lülitada sisse Bluetooth
 
* lülitada sisse Bluetooth
 +
 +
===Arvuti ettevalmistamine===
 +
 +
Arvutis tuleb teha sellised ettevalmistused
 +
 +
* lülitada sisse Bluetooth tugi
 +
* veenduda, et telefoni seade on näha ja teha kindlast tema bdaddr aadress
 +
* küsida telefonilt millisel kanalil töötab DUN (Dial-Up Networking) teenus
 +
 +
Seda kõike on kirjeldatud palas [[:Bluetooth kasutamine Debian Lennyga]].
  
 
===Telefoni kontaktide nimekirjast varukoopia tegemine Wammu/Gammuga===
 
===Telefoni kontaktide nimekirjast varukoopia tegemine Wammu/Gammuga===
48. rida: 58. rida:
 
PPP ühenduse tulemusena tekib arvutile lisaks ppp0 võrguseade, millel on teenusepakkuja omistatud ip aadressi.
 
PPP ühenduse tulemusena tekib arvutile lisaks ppp0 võrguseade, millel on teenusepakkuja omistatud ip aadressi.
  
Käesoleva tekst ei käsitle kõnealust valdkonda ammendavalt, lihtsalt on kirjeldatud ühte teadaolevalt töötavat kasutusjuhtu, konkreetselt oli kasutada IBM T42 sülearvuti, Nokia E51 telefon ja Debian Lenny nii nagu ta 2008 aasta augustis parasjagu oli.
+
====/dev/rfcomm0 seadme moodustamine====
 
 
Pikka aega on olnud levinud võimaluseks arvuti ja mobiiltelefoni vahel andmevahetust korraldada IrDA (Infrared Data Association) abil. Sinihamba eeliseks on kasutusmugavus kuna andmevahetuses olevad seadmed ei pea olema väga lähestikku (praktiliselt toimub ühendus mitmete meetrite ulatuses) ning suurem andmevahetuskiirus. Suuremate vahemaade tõttu peab arvestama ka kaasnevaid võimalikke turvariske.
 
 
 
 
 
 
 
====Käsurealt====
 
  
 
Reeglina pakub mobiiltelefon üle sinihamba erinevaid teenuseid, sdptool abil saab küsida telefonilt teenuste nimekirja nt selliselt
 
Reeglina pakub mobiiltelefon üle sinihamba erinevaid teenuseid, sdptool abil saab küsida telefonilt teenuste nimekirja nt selliselt

Redaktsioon: 17. august 2009, kell 14:10

Sissejuhatus

Mobiiltelefoni kasutamise all Debianiga peetakse silmas telefoni kontrollimist Debian operatsioonisüsteemiga arvutist, mitte Debiani operatsioonisüsteemi paigaldamist ja kasutamist otseselt telefoni sees töötava tarkvarana.

Debianiga arvutist võiks saada sooritada telefoniga nt selliseid tegevusi

  • kontaktide nimekirja sünkroniseerimine
  • telefoni abil üle GPRS arvuti jaoks internetiühenduse tekitamine
  • telefoni mikrofoni ja valjuhääldi ümbersuunamine vastavatesse arvuti seadmetesse

Nende tegevuste jaoks on vajalik, et telefoni ja arvuti vahel oleks võimalik andmeid vahetada, selleks on järgmised võimalused

  • bluetooth - kõige soovitavam kuna pole vaja jamada juhtmetega, on piisavalt kiire ja tõenäoliselt ka turvaline
  • IrDA - suhteliselt ebamugav kasutada kuna eeldab telefoni ja arvuti omavahelist nö sihtimist, lisaks aeglane
  • füüsiline kaabel - eeldab kaablitega majandamist ja et seadmetel füüsilised üleminekud sobiksid

Käesolevas palas eeldatakse, et andmevahetuseks kasutatakse bluetoothi, seda on kirjeldatud nt tekstis Bluetooth kasutamine Debian Lennyga, kuigi põhimõtteliselt ei sõltu tulemus eriti kasutatavast meediumist.

Telefoni ettevalmistamine

Mobiiltelefonis tuleb teha sellised ettevalmistused

  • lülitada sisse Bluetooth

Arvuti ettevalmistamine

Arvutis tuleb teha sellised ettevalmistused

  • lülitada sisse Bluetooth tugi
  • veenduda, et telefoni seade on näha ja teha kindlast tema bdaddr aadress
  • küsida telefonilt millisel kanalil töötab DUN (Dial-Up Networking) teenus

Seda kõike on kirjeldatud palas Bluetooth kasutamine Debian Lennyga.

Telefoni kontaktide nimekirjast varukoopia tegemine Wammu/Gammuga

TODO

Internetiühendus üle GPRSi

Eesmärgiga on tekitada telefoni abil arvutile internetiühendus ja eelduseks on sarnaste omadustega riistvara ning sideteenus

  • sinihamba (ingl. k. bluetooth) toega arvuti
  • sinihamba ja GPRS (või analoogne) toega telefon
  • mobiilside operaator ja konkreetse kasutaja pooltu ostetav teenubs peab võimaldama andmesidet (GPRS), nt EMT klientide jaoks on see olemas praktiliselt paratamatult

Andmevahetus seadmete vahel käib selliselt

    <----------- PPP ------------>            
 arvuti <---- sinihammas ----> telefon <---- GPRS vms ----> mobiilside operaator <---- IP ----> internet

kus on kujutatud, et

  • nö füüsilises kihis kasutatakse andmevahetuseks arvuti ja telefoni vahel sinihamba protokolli
  • mobiiltelefoni ja mobiilside operaatori võrguseadme vahel kasutatakse andmevahetuseks GPRS protokolli
  • loogilisel tasemel moodustatakse arvuti ja telefonis töötava nö sissehelistamiskeskuse vahel ppp ühendus

PPP ühenduse tulemusena tekib arvutile lisaks ppp0 võrguseade, millel on teenusepakkuja omistatud ip aadressi.

/dev/rfcomm0 seadme moodustamine

Reeglina pakub mobiiltelefon üle sinihamba erinevaid teenuseid, sdptool abil saab küsida telefonilt teenuste nimekirja nt selliselt

 # sdptool browse
 Inquiring ...
 Browsing 00:1F:5C:F0:E2:A7 ...
 Service Name: Dial-up networking
    Channel: 1
 Service Name: Nokia PC Suite
    Channel: 15
 Service Name: COM 1
    Channel: 3
 Service Name: Voice Gateway
    Channel: 13
 Service Name: Audio Gateway
    Channel: 12
 Service Name: Network Access Point Service
 Service Description: Personal Ad-hoc Network Service which provides access to a network
 ...
 Service Name: OBEX Object Push
    Channel: 9
 Service Name: OBEX File Transfer
    Channel: 10
 Service Name: SyncML Client
    Channel: 11
 Service Name: SIM ACCESS
    Channel: 4

Esitatud nimekiri on oluliselt õgvendatud, tegelik programmi väjund on aadressil Fail:Sdptool-nokia-3110c.patch.

Kui seejärel paigutada telefon arvuti lähedusse peaks nägema telefonile vastavat rida (kus Enn on telefonile telefonis seadistatud nimi), kui sinihamba ühenduste seadistamise programmiga hcitool öelda

Arvuti bluetooth seadme andmed

 # hciconfig
 hci0:   Type: USB
         BD Address: 00:0B:5D:A5:76:40 ACL MTU: 192:8 SCO MTU: 64:8
         UP RUNNING PSCAN ISCAN 
         RX bytes:7859 acl:86 sco:0 events:308 errors:0
         TX bytes:3295 acl:85 sco:0 commands:95 errors:0

Skaneerime ümbrust

 # hcitool scan
 Scanning ...
       00:1D:6F:C1:CF:FB       Enn

Teades seadme sinihamba aadressi saab küsida ka detailsemat infot

 # hcitool info 00:1D:6F:C1:CF:FB
 Requesting information ...
       BD Address:  00:1D:6F:C1:CF:FB
       Device Name: Enn
       LMP Version: 2.0 (0x3) LMP Subversion: 0x6cc
       Manufacturer: Cambridge Silicon Radio (10)
       Features: 0xbf 0xee 0x0f 0x46 0x98 0x19 0x00 0x00
       ...

Seejärel tuleb redigeerida faili /etc/bluetooth/rfcomm.conf sarnaseks, oluline on, et device järel sinihamba aadress klapiks telefoniga

rfcomm0 {
      # Automatically bind the device at startup
      bind yes;

      # Bluetooth address of the device
      device 00:1D:6F:C1:CF:FB;

      # RFCOMM channel for the connection
      channel 2;

      # Description of the connection
      comment "Enn";
}

Peale faili muutmiste tuleb öelda hcid deemonile stop ja start

 # /etc/init.d/bluetooth restart
 Restarting bluetooth: hcid rfcomm.

Seejärel tuleb vajadusel lülitada bluetooth sisse, näiteks öeldes IBM T42 arvuti puhul

 # echo enable > /proc/acpi/ibm/bluetooth

PPP ühendus arvuti ja telefonis töötava sissehelistamiseteenuse vahel

Sarnaselt eelmisele punktile esitatakse kaks viisi ppp ühenduse tekitamiseks

  • Gnome keskkond
  • nö käsurealt

Üks mobiiltelefoni poolt üle sinihamba pakutav teenus on reeglina nn sissehelistamise teenus (ingl. k. dial-up networking)

 Service Name: Dial-up networking
     Channel: 1

Arvuti saab ühendada internetti, kasutades üle sinihamba ühenduse telefonis töötavat sissehelistamise teenust. Kasutaja peab kuuluma gruppi dip.

/dev/rfcomm0 seadme moodustamine

/dev/rfcomm0 seade on midagi virtuaalse serial pordi taolist, mida kasutab ppp tarkvara telefonis töötava sissehelistamisteenuse poole pöördumisel. Telefoni sissehelistamise teenuse kasutamiseks on tarvis teada

  • telefoni bdaddr (bluetoothaddress) numbrit
  • sissehelistamise kanali (ingl. k. channel) numbrit

Mõlemad saab teha kindlaks küsides telefonis töötava dial-up networking teenuse andmeid

 # sdptool search dun
 Inquiring ...
 Searching for dun on 00:1F:5C:F0:E2:A7 ...
 Service Name: Dial-up networking
 Service RecHandle: 0x10000
 Service Class ID List:
   "Dialup Networking" (0x1103)
   "Generic Networking" (0x1201)
 Protocol Descriptor List:
   "L2CAP" (0x0100)
   "RFCOMM" (0x0003)
     Channel: 1
 Language Base Attr List:
   code_ISO639: 0x656e   
   encoding:    0x6a     
   base_offset: 0x100    
 Profile Descriptor List:
   "Dialup Networking" (0x1103)
     Version: 0x0100

kust on näha, et

  • bdaddr - 00:1F:5C:F0:E2:A7
  • channel - 1

/dev/rfcomm0 seadme moodustamist juhib seadistusfail /etc/bluetooth/rfcomm.conf, nt antud juhul sobib sisu

 rfcomm0 {
     # Automatically bind the device at startup
     bind yes;
 
     # Bluetooth address of the device
     device 00:1D:6F:C1:CF:FB;
 
     # RFCOMM channel for the connection
     channel 2;
 
     # Description of the connection
     comment "Dial-up networking";
 }

Ning seadme moodustamiseks tuleb öelda

 # /etc/init.d/bluetooth restart

Tulemusena peab tekkima sarnane seade

 # /dev/rfcomm0
 crw-rw---- 1 root dialout 216, 0 2009-8-15 15:52 /dev/rfcomm0

Gnome vahenditega

Gnome keskkonnas sobib kasutada ppp ühenduseks programme wvdial ning gnome-ppp, nende paigaldamiseks tuleb öelda

 # apt-get install gnome-ppp wvdial ppp

Esmakordsel käivitamisel tuleb sisestada ühestust puudutavad andmed, nt Nokia 3110c telefoni ja EMT kliendi puhul

Bluetooth-5.gif

Edaspidi piisab valida Connect

Bluetooth-4.gif

Tõõtavale ühendusele vastab selline pilt

Bluetooth-6.gif

Käsurealt

Tundub, et nt EMT võrgus sobib kasutada sellise sisuga chat skripti

 # cat /etc/ppp/chat/gprs
 ABORT   'BUSY'
 ABORT   'NO CARRIER'
 ABORT   'ERROR'
 ""      AT
 OK      AT+CGDCONT=1,"IP","internet.emt.ee","",0,0
 OK      ATDT*99***1#
 \~ ""

ning /etc/ppp/peers/gprs-bt skripti

 /dev/rfcomm0
 115200
 connect 'chat -v -f /etc/ppp/chat/gprs'
 nodefaultroute
 usepeerdns
 noipdefault

Ühenduse alustamiseks tuleb öelda

 # pppd call gprs-bt
 Serial connection established.
 using channel 3
 Using interface ppp0
 Connect: ppp0 <--> /dev/rfcomm0
 rcvd [LCP ConfReq id=0x0 <auth pap> <mru 1500> <asyncmap 0xa0000>]
 sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf9f4acd0> <pcomp> <accomp>]
 No auth is possible
 sent [LCP ConfRej id=0x0 <auth pap>]
 rcvd [LCP ConfRej id=0x1 <magic 0xf9f4acd0> <pcomp> <accomp>]
 sent [LCP ConfReq id=0x2 <asyncmap 0x0>]
 rcvd [LCP ConfReq id=0x1 <mru 1500> <asyncmap 0xa0000>]
 sent [LCP ConfAck id=0x1 <mru 1500> <asyncmap 0xa0000>]
 rcvd [LCP ConfAck id=0x2 <asyncmap 0x0>]
 sent [LCP EchoReq id=0x0 magic=0x0]
 sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
 rcvd [IPCP ConfReq id=0x0 <addr 10.6.6.6>]
 sent [IPCP ConfAck id=0x0 <addr 10.6.6.6>]
 rcvd [LCP EchoRep id=0x0 magic=0x0]
 rcvd [IPCP ConfNak id=0x1 <addr 172.29.5.213> <ms-dns1 217.71.32.116> <ms-dns3 217.71.32.115>]
 sent [IPCP ConfReq id=0x2 <addr 172.29.5.213> <ms-dns1 217.71.32.116> <ms-dns3 217.71.32.115>]
 rcvd [IPCP ConfAck id=0x2 <addr 172.29.5.213> <ms-dns1 217.71.32.116> <ms-dns3 217.71.32.115>]
 Cannot determine ethernet address for proxy ARP
 local  IP address 172.29.5.213
 remote IP address 10.6.6.6
 primary   DNS address 217.71.32.116
 secondary DNS address 217.71.32.115
 Script /etc/ppp/ip-up started (pid 3440)
 Script /etc/ppp/ip-up finished (pid 3440), status = 0x0

Tulemusena on tekkinud juurde ppp0 seade

 # ifconfig ppp0
 ppp0      Link encap:Point-to-Point Protocol  
           inet addr:172.29.6.10  P-t-P:10.6.6.6  Mask:255.255.255.255
           UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
           RX packets:3 errors:0 dropped:0 overruns:0 frame:0
           TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:3 
           RX bytes:54 (54.0 B)  TX bytes:54 (54.0 B)

Tõenäoliselt on lisaks tarvis kohendada ruutinguid, nt suunata vaikelüüs PPP ühenduse teise otsa peale

 # route add default gw 10.6.6.6

Märkused

  • Esmakordsel telefoni kasutamisel tuleb registreerida võti öeldes
 # apt-get build-dep bluez-utils
 # cd /usr/share/doc/bluez-utils/examples
 # # make
 cc `pkg-config --libs --cflags dbus-1` -DDBUS_API_SUBJECT_TO_CHANGE -DVERSION="\"unknown\"" \
  -o passkey-agent passkey-agent.c
 #./passkey-agent --default 1111
  • Programmiga rfcomm toimub Linuxi tuuma sinihamba alamsüsteemi seadistamine, tavaliselt pole seda käsitsi tarvis öelda, aga kui on vaja, siis nt sedasi
 # rfcomm connect /dev/rfcomm0 00:1D:6F:C1:CF:FB 2
  • pppd asemel saab telefonis olevat modemit juhtida ka nt minicom programmiga. Seadme nimena tuleb minicomi jaoks kasutada /dev/rfcomm0.
  • Arvutile tuntud sinihambad on kirjas kataloogis /var/lib/bluetooth.
  • Turvalisuse seisukohast ei tee paha kirjeldatud viisil moodustatud PPP ühenduse peal omakorda kasutada OpenVPN lahendust.
  • nn Bluetooth-ping
 # l2ping 00:1F:5C:F0:E2:A7
 Ping: 00:1F:5C:F0:E2:A7 from 00:0B:5D:A5:76:40 (data size 44) ...
 0 bytes from 00:1F:5C:F0:E2:A7 id 0 time 11.86ms
 0 bytes from 00:1F:5C:F0:E2:A7 id 1 time 29.90ms
 0 bytes from 00:1F:5C:F0:E2:A7 id 2 time 42.79ms

Kasulikud lisamaterjalid