Personal tools

Conectarea unui telefon mobil prin Bluetooth (Slackware 12.0)

From linux360

Revision as of 20:10, 23 September 2007 by Gabel (talk | contribs)
Jump to: navigation, search

Introducere

Acest tutorial prezintă modul de configurare a distribuției Slackware Linux 12.0 pentru a permite conectarea la un telefon mobil folosind un adaptor Bluetooth / USB.

Adaptorul Bluetooth/USB este de tipul MSI: Bus 1 Device 2: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)

Singurul telefon mobil pe care am testat aceste informații este Nokia 5200, deci este posibil ca pentru alte tipuri de telefoane mobile să existe diferențe în ceea ce privește setările descrise în acest tutorial.

Informațiile au fost testate pe calculatorul personal (Slackware Linux 12.0, kernel 2.6.22.5-smp, compilat din surse) și pe un calculator virtual (Slackware Linux 12.0, kernel 2.6.21.5-smp), folosind soluția de virtualizare VMware Server, versiunea 1.0.4 build-56528. În ambele situații distribuția a fost instalată cu opțiunea "full". De asemenea, am configurat HAL (Hardware Abstraction Layer) conform CHANGES_AND_HINTS.TXT

În distribuția Slackware Linux 12.0 sunt incluse următoarele pachete necesare pentru conectivitatea prin Bluetooth: bluez-firmware-1.2-i486-1 bluez-hcidump-1.34-i486-1 bluez-libs-3.9-i486-1 bluez-utils-3.9-i486-3 obexftp-0.21-i486-1 openobex-1.3-i486-1

Configurare

  • Stabilirea unei chei-parolă

Conform /usr/doc/bluez-utils-3.9/README.SLACKWARE, trebuie setată o cheie (cod pin) în fișierul de configurare /etc/bluetooth/passkeys/default. Această cheie va fi verificată la conectarea prin Bluetooth și - în funcție de setările telefonului - poate fi cerută la fiecare conectare sau doar la prima conectare.

# echo -n "1234" > /etc/bluetooth/passkeys/default

Aceeași cheie trebuie adăugată și în fișierul de configurare /etc/bluetooth/hcid.conf în secțiunea

  1. Default PIN code for incoming connections
	 passkey "<your passkey>";

După această etapă pornim serviciul bluetooth

  1. cd /etc/rc.d
  2. chmod 0755 rc.bluetooth
  3. ./rc.bluetooth start

  • Configurarea fișierului /etc/bluetooth/rfcomm.conf

Folosind comanda hcitool scan obținem:

Scanning ...
        00:1C:35:41:A4:F9       Nokia 5200

Edităm apoi fișierul de configurare /etc/bluetooth/rfcomm.conf

rfcomm0 {

  1. # Automatically bind the device at startup
       bind yes;
  1. # Bluetooth address of the device
       device 00:1C:35:41:A4:F9;
  1. # RFCOMM channel for the connection
       channel 10;
  1. # Description of the connection
       comment "Nokia 5200";

}

și restartăm serviciul bluetooth:

  1. /etc/rc.d/./rc.bluetooth restart

Stopping Bluetooth subsystem: pand dund rfcomm hidd sdpd hcid. Starting Bluetooth subsystem: hcid passkeys.

  • Verificarea funcționării conectivității Bluetooth

Comanda lsmod

hci_usb 18588 2 bluetooth 53092 7 rfcomm,l2cap,hci_usb

Comanda hciconfig -a

hci0: Type: USB

       BD Address: 00:02:72:D2:20:27 ACL MTU: 310:10 SCO MTU: 64:8
       UP RUNNING PSCAN
       RX bytes:58497 acl:1906 sco:0 events:1862 errors:0
       TX bytes:33532 acl:1670 sco:0 commands:81 errors:0
       Features: 0xff 0xff 0x8f 0xfe 0x90 0xf9 0x00 0x80
       Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
       Link policy: RSWITCH HOLD SNIFF PARK
       Link mode: SLAVE ACCEPT
       Name: 'BlueZ (0)'
       Class: 0x3e0100
       Service Classes: Networking, Rendering, Capturing, Object Transfer, Audio
       Device Class: Computer, Uncategorized
       HCI Ver: 2.0 (0x3) HCI Rev: 0xc5c LMP Ver: 2.0 (0x3) LMP Subver: 0xc5c
       Manufacturer: Cambridge Silicon Radio (10)

Comanda hcitool info 00:1C:35:41:A4:F9

Requesting information ...

       BD Address:  00:1C:35:41:A4:F9
       Device Name: Nokia 5200
       LMP Version: 2.0 (0x3) LMP Subversion: 0x6cc
       Manufacturer: Cambridge Silicon Radio (10)
       Features: 0xbf 0xee 0x0f 0xc6 0x9a 0x39 0x00 0x00
               <3-slot packets> <5-slot packets> <encryption> <slot offset>
               <timing accuracy> <role switch> <sniff mode> <RSSI>
               <channel quality> <SCO link> <HV3 packets> <u-law log>
               <A-law log> <CVSD> <paging scheme> <power control>
               <transparent SCO> <EDR ACL 2 Mbps> <EDR ACL 3 Mbps>
               <inquiry with RSSI> <extended SCO> <EV5 packets>
               <AFH cap. slave> <AFH class. slave> <3-slot EDR ACL>
               <5-slot EDR ACL> <AFH cap. master> <AFH class. master>
               <EDR eSCO 2 Mbps>

  • Utilizarea obexftp

  1. obexftp -b 00:1C:35:41:A4:F9 --list

Browsing 00:1C:35:41:A4:F9 ... Channel: 10 Connecting...done Receiving "(null)"...\<?xml version="1.0"?> <!DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd"

[ <!ATTLIST folder mem-type CDATA #IMPLIED> ]>

<folder-listing version="1.0">

   <folder name="Extra" user-perm="RW" mem-type="MMC"/>
   <folder name="Graphics" created="20060101T000000" user-perm="R" mem-type="DEV"/>
   <folder name="Music files" created="20060101T000000" user-perm="R" mem-type="DEV"/>
   <folder name="Themes" created="20060101T000000" user-perm="RW" mem-type="DEV"/>
   <folder name="Tones" created="20060101T000000" user-perm="R" mem-type="DEV"/>
   <folder name="Video clips" created="20060101T000000" user-perm="R" mem-type="DEV"/>
   <folder name="Images" created="20060101T000000" user-perm="R" mem-type="DEV"/>
   <folder name="Recordings" created="20060101T000000" user-perm="R" mem-type="DEV"/>
   <folder name="Receiv. files" created="20060101T000000" user-perm="R" mem-type="DEV"/>

</folder-listing> done Disconnecting...done

  • Transferul de fișiere

  1. obexftp -b 00:1C:35:41:A4:F9 --put /home/daily/shared/test.png

Browsing 00:1C:35:41:A4:F9 ... Channel: 10 Connecting...done Sending "/home/daily/shared/test.png"...|done Disconnecting...done

Alte aplicații

Din diferite motive, în distribuția Slackware Linux 12.0 nu sunt incluse următoarele aplicații (interfețe grafice pentru conectivitatea cu un telefon mobil):

ultimele 3 pot fi obținute în format tgz de aici

Obextool necesită următoarele comenzi pentru instalare:

  1. cd /path/to/obextool-0.33.tar.gz
  2. tar -zxvf obextool-0.33.tar.gz
  3. rename obextool-0.33 obextool
  4. mv obextool-0.33 /usr/share
  5. mkdir /etc/obextool
  6. cd /usr/share/obextool/etc
  7. cp *.* /etc/obextool
  8. ln -s /usr/share/obextool/contrib/startup/obextool /usr/bin/obextool

Înainte de a porni aplicația este nevoie de instalarea unor dependințe:

Ambele trebuie dezarhivate în /usr/lib/tcl8.4.

Acum puteți rula obextool.