Mobiiltelefoni kasutamine Debian Lennyga

Allikas: Kuutõrvaja
Redaktsioon seisuga 15. august 2009, kell 13:03 kasutajalt Imre (arutelu | kaastöö) (Arvuti ja telefoni ühenduse seadistamine üle sinihamba)

Sissejuhatus

Mobiiltelefoni abil saab internetti kasutada mitmel moel ja erinevatel eesmärkidel, näiteks

  • kasutades mobiiltelefonis sisalduvat modemit arvuti internetti ühendamiseks selleks, et arvutist kasutada internetti
  • kasutades mobiiltelefonis sisalduvat wifi seadet mobiiltelefoni ühendamiseks wifi võrku selleks, et mobiiltelefonis olevate rakendustega kasutada internetti
  • kasutades mobiiltelefoni üle nö tavalise mobiilsidevõrgu, et telefonis olevate rakendustega, nt brauseriga kasutada internetti

Käesolev pala käsitleb esimest juhtumit eesmärgiga tekitada telefoni abil arvutile internetiühendus. Eelduseks on sarnaste omadustega riistvara ning sideteenus

  • sinihamba (ingl. k. bluetooth) toega arvuti
  • sinihamba ja GPRS vms toega telefon
  • mobiilside operaator (ja nö kasutaja leping) peab võimaldama andmesidet (GPRS vms)

Andmevahetus seadmete vahel käib selliselt

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

Alumises kihis kasutatakse sinihamba ja gprs protokolle andmevahetuseks ning loogilisel tasemel moodustatakse nende peale nö tavalistele arvutiprogrammide andmevahetuse võimaldamiseks PPP ühendus. PPP ühenduse tulemusena tekib arvutile lisaks ppp0 võrguseade, millele teenusepakkuja on omistanud 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.

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.

Telefoni ettevalmistamine

Telefonis tuleb lülitada gprs vms andmesideteenus ja sinihammas sisse ning lisada arvuti wifi seadmete nimekirja.

Arvuti ja telefoni ühenduse seadistamine üle sinihamba

Kuigi nö madalal tasemel kasutatakse arvuti ja telefoni vahelise ühenduse pidamiseks ikkagi samu komponente, on erinevates keskkondades erinevad kasutajataseme vahendid. Käesolevas tekstis käsitletakse selliseid

  • Gnome keskkond
  • nö käsurealt

Debian Lenny tuum ja paketihaldus sisaldab vajalikku tarkvara, midagi eraldi ei ole tarvis võrgust kopeerida.

Gnome keskkonnas

Eeldame, et Gnome keskkond on paigaldatud ja kasutusel ning seda kasutatakse nö tavakasutajana. Arvutisse peavad olema paigaldatud paketid bluetooth ning gnome-bluetooth

 # apt-get install bluetooth gnome-bluetooth

Bluetoothi käivitamiseks tuleb öelda

 # /etc/init.d/bluetooth start

Läheduses oelvate bluetooth seadmete kasutamiseks tuleb kasutajana Gnome keskkonda sisse logida ning seadmed esmalt omavahel paaritada (ingl. k. pairing). Olgu tegu arvuti ja telefoniga, valige Gnome Bluetooth-appletil, millel on abitekst Bluetooth Manager parem hiireklõpsuga avanevast hüpikmenüüst Browsd Device ning võiks avaneda nt selline pilt

Bluetooth-1.gif

Seejärel ilmub telefonile tekst 'Exchange data with fuji-0?', vastates jaatavalt küsib telefon nn Passkey'd, sisestage nt '1111'. Järgmisena avaneb arvutis sarnane Passkey sisestamise aken

Bluetooth-2.gif

Õnnestumise tunnuseks on arvuti korpusel signaaltule süttimine ning mõni teade dmesg'is.

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

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