Mobiiltelefoni kasutamine Debian Lennyga
Sisukord
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
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
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
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
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
Ü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
- Bluetooth kasutamine Debian Lennyga
- PPP-over-Serial
- http://wiki.hinnavaatlus.ee/index.php/GPRS_seadistamine
- http://kuutorvaja.eenet.ee/wiki/Kasutaja:Imre
- http://multisync.sourceforge.net/
- http://www.gammu.org/
- http://antoine.ginies.free.fr/syncnokiae70/syncnokia.html
- http://blog.myfenris.net/?p=604
- http://www.opensync.org/
- http://en.wikipedia.org/wiki/OBject_EXchange