Personal tools

Conectarea unui telefon mobil prin Bluetooth (Slackware 12.0)

From linux360

Revision as of 23:35, 4 February 2008 by Gabel (talk | contribs) (Mutat la categoria 'Slackware Linux')
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):

Obextool & Nokia 5200

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: BWidget (de aici) şi tablelist (de aici). Ambele trebuie doar dezarhivate în /usr/lib/tcl8.4.

Ultimele 2 aplicaţii pot fi obţinute în format tgz de aici.