Personal tools

Difference between revisions of "Conectarea unui telefon mobil prin Bluetooth (Slackware 12.0)"

From linux360

Jump to: navigation, search
m (Alte aplicaţii)
m (Verificare, actualizare si completare)
Line 8: Line 8:
 
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.
 
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 [ftp://slackware.cs.utah.edu/pub/slackware/slackware-12.0/CHANGES_AND_HINTS.TXT CHANGES_AND_HINTS.TXT].
+
Informaţiile au fost testate pe calculatorul personal (Slackware Linux 12.0, kernel 2.6.22.5-smp, compilat din surse), pe un notebook Fujitsu Amilo Pro v3515 (Slackware-current) ş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 [ftp://slackware.cs.utah.edu/pub/slackware/slackware-12.0/CHANGES_AND_HINTS.TXT CHANGES_AND_HINTS.TXT].
  
 
În distribuţia Slackware Linux 12.0 sunt incluse următoarele pachete necesare pentru conectivitatea prin Bluetooth:
 
În distribuţia Slackware Linux 12.0 sunt incluse următoarele pachete necesare pentru conectivitatea prin Bluetooth:
Line 21: Line 21:
  
 
==Configurare==
 
==Configurare==
 +
 +
*Încărcarea modulelor de kernel necesare (modificarea fișierului de configurare <tt>/etc/rc.d/rc.molules-<kernel-version>-smp</tt>):
 +
<code>
 +
### Bluetooth modules
 +
/sbin/modprobe cdc_acm
 +
/sbin/modprobe l2cap
 +
/sbin/modprobe bluetooth
 +
/sbin/modprobe sco
 +
/sbin/modprobe rfcomm
 +
</code>
 +
 +
*Crearea unui fișier de configurare în <tt>/etc/udev/rules.d/</tt>:
 +
<code>
 +
# cd /etc/udev/rules.d/
 +
# touch cellular-devices.rules
 +
</code>
 +
 +
Un exemplu (pentru telefonul Nokia 5200):
 +
<code>
 +
BUS=="usb", SYSFS{idVendor}=="0421",SYSFS{idProduct}=="04bc", GROUP="wheel"
 +
</code>
 +
 +
După editarea fișierului este necesară repornirea serviciului udev:
 +
<code>
 +
# /etc/rc.d/./rc.udev restart
 +
</code>
 +
 +
*Editarea fișierului de configurare <tt>/etc/rc.d/rc.bluetooth.conf</tt>:
 +
<code>
 +
# Bluetooth configuraton file
 +
 +
# Start of hcid (allowed values are "true" and "false")
 +
HCID_ENABLE=true
 +
 +
# Config file for hcid
 +
HCID_CONFIG="/etc/bluetooth/hcid.conf"
 +
 +
# Start sdpd (allowed values are "true" and "false")
 +
SDPD_ENABLE=true
 +
 +
# Start hidd (allowed values are "true" and "false")
 +
HIDD_ENABLE=false
 +
 +
# Arguments to hidd
 +
HIDD_OPTIONS=""
 +
 +
# Run hid2hci (allowed values are "true" and "false")
 +
HID2HCI_ENABLE=false
 +
 +
# Bind rfcomm devices (allowed values are "true" and "false")
 +
RFCOMM_ENABLE=true
 +
 +
# Config file for rfcomm
 +
RFCOMM_CONFIG="/etc/bluetooth/rfcomm.conf"
 +
 +
# Start dund (allowed values are "true" and "false")
 +
DUND_ENABLE=false
 +
 +
# Arguments to dund
 +
DUND_OPTIONS="--listen --persist"
 +
 +
# Start pand (allowed values are "true" and "false")
 +
PAND_ENABLE=false
 +
 +
# Arguments to pand
 +
PAND_OPTIONS="--listen --role NAP"
 +
</code>
  
 
*Stabilirea unei chei-parolă
 
*Stabilirea unei chei-parolă
Line 178: Line 245:
 
</code>
 
</code>
  
Înainte de a porni aplicaţia este nevoie de instalarea unor dependinţe: BWidget ([http://sourceforge.net/project/showfiles.php?group_id=12883&package_id=23786&release_id=454676 de aici]) şi tablelist ([http://www.nemethi.de/ de aici]). Ambele trebuie doar dezarhivate în <tt>/usr/lib/tcl8.4</tt>.
+
Înainte de a porni aplicaţia este nevoie de instalarea unor dependinţe: BWidget ([http://sourceforge.net/project/showfiles.php?group_id=12883&package_id=23786&release_id=454676 de aici]) și tablelist ([http://www.nemethi.de/ de aici]). Ambele trebuie doar dezarhivate în <tt>/usr/lib/tcl8.4</tt>, apoi trebuie rulată comanda <tt>ldconfig</tt>.
 
+
De asemenea, trebuie editat fișierul <tt>/etc/obextool/obextool.cfg</tt> și modificată linia:
 +
<code>
 +
set ObexConfig(config,memstatus) 1
 +
</code>
 +
în
 +
<code>
 +
set ObexConfig(config,memstatus) 0
 +
</code>
 +
[[Image:kmobiletools.png|right|thumb|300px|KMobileTools & Nokia 5200]]
 
*gnokii (http://www.gnokii.org/) - numai pentru anumite tipuri de telefoane, detalii pe [http://wiki.gnokii.org/index.php/Main_Page gnokii wiki].
 
*gnokii (http://www.gnokii.org/) - numai pentru anumite tipuri de telefoane, detalii pe [http://wiki.gnokii.org/index.php/Main_Page gnokii wiki].
 
*kdebluetooth ([http://bluetooth.kmobiletools.org/ new Home Page] / [http://kde-bluetooth.sourceforge.net/index.html old Home Page])
 
*kdebluetooth ([http://bluetooth.kmobiletools.org/ new Home Page] / [http://kde-bluetooth.sourceforge.net/index.html old Home Page])
Ultimele 2 aplicaţii pot fi obţinute în format <tt>tgz</tt> de [http://www.slacky.eu/repository/slackware-12.0/network/ aici].
+
*KMobileTools (http://www.kmobiletools.org/).
 +
 
 +
Ultimele 3 aplicaţii pot fi obţinute în format <tt>tgz</tt> de [http://repository.slacky.eu/slackware-12.0/network/ aici].
  
 
[[Category:Slackware Linux]]
 
[[Category:Slackware Linux]]

Revision as of 19:47, 27 April 2008

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), pe un notebook Fujitsu Amilo Pro v3515 (Slackware-current) ş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

  • Încărcarea modulelor de kernel necesare (modificarea fișierului de configurare /etc/rc.d/rc.molules-<kernel-version>-smp):

      1. Bluetooth modules

/sbin/modprobe cdc_acm /sbin/modprobe l2cap /sbin/modprobe bluetooth /sbin/modprobe sco /sbin/modprobe rfcomm

  • Crearea unui fișier de configurare în /etc/udev/rules.d/:

  1. cd /etc/udev/rules.d/
  2. touch cellular-devices.rules

Un exemplu (pentru telefonul Nokia 5200): BUS=="usb", SYSFS{idVendor}=="0421",SYSFS{idProduct}=="04bc", GROUP="wheel"

După editarea fișierului este necesară repornirea serviciului udev:

  1. /etc/rc.d/./rc.udev restart

  • Editarea fișierului de configurare /etc/rc.d/rc.bluetooth.conf:

  1. Bluetooth configuraton file
  1. Start of hcid (allowed values are "true" and "false")

HCID_ENABLE=true

  1. Config file for hcid

HCID_CONFIG="/etc/bluetooth/hcid.conf"

  1. Start sdpd (allowed values are "true" and "false")

SDPD_ENABLE=true

  1. Start hidd (allowed values are "true" and "false")

HIDD_ENABLE=false

  1. Arguments to hidd

HIDD_OPTIONS=""

  1. Run hid2hci (allowed values are "true" and "false")

HID2HCI_ENABLE=false

  1. Bind rfcomm devices (allowed values are "true" and "false")

RFCOMM_ENABLE=true

  1. Config file for rfcomm

RFCOMM_CONFIG="/etc/bluetooth/rfcomm.conf"

  1. Start dund (allowed values are "true" and "false")

DUND_ENABLE=false

  1. Arguments to dund

DUND_OPTIONS="--listen --persist"

  1. Start pand (allowed values are "true" and "false")

PAND_ENABLE=false

  1. Arguments to pand

PAND_OPTIONS="--listen --role NAP"

  • 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. mv obextool-0.33 /usr/share/obextool
  4. mkdir /etc/obextool
  5. cd /usr/share/obextool/etc
  6. cp *.* /etc/obextool
  7. 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, apoi trebuie rulată comanda ldconfig. De asemenea, trebuie editat fișierul /etc/obextool/obextool.cfg și modificată linia: set ObexConfig(config,memstatus) 1 în set ObexConfig(config,memstatus) 0

KMobileTools & Nokia 5200

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