Mobiiltelefoni kasutamine Debian Lennyga

Allikas: Kuutõrvaja
Redaktsioon seisuga 1. jaanuar 2013, kell 19:26 kasutajalt Jj (arutelu | kaastöö) (Käsurealt telefoni failisüsteemi ühendamine arvutiga)
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)

Sissejuhatus

Mobiiltelefoni kasutamise all Debianiga peetakse silmas telefoni kasutamist 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

  • telefoni kaudu SMSi saatmine ja saabunud SMSi lugemine
  • kontaktide nimekirja kopeerimine arvutisse, nt varundamise eesmärgil
  • kontaktide nimekirja sünkroniseerimine arvutis töötavate muude rakendustega, nt Evolution
  • 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 tegeleda 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 tegelemist ja see omakorda, et seadmete kontaktidel 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 kasutamine Wammu/Gammuga

Wammu on programmi Gammu http://www.gammu.org/ graafiline kasutajaliides, mida sobib kasutada telefoni juhtimiseks, nt

  • SMSi saatmiseks ja lugemiseks
  • telefoni kontaktidest arvutisse varukoopia tegemiseks
  • arvutisse kopeeritud kontaktidesse tehtud muudatuste kopeerimiseks tagasi telefoni

Wammu/Gammu puhul on iseloomulik, et tegu on iseseisva rakendusega, mis ei integreeri telefoni võimalusi kokku operatsioonisüsteemi rakendustega, nt Evolutioniga.

Enne Wammu/Gammu kasutamist tasub uurida, kas konkreetne telefoni mudel on tarkvara poolt toetatud, http://cihar.com/gammu/phonedb/.

Telefoni ettevalmistamine

Mobiiltelefonis tuleb teha sellised ettevalmistused

  • lülitada sisse Bluetooth

Arvuti ettevalmistamine

Arvutis tuleb teha sellised ettevalmistused

  • lülitada sisse Bluetooth tugi
  • hcid deemon peab töötama
  • veenduda, et telefoni seade on näha ja teha kindlaks tema bdaddr aadress

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

Arvuti ja telefoni sidumine

Arvuti ja telefoni võib siduda enne Wammuga tegelemist nii nagu on kirjeldatud palas Bluetooth kasutamine Debian Lennyga#Arvuti ja telefoni sidumine üle bluetooth'i, aga kui seda mitte teha, siis esimesel kasutuskorral Wammu ja telefon kutsuvad usalduse tekitamise järgmevuse ise esile, st kasutajalt küsitakse telefonis ja arvutis vajalikul hetkel pääsuvõtmeid (ingl. k. passkey). Edaspidi seda usalduse tekitamise protseduuri uuesti korrata ei ole tarvis.

Wammu tarkvara paigaldamine ja seadistamine

Tarkvara paigaldamiseks tuleb öelda

 # apt-get install wammu

Wammu saab käivitada valides nt Gnome menüüst

 Applications -> Applications -> Wammu

esmakordsel käivitamisel tuleb näidata, millist telefoni kasutatakse

Wammu configuration was not found and Gammu settings couldn't be read
Do you want to configure phone connection now?

küsimusele järgneb dialoog, kust teha nt sellised valikud

 Automatically search for a phone -> Bluetooth

otsingu tulemusena väljastatakse midagi sellist, loodevasti lõppes otsing telefoni leidmisega

Telefonikasutamine-3.gif

Seejärel sooritab Wammu telefoni kasutamise testi, peaks teatatama midagi sellist

 Phone has been found. 
 Manufacturer: Nokia
 Model: 3110c

Lõpuks palutakse sisestada mingi järgnevus, et identifitseerida ühendus telefoniga, nt ja valida Finish

 Nokia 3110c

Seadistuste menüü läbimisel moodustatakse kasutajale nt sellise sisuga seadistusfail

 $ cat /home/mart/.gammurc
 [gammu]
 port=00:1F:5C:F0:E2:A7
 connection=blueat
 name=Nokia 3110c

Wammu kasutamine

Eeldusel, et Wammu on seadistatud, tuleb peale Wammu käivitamist valida menüüst

 Phone -> Connect

Seejärel saab nt laadida telefonist alla kontaktide nimekirja

 Retrieve -> Contacts (All)

ja tulemus paistab sarnane, näites on andmete osa esitus varjatud

Telefonikasutamine-2.gif

Kasutamise lõpetamisel tuleks valida menüüst

 Phone -> Disconnect

Arvuti internetiühendus üle GPRSi

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

  • bluetooth toega arvuti
  • bluetooth ja GPRS (General Packet Radio Service) toega telefon
  • mobiilside operaator ja konkreetse kasutaja poolt ostetav teenus peavad võimaldama andmesidet, nt EMT klientide jaoks on see olemas praktiliselt paratamatult

Andmevahetus seadmete vahel toimub selliselt

    <----------- PPP ------------>            
 arvuti <---- bluetooth ----> telefon <---- GPRS ----> mobiilside operaator <---- IP ----> internet

kus on kujutatud, et

  • nö füüsilises kihis kasutatakse andmevahetuseks arvuti ja telefoni vahel bluetooth 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 aadress.

Telefoni ettevalmistamine

Mobiiltelefonis tuleb teha sellised ettevalmistused

  • lülitada sisse bluetooth
  • lülitada sisse GPRS (tõenäoliselt ei ole vaja eriti midagi lisaks seadistada, kuna nt ASN=internet.emt.ee määrang öeldaks ppp kliendi poolt)

Arvuti ettevalmistamine

Arvutis tuleb teha sellised ettevalmistused

  • lülitada sisse bluetooth tugi
  • veenduda, et telefoni seade on näha ja teha kindlaks tema bdaddr aadress
  • hcid teenus peab käima

Nende ettevalmistuste tegemist on kirjeldatud palas Bluetooth kasutamine Debian Lennyga.

Arvuti ja telefoni sidumine

Arvuti internetiühenduse kasutamiseks üle GPRSi peavad telefon ja arvuti olema seotud, nt nii nagu on kirjeldatud palas Bluetooth kasutamine Debian Lennyga#Arvuti ja telefoni sidumine üle bluetooth'i.

/dev/rfcomm0 seadme moodustamine

/dev/rfcomm0 seade on midagi arvuti virtuaalse serial pordi taolist, mida ppp tarkvara kasutab 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 (tegelikult kõigi nähtavate bluetooth seadmete) töötava Dial-Up Networking (DUN) 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:1F:5C:F0:E2:A7;
 
     # RFCOMM channel for the connection
     channel 1;
 
     # 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

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

Esitame kaks viisi ppp ühenduse tekitamiseks, kusjuure selleks, et pppd deemonit käivitada peab kasutaja kuuluma gruppi dip

  • Gnome keskkond - tõenäoliselt lihtsam ja praktilisem
  • nö käsurealt - see on esitatud kuna põhimõtteliselt peavad asjad töötama käsurealt
Gnome vahenditega

Gnome keskkonnas sobib kasutada ppp ühenduseks programme wvdial ning gnome-ppp, nende paigaldamiseks tuleb öelda, kusjuures tuleb arvestada, et gnome-ppp paigaldamisel eemaldatakse resolvconf pakett

 # apt-get install gnome-ppp wvdial ppp

Käivitamiseks tuleb valida menüüst

 Applications -> Internet -> GNOME PPP

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

Bluetooth-5.gif

ning kus Networking alt on valitud

  • IP - Dynamic IP address
  • DNS - Automatic DNS

ning kus Options alt on valitud lisaks vaikeväärtustele

  • Dock in notification area

teine sissekanne sõltub kasutatavast mobiilside operaatorist

  • EMT - AT+CGDCONT=1,"IP","internet.emt.ee","",0,0

Edaspidi piisab valida Connect

Bluetooth-4.gif

kus telefoninumber sõltub kasutatavast mobiilside operaatorist ja telefonist, kasutajanimi ja parool on suvalised, nt a ja b

  • EMT, Nokia - *99#
  • EMT, Ericsson - *98*1#
  • EMT, Siemens - *99***1#
  • EMT. Samsung - *99***1#

Tõõtavale ühendusele vastab selline pilt

Bluetooth-6.gif

Ühenduse lõpetamiseks tuleb valida Disconnect.

Taustal tegeleb ppp ühendusega wvdial juhtimisel pppd, vastavad seadistusfailid on

 $ cat /home/mart/.wvdial.conf
 [Dialer Defaults]
 Modem = /dev/rfcomm0
 ISDN = off
 Modem Type = Analog Modem
 Baud = 115200
 Init = ATZ
 Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
 Init3 = AT+CGDCONT=1,"IP","internet.emt.ee","",0,0
 Phone = *99#
 Phone1 = *99#
 Dial Prefix = 
 Dial Attempts = 1
 Dial Command = ATM1L3DT
 Ask Password = off
 Password = b
 Username = a
 Auto Reconnect = off
 Abort on Busy = off
 Carrier Check = on
 Check Def Route = on
 Abort on No Dialtone = on
 Stupid Mode = on
 Idle Seconds = 0
 Auto DNS = on

ja

 $ cat /etc/ppp/peers/wvdial
 noauth
 name wvdial
 usepeerdns

Pisut ebatavaline on, et vaikelüüsi aadress on 0.0.0.0

 # route -n
 Kernel IP routing table
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
 10.6.6.6        0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
 192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
 0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0

kusjuures /etc/resolv.conf faili ppp asendab, protsessi töö lõpus kopeeritakse vana tagasi

 # ls -l /etc/resolv.conf*
 -rw-r--r-- 1 root imre 72 2009-08-17 20:03 /etc/resolv.conf
 -rw-r--r-- 1 root root 46 2009-08-17 15:50 /etc/resolv.conf.pppd-backup
Käsurealt

Tundub, et nt EMT võrgus sobib kasutada Nokia telefoniga 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#
 \~ ""

ning /etc/ppp/peers/gprs-bt skripti (kui asi töötab, võib debug ja -detach võtmed eemaldada)

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

Kusjuures /etc/ppp/options failil on selline, vaikimisi sisu

 # egrep -v "^#|^$" /etc/ppp/options 
 asyncmap 0
 auth
 crtscts
 lock
 hide-password
 modem
 proxyarp
 lcp-echo-interval 30
 lcp-echo-failure 4
 noipx

Ü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.

OpenSync kasutamine

TODO

Telefoni kontaktid saab kopeerida öeldes

 $ syncml-obex-client -b 00:1F:5C:F0:E2:A7 11 --slow-sync text/x-vcard contacts --wbxml --identifier "PC Suite"

OBEX

TODO

# apt-get install obexfs

OBEX (OBject EXchange) teenuse kasutamiseks sobib kasutada nt klientprogrammi obexftp

 $ obexftp -b 00:1F:5C:F0:E2:A7 -B 10 -c Images -g Pilt000.jpg
 Browsing 00:1F:5C:F0:E2:A7 ...
 Channel: 10
 Connecting...done
 Sending "Images"... done
 Receiving "Pilt000.jpg".../done
 Disconnecting...done
 $ ls -l
 total 256
 -rw-r--r-- 1 mart mart 254910 2009-08-15 17:42 Pilt000.jpg

Käsurealt telefoni failisüsteemi ühendamine (mountimine) arvutiga

Esmalt vajalik telefon ja arvuti omavahel ära ühendada

Käsk hcitool annab meile mac aadressi

# hcitool scan
Scanning ...
   8F:77:17:77:44:16    My Android Phone

Mida kasutades saame seejärel telefoni mountida

# obexfs -b mac_address mountpoint

Näiteks

# obexfs -b 8F:77:17:77:44:16 ~/Public

Lahtiühendamine

# fusermount –u mountpoint

Multisync kasutamine

TODO

Märkused

  • 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 arvuti olevat nö virtuaalset modemiga töötada ka nt minicom programmiga. Seadme nimena tuleb minicomi jaoks kasutada /dev/rfcomm0.
  • Turvalisuse seisukohast ei tee paha kirjeldatud viisil moodustatud PPP ühenduse peal omakorda kasutada OpenVPN lahendust
  • Vajadusel tuleb lülitada bluetooth sisse, näiteks öeldes IBM T42 arvuti puhul nii
 # echo enable > /proc/acpi/ibm/bluetooth

Kasulikud lisamaterjalid