Bluetooth sur EeePC

De Lea Linux
Aller à la navigation Aller à la recherche

Le Bluetooth sur EeePC

Malheureusement Asus n'a pas cru bon d'installer le nécessaire pour faire du bluetooth simplement avec l'EeePC. Cependant, nous allons y remédier en installant les modules Bluetooth de KDE, KdeBluetooth.

Installation

Pour toutes les commandes ci-dessous, le mieux est de passer dans un shell root, en tapant sudo -s, ou bien d'ajouter sudo devant chaque commande.

Paquets

Le paquet kdebluetooth se trouve sur le dépot XEPC dont un mirroir existe chez tuxfamily. Nous allons ajouter ce mirroir à la liste des dépots de paquets .deb.

Éditez le fichier /etc/apt/sources.list (avec vi, nano, kate ou obiwan kenobi) et ajoutez à la fin la ligne :

deb http://download.tuxfamily.org/xepcrepo/ p701 main

Par exemple, ce fichier est chez moi le suivant :

deb http://update.eeepc.asus.com/p701 p701 main
deb http://update.eeepc.asus.com/p701/fr-channel p701 main
# xepc mirror
deb http://download.tuxfamily.org/xepcrepo/ p701 main

Les lignes qui commencent par # sont des commentaires.

Ensuite,

  • installons la clef de signature du nouveau dépôt par les 2 commandes :
asus:/home/user> wget http://download.tuxfamily.org/xepcrepo/dists/p701/xepc-pubkey.txt
asus:/home/user> apt-key add xepc-pubkey.txt

La première commande télécharge la clef, la deuxième l'installe.

  • mettons à jour les dépots par :

apt-get update

Enfin, installons kdebluetooth et les applications obex par la commande :

apt-get install kdebluetooth openobex-apps

qui doit donner le résultat suivant :

asus:/home/user> apt-get install kdebluetooth openobex-apps
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Les paquets supplémentaires suivants seront installés : 
  libdbus-qt-1-1c2 libkbluetooth0 libopenobex1 python-dbus python-libxml2
Les NOUVEAUX paquets suivants seront installés :
  kdebluetooth libdbus-qt-1-1c2 libkbluetooth0 libopenobex1 openobex-apps
  python-dbus python-libxml2
0 mis à jour, 7 nouvellement installés, 0 à enlever et 50 non mis à jour.
Il est nécessaire de prendre 1857ko dans les archives.
Après dépaquetage, 6849ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ? o
Réception de : 1 http://download.tuxfamily.org p701/main libdbus-qt-1-1c2 0.62.git.20060814-2+eeepc1 [180kB]
Réception de : 2 http://download.tuxfamily.org p701/main libopenobex1 1.3-3+eeepc1 [21,4kB]
Réception de : 3 http://download.tuxfamily.org p701/main libkbluetooth0 1.0~beta8-3+eeepc1 [301kB]
Réception de : 4 http://download.tuxfamily.org p701/main python-libxml2 2.6.27.dfsg-1+eeepc1 [170kB]
Réception de : 5 http://download.tuxfamily.org p701/main python-dbus 0.71-3+eeepc1 [118kB]
Réception de : 6 http://download.tuxfamily.org p701/main kdebluetooth 1.0~beta8-3+eeepc1 [1034kB]
Réception de : 7 http://download.tuxfamily.org p701/main openobex-apps 1.3-3+eeepc1 [33,1kB]
1857ko réceptionnés en 8s (227ko/s)                                            
Sélection du paquet libdbus-qt-1-1c2 précédemment désélectionné.
(Lecture de la base de données... 64748 fichiers et répertoires déjà installés.)
Dépaquetage de libdbus-qt-1-1c2 (à partir de .../libdbus-qt-1-1c2_0.62.git.20060814-2+eeepc1_i386.deb) ...
Sélection du paquet libopenobex1 précédemment désélectionné.
Dépaquetage de libopenobex1 (à partir de .../libopenobex1_1.3-3+eeepc1_i386.deb) ...
Sélection du paquet libkbluetooth0 précédemment désélectionné.
Dépaquetage de libkbluetooth0 (à partir de .../libkbluetooth0_1.0~beta8-3+eeepc1_i386.deb) ...
Sélection du paquet python-libxml2 précédemment désélectionné.
Dépaquetage de python-libxml2 (à partir de .../python-libxml2_2.6.27.dfsg-1+eeepc1_i386.deb) ...
Sélection du paquet python-dbus précédemment désélectionné.
Dépaquetage de python-dbus (à partir de .../python-dbus_0.71-3+eeepc1_i386.deb) ...
Sélection du paquet kdebluetooth précédemment désélectionné.
Dépaquetage de kdebluetooth (à partir de .../kdebluetooth_1.0~beta8-3+eeepc1_i386.deb) ...
Removing obsolete conffile /etc/kde3/obexrc ...
Sélection du paquet openobex-apps précédemment désélectionné.
Dépaquetage de openobex-apps (à partir de .../openobex-apps_1.3-3+eeepc1_i386.deb) ...
Paramétrage de libdbus-qt-1-1c2 (0.62.git.20060814-2+eeepc1) ...

Paramétrage de libopenobex1 (1.3-3+eeepc1) ...

Paramétrage de libkbluetooth0 (1.0~beta8-3+eeepc1) ...

Paramétrage de python-libxml2 (2.6.27.dfsg-1+eeepc1) ...

Paramétrage de python-dbus (0.71-3+eeepc1) ...
Remove stale byte-compiled files...

Paramétrage de kdebluetooth (1.0~beta8-3+eeepc1) ...
Paramétrage de openobex-apps (1.3-3+eeepc1) ...
asus:/home/user> 

Voilà c'est installé !

méthode alternative

Il faut déjà récupérer les paquets suivants chez Xandros :

Pour chacun de ces paquets sauf le dernier, vous pouvez ensuite les installer avec la commande :

dpkg -i le_nom_du_paquet.deb

par exemple :

dpkg -i qobex_0.99+1.0beta2-3_i386.deb

kdebluetooth entre en conflit avec un paquet nommé "kdelibs4c2a" et essaie d'écraser des fichiers de localisation. Vous entrerez donc la commande :

dpkg -i --force-overwrite --ignore-depends=kdelibs4c2a kdebluetooth_0.99+1.0beta2-3_i386.deb

Scripts

Editez /etc/bluetooth/hcid.conf (avec vi, nano, kate ou ce que vous voulez), et modifiez le niveau de sécurité (security level), le code PIN (passkey) et le nom (name). Voici par exemple le contenu de ce fichier chez moi :

#
# HCI daemon configuration file.
#

# HCId options
options {
	# Automatically initialize new devices
	autoinit yes;

	# Security Manager mode
	#   none - Security manager disabled
	#   auto - Use local PIN for incoming connections
	#   user - Always ask user for a PIN
	#
	security none;

	# Pairing mode
	#   none  - Pairing disabled
	#   multi - Allow pairing with already paired devices
	#   once  - Pair once and deny successive attempts
	pairing multi;

	# Default PIN code for incoming connections
	passkey "1234";
}

# Default settings for HCI devices
device {
	# Local device name
	#   %d - device id
	#   %h - host name
	name "%h-%d";

	# Local device class
	class 0x3e0100;

	# Default packet type
	#pkt_type DH1,DM1,HV1;

	# Inquiry and Page scan
	iscan enable; pscan enable;

	# Default link mode
	#   none   - no specific policy 
	#   accept - always accept incoming connections
	#   master - become master on incoming connections,
	#            deny role switch on outgoing connections
	lm accept;

	# Default link policy
	#   none    - no specific policy
	#   rswitch - allow role switch
	#   hold    - allow hold mode
	#   sniff   - allow sniff mode
	#   park    - allow park mode
	lp rswitch,hold,sniff,park;
}

premier lancement et tests

démarrage des services

Démarrez :

  • les démons (daemons) bluetooth par la commande :

/etc/init.d/bluetooth start

  • le bus permettant aux applications de communiquer entre elles :

/etc/init.d/dbus start

  • et l'interface bluetooth par :

hciconfig hci0 up

À ce point là, la diode de ma clef USB bluetooth se met à clignoter.

tests en ligne de commande

Une interface bluetooth est comparable à une interface réseau, avec hciconfig remplaçant ifconfig. En tapant hciconfig dans la console, l'EeePC affiche l'état de l'interface :

hci0:   Type: USB
        BD Address: 11:11:11:11:11:11 ACL MTU: 678:8 SCO MTU: 48:10
        UP RUNNING PSCAN ISCAN 
        RX bytes:91 acl:0 sco:0 events:10 errors:0
        TX bytes:37 acl:0 sco:0 commands:10 errors:0

De plus, en tapant dmesg pour voir les messages système, entre le branchement de la clef et le lancement des services bluetooth, je vois les lignes suivantes :

[15968.260000] usb 2-1: new full speed USB device using uhci_hcd and address 2
[15978.430000] usb 2-1: configuration #1 chosen from 1 choice
[15978.570000] Bluetooth: Core ver 2.11
[15978.580000] NET: Registered protocol family 31
[15978.580000] Bluetooth: HCI device and connection manager initialized
[15978.580000] Bluetooth: HCI socket layer initialized
[15978.580000] Bluetooth: HCI USB driver ver 2.9
[15978.590000] usbcore: registered new interface driver hci_usb
[15990.020000] Bluetooth: L2CAP ver 2.8
[15990.020000] Bluetooth: L2CAP socket layer initialized
[15990.050000] Bluetooth: RFCOMM socket layer initialized
[15990.050000] Bluetooth: RFCOMM TTY layer initialized
[15990.050000] Bluetooth: RFCOMM ver 1.8

Nous allons maintenant tester rapidement en ligne de commande, afin de voir que nous voyons et pouvons établir une communication. Activez donc le bluetooth sur votre appareil (téléphone, PDA, clavier...).

Pour celà, nous allons utiliser l'outil <hcitool> :

Regardons d'abord le périphérique local :

asus-581860474:/home/user> hcitool dev
Devices:
        hci0    11:11:11:11:11:11

Puis cherchons les périphériques bluetooth environnants :

asus-581860474:/home/user> hcitool inq
Inquiring ...
        00:15:DE:04:84:65       clock offset: 0x193a    class: 0x520204

ou avec leur nom :

asus-581860474:/home/user> hcitool scan
Scanning ...
        00:15:DE:04:84:65       Nokia 6111

Ici on voit le nom de mon téléphone mobile.

Note : les chaînes du type 00:15:DE:04:84:65 s'appellent "l'adresse MAC" du périphérique et l'identifient de façon unique (enfin normalement, car mon adaptateur USB à comme adresse 11:11:11:11:11:11 ce qui ne me semble pas très "unique" ;-)

Enfin, comme avec un réseau filaire ou wifi, on peut faire un "ping" (ping pong entre l'EeePC et le périphérique bluetooth) :

asus-581860474:/home/user> l2ping 00:15:DE:04:84:65
Ping: 00:15:DE:04:84:65 from 11:11:11:11:11:11 (data size 44) ...
0 bytes from 00:15:DE:04:84:65 id 0 time 30.98ms
0 bytes from 00:15:DE:04:84:65 id 1 time 25.58ms
0 bytes from 00:15:DE:04:84:65 id 2 time 29.55ms
0 bytes from 00:15:DE:04:84:65 id 3 time 11.55ms
0 bytes from 00:15:DE:04:84:65 id 4 time 19.50ms
5 sent, 5 received, 0% loss

(on arrête en tapant [Ctrl]-[C].)

Cela montre que les 2 périphériques sont prêts à s'échanger des données.

tests en mode graphique

Vous pouvez maintenant repasser en utilisateur normal (plus besoin de sudo). Ouvrez une nouvelle concole, et tapez : kbluetoothd &. Le logo bluetooth doit apparaître dans la zone de notification de la barre des tâches.

automatiser ces commandes

utilisation

transfert de fichiers

utiliser le téléphone comme un modem

Copyright

Copyright © 1/5/2008, Jean-Christophe Cardot

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike icon
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique 4.0 :
https://creativecommons.org/licenses/by-sa/4.0/