« Bluetooth sur EeePC » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
(balises code)
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 1 : Ligne 1 :
[[Catégorie:Eee PC]]
= Le Bluetooth sur EeePC =
= Le Bluetooth sur EeePC =


Ligne 5 : Ligne 6 :
== Installation ==
== Installation ==


Pour toutes les commandes ci-dessous, le mieux est de passer dans un shell root, en tapant <code>sudo -s</code>, ou bien d'ajouter <code>sudo</code> devant chaque commande.
Pour toutes les commandes ci-dessous, le mieux est de passer dans un shell root, en tapant <div class="code">sudo -s</div>, ou bien d'ajouter <div class="code">sudo</div> devant chaque commande.


=== Paquets ===
=== Paquets ===
Ligne 13 : Ligne 14 :
Éditez le fichier /etc/apt/sources.list (avec [[Software-soft_edit-vi|vi]], nano, kate ou obiwan kenobi) et ajoutez à la fin la ligne :
Éditez le fichier /etc/apt/sources.list (avec [[Software-soft_edit-vi|vi]], nano, kate ou obiwan kenobi) et ajoutez à la fin la ligne :


<code multi>deb http://download.tuxfamily.org/xepcrepo/ p701 main</code>
<div class="code">deb http://download.tuxfamily.org/xepcrepo/ p701 main</div>


Par exemple, ce fichier est chez moi le suivant :
Par exemple, ce fichier est chez moi le suivant :
<code>deb http://update.eeepc.asus.com/p701 p701 main
<div class="code">
deb http://update.eeepc.asus.com/p701/fr-channel p701 main
deb http://update.eeepc.asus.com/p701 p701 main
# xepc mirror
deb http://update.eeepc.asus.com/p701/fr-channel p701 main
deb http://download.tuxfamily.org/xepcrepo/ p701 main
# xepc mirror
</code>
deb http://download.tuxfamily.org/xepcrepo/ p701 main
</div>


Les lignes qui commencent par # sont des commentaires.
Les lignes qui commencent par # sont des commentaires.


Ensuite,
Ensuite,  
 
* installons la clef de signature du nouveau dépôt par les 2 commandes :
* installons la clef de signature du nouveau dépôt par les 2 commandes :


<code multi>asus:/home/user> wget http://download.tuxfamily.org/xepcrepo/dists/p701/xepc-pubkey.txt
<div class="code">
asus:/home/user> apt-key add xepc-pubkey.txt</code>
asus:/home/user> wget http://download.tuxfamily.org/xepcrepo/dists/p701/xepc-pubkey.txt
asus:/home/user> apt-key add xepc-pubkey.txt
</div>


La première commande télécharge la clef, la deuxième l'installe.
La première commande télécharge la clef, la deuxième l'installe.
Ligne 35 : Ligne 38 :
* mettons à jour les dépots par :
* mettons à jour les dépots par :


<code multi># apt-get update</code>
<div class="code"># apt-get update</div>


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


<code multi># apt-get install kdebluetooth openobex-apps</code>
<div class="code"># apt-get install kdebluetooth openobex-apps</div>


qui doit donner le résultat suivant :
qui doit donner le résultat suivant :


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


Paramétrage de libkbluetooth0 (1.0~beta8-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-libxml2 (2.6.27.dfsg-1+eeepc1) ...


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


Paramétrage de kdebluetooth (1.0~beta8-3+eeepc1) ...
Paramétrage de kdebluetooth (1.0~beta8-3+eeepc1) ...
Paramétrage de openobex-apps (1.3-3+eeepc1) ...
Paramétrage de openobex-apps (1.3-3+eeepc1) ...
# _</code>
# _
</div>


Voilà c'est installé !
Voilà c'est installé !
Ligne 107 : Ligne 113 :
Pour chacun de ces paquets sauf le dernier, vous pouvez ensuite les installer avec la commande :
Pour chacun de ces paquets sauf le dernier, vous pouvez ensuite les installer avec la commande :


<code multi># dpkg -i le_nom_du_paquet.deb</code>
<div class="code"># dpkg -i le_nom_du_paquet.deb</div>


par exemple :
par exemple :


<code multi># dpkg -i qobex_0.99+1.0beta2-3_i386.deb</code>
<div class="code"># dpkg -i qobex_0.99+1.0beta2-3_i386.deb</div>


kdebluetooth entre en conflit avec un paquet nommé "kdelibs4c2a" et essaie d'écraser des fichiers de localisation (venant du paquet kde-i18n-fr). Vous entrerez donc la commande :
kdebluetooth entre en conflit avec un paquet nommé "kdelibs4c2a" et essaie d'écraser des fichiers de localisation (venant du paquet kde-i18n-fr). Vous entrerez donc la commande :


<code multi># dpkg -i --force-overwrite --ignore-depends=kdelibs4c2a kdebluetooth_0.99+1.0beta2-3_i386.deb</code>
<div class="code"># dpkg -i --force-overwrite --ignore-depends=kdelibs4c2a kdebluetooth_0.99+1.0beta2-3_i386.deb</div>


Pour cette raison, la méthode d'installation présentée au début doit être préférée, car il n'est jamais bon de forcer la main à dpkg ou d'ignorer les dépendances...
Pour cette raison, la méthode d'installation présentée au début doit être préférée, car il n'est jamais bon de forcer la main à dpkg ou d'ignorer les dépendances...
Ligne 123 : Ligne 129 :
Editez /etc/bluetooth/hcid.conf (avec [[Software-soft_edit-vi|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 :
Editez /etc/bluetooth/hcid.conf (avec [[Software-soft_edit-vi|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 :


<code>#
<div class="code">
# HCI daemon configuration file.
#
#
# HCI daemon configuration file.
 
#  
# HCId options
options {
# HCId options
options {
# Automatically initialize new devices
# Automatically initialize new devices
autoinit yes;
autoinit yes;
Ligne 147 : Ligne 154 :
# Default PIN code for incoming connections
# Default PIN code for incoming connections
passkey "1234";
passkey "1234";
}
}


# Default settings for HCI devices
# Default settings for HCI devices
device {
device {
# Local device name
# Local device name
#  %d - device id
#  %d - device id
Ligne 179 : Ligne 186 :
#  park    - allow park mode
#  park    - allow park mode
lp rswitch,hold,sniff,park;
lp rswitch,hold,sniff,park;
}</code>
}
</div>


== premier lancement et tests ==
== premier lancement et tests ==
Ligne 189 : Ligne 197 :
* les démons (daemons) bluetooth par la commande :
* les démons (daemons) bluetooth par la commande :


<code multi># /etc/init.d/bluetooth start</code>
<div class="code"># /etc/init.d/bluetooth start</div>


* le bus permettant aux applications de communiquer entre elles :
* le bus permettant aux applications de communiquer entre elles :


<code multi># /etc/init.d/dbus start</code>
<div class="code"># /etc/init.d/dbus start</div>


* et l'interface bluetooth par :
* et l'interface bluetooth par :


<code multi># hciconfig hci0 up</code>
<div class="code"># hciconfig hci0 up</div>


À ce point là, la diode de ma clef USB bluetooth se met à clignoter.
À ce point là, la diode de ma clef USB bluetooth se met à clignoter.
Ligne 203 : Ligne 211 :
=== tests en ligne de commande ===
=== tests en ligne de commande ===


Une interface bluetooth est comparable à une interface réseau, avec hciconfig remplaçant ifconfig. En tapant <code>hciconfig</code> dans la console, l'EeePC affiche l'état de l'interface :
Une interface bluetooth est comparable à une interface réseau, avec hciconfig remplaçant ifconfig. En tapant <div class="code">hciconfig</div> dans la console, l'EeePC affiche l'état de l'interface :


<code>hci0:  Type: USB
<div class="code">
        BD Address: 11:11:11:11:11:11 ACL MTU: 678:8 SCO MTU: 48:10
hci0:  Type: USB
        UP RUNNING PSCAN ISCAN  
BD Address: 11:11:11:11:11:11 ACL MTU: 678:8 SCO MTU: 48:10
        RX bytes:91 acl:0 sco:0 events:10 errors:0
UP RUNNING PSCAN ISCAN  
        TX bytes:37 acl:0 sco:0 commands:10 errors:0</code>
RX bytes:91 acl:0 sco:0 events:10 errors:0
TX bytes:37 acl:0 sco:0 commands:10 errors:0
</div>


De plus, en tapant <code>dmesg</code> pour voir les messages système, entre le branchement de la clef et le lancement des services bluetooth, je vois les lignes suivantes :
De plus, en tapant <div class="code">dmesg</div> pour voir les messages système, entre le branchement de la clef et le lancement des services bluetooth, je vois les lignes suivantes :


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


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...).
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...).
Ligne 233 : Ligne 245 :
Regardons d'abord le périphérique local :
Regardons d'abord le périphérique local :


<code>asus:/home/user> hcitool dev
<div class="code">
Devices:
asus:/home/user> hcitool dev
Devices:
         hci0    11:11:11:11:11:11
         hci0    11:11:11:11:11:11
</code>
</div>


Puis cherchons les périphériques bluetooth environnants :
Puis cherchons les périphériques bluetooth environnants :


<code>asus:/home/user> hcitool inq
<div class="code">  
Inquiring ...
asus:/home/user> hcitool inq
Inquiring ...
         00:15:DE:04:84:65      clock offset: 0x193a    class: 0x520204
         00:15:DE:04:84:65      clock offset: 0x193a    class: 0x520204
</code>
</div>


ou avec leur nom :
ou avec leur nom :


<code>asus:/home/user> hcitool scan
<div class="code">
Scanning ...
asus:/home/user> hcitool scan
Scanning ...
         00:15:DE:04:84:65      Nokia 6111
         00:15:DE:04:84:65      Nokia 6111
</code>
</div>


Ici on voit le nom de mon téléphone mobile.
Ici on voit le nom de mon téléphone mobile.
Ligne 258 : Ligne 273 :
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) :
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) :


<code>asus:/home/user> l2ping 00:15:DE:04:84:65
<div class="code">
Ping: 00:15:DE:04:84:65 from 11:11:11:11:11:11 (data size 44) ...
asus:/home/user> l2ping 00:15:DE:04:84:65
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
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 2 time 29.55ms
0 bytes from 00:15:DE:04:84:65 id 0 time 30.98ms
0 bytes from 00:15:DE:04:84:65 id 3 time 11.55ms
0 bytes from 00:15:DE:04:84:65 id 1 time 25.58ms
0 bytes from 00:15:DE:04:84:65 id 4 time 19.50ms
0 bytes from 00:15:DE:04:84:65 id 2 time 29.55ms
5 sent, 5 received, 0% loss
0 bytes from 00:15:DE:04:84:65 id 3 time 11.55ms
</code>
0 bytes from 00:15:DE:04:84:65 id 4 time 19.50ms
(on arrête en tapant <key>Ctrl</key>-<key>C</key>.)
5 sent, 5 received, 0% loss
</div>
(on arrête en tapant <b>Ctrl</b>-<b>C</b>.)


Cela montre que les 2 périphériques sont prêts à s'échanger des données.
Cela montre que les 2 périphériques sont prêts à s'échanger des données.
Ligne 273 : Ligne 290 :
=== tests et configuration en mode graphique ===
=== tests et configuration en mode graphique ===


Vous pouvez maintenant repasser en utilisateur normal (plus besoin de sudo). Ouvrez une nouvelle concole, et tapez : <code>kbluetooth &</code>. Le logo bluetooth doit apparaître dans la zone de notification de la barre des tâches.
Vous pouvez maintenant repasser en utilisateur normal (plus besoin de sudo). Ouvrez une nouvelle concole, et tapez : <div class="code">kbluetooth &</div>. Le logo bluetooth doit apparaître dans la zone de notification de la barre des tâches.


[[Image:Notify_bt.png]]
[[Image:Notify_bt.png]]
Ligne 294 : Ligne 311 :
Il suffit en fait de démarrer le service bluetooth lors du démarrage, et de l'arrêter lors de l'arrêt de la machine ou de son redémarrage.
Il suffit en fait de démarrer le service bluetooth lors du démarrage, et de l'arrêter lors de l'arrêt de la machine ou de son redémarrage.


Pour le démarrage du service bluetooth, éditez le fichier <code>/usr/sbin/services.sh</code>, cherchez la ligne
Pour le démarrage du service bluetooth, éditez le fichier <div class="code">/usr/sbin/services.sh</div>, cherchez la ligne
<code multi>modprobe usb-storage</code>
<div class="code">
modprobe usb-storage
</div>
et ajoutez dessous :
et ajoutez dessous :
<code># démarrage de la pile Bluetooth
<div class="code">
hciconfig hci0 reset
# démarrage de la pile Bluetooth
/usr/sbin/invoke-rc.d bluetooth start
hciconfig hci0 reset
</code>
/usr/sbin/invoke-rc.d bluetooth start
</div>


Pour l'arrêt du service bluetooth, éditez de la même façon <code>/sbin/fastshutdown.sh</code> et <code>/sbin/fasttreboot.sh</code> de la manière décrite dans l'article [[La distribution Linux Xandros de l'EeePC#l'arrêt|La distribution Linux Xandros de l'EeePC]]
Pour l'arrêt du service bluetooth, éditez de la même façon <div class="code">/sbin/fastshutdown.sh</div> et <div class="code">/sbin/fasttreboot.sh</div> de la manière décrite dans l'article [[La distribution Linux Xandros de l'EeePC#l'arrêt|La distribution Linux Xandros de l'EeePC]]


<u>Note</u> : si vous avez une souris ou un clavier bluetooth, il faut éditer le fichier <code>/etc/default/bluetooth</code> et remplacer <code>HIDD_ENABLED=0</code> par <code>HIDD_ENABLED=1</code> afin de la prendre en compte automatiquement au démarrage.
<u>Note</u> : si vous avez une souris ou un clavier bluetooth, il faut éditer le fichier <div class="code">/etc/default/bluetooth</div> et remplacer <div class="code">HIDD_ENABLED=0</div> par <div class="code">HIDD_ENABLED=1</div> afin de la prendre en compte automatiquement au démarrage.


== utilisation ==
== utilisation ==
Ligne 331 : Ligne 351 :
==== recevoir des fichiers ====
==== recevoir des fichiers ====


Tout d'abord rendez votre EeePC visible (en mode graphique voir ci-dessus, ou en tapant la commande <code>sudo hciconfig hci0 piscan</code>).
Tout d'abord rendez votre EeePC visible (en mode graphique voir ci-dessus, ou en tapant la commande <div class="code">sudo hciconfig hci0 piscan</div>).


Ensuite, depuis votre appareil bluetooth (téléphone, pda...), envoyez un fichier vers l'EeePC. Pour ça je vous renvoie à la notice de votre appareil ;-)
Ensuite, depuis votre appareil bluetooth (téléphone, pda...), envoyez un fichier vers l'EeePC. Pour ça je vous renvoie à la notice de votre appareil ;-)
Ligne 363 : Ligne 383 :
==== en ligne de commande ====
==== en ligne de commande ====


Pour parcourir le système de fichiers du périphérique en ligne de commande, nous allons utiliser <code>obexftp</code>.
Pour parcourir le système de fichiers du périphérique en ligne de commande, nous allons utiliser <div class="code">obexftp</div>.


===== installer obexftp =====
===== installer obexftp =====
Ligne 369 : Ligne 389 :
Pour l'installer, nous allons temporairement ajouter une source de logiciels. Dans le fichier /etc/apt/sources.list, ajoutez la ligne suivante :
Pour l'installer, nous allons temporairement ajouter une source de logiciels. Dans le fichier /etc/apt/sources.list, ajoutez la ligne suivante :


<code multi>deb http://http.us.debian.org/debian stable main</code>
<div class="code">deb http://http.us.debian.org/debian stable main</div>


puis tapez la commande <code>apt-get update</code> pour récupérer la liste des paquets disponibles.
puis tapez la commande <div class="code">apt-get update</div> pour récupérer la liste des paquets disponibles.


Tapez <code>apt-get install obexftp</code> pour installer le logiciel.
Tapez <div class="code">apt-get install obexftp</div> pour installer le logiciel.


Enfin, nous allons retirer la ligne ajoutée dans /etc/apt/sources.list, ou la commenter en la faisant précéder par #, puis remettre à jour la liste des paquets par <code>apt-get update</code>.
Enfin, nous allons retirer la ligne ajoutée dans /etc/apt/sources.list, ou la commenter en la faisant précéder par #, puis remettre à jour la liste des paquets par <div class="code">apt-get update</div>


===== utiliser obexftp =====
===== utiliser obexftp =====
Ligne 381 : Ligne 401 :
Commençons par nous connecter au périphérique. Nous devons chercher son adresse MAC (voir ci-dessus), puis le canal du service FTP :
Commençons par nous connecter au périphérique. Nous devons chercher son adresse MAC (voir ci-dessus), puis le canal du service FTP :


<code>/home/user> sdptool search --bdaddr 00:15:DE:04:84:65 FTP
<div class="code">
Searching for FTP on 00:15:DE:04:84:65 ...
/home/user> sdptool search --bdaddr 00:15:DE:04:84:65 FTP
Service Name: OBEX File Transfer
 
Service RecHandle: 0x1000c
Searching for FTP on 00:15:DE:04:84:65 ...
Service Class ID List:
Service Name: OBEX File Transfer
Service RecHandle: 0x1000c
Service Class ID List:
   "OBEX File Transfer" (0x1106)
   "OBEX File Transfer" (0x1106)
Protocol Descriptor List:
Protocol Descriptor List:
   "L2CAP" (0x0100)
   "L2CAP" (0x0100)
   "RFCOMM" (0x0003)
   "RFCOMM" (0x0003)
     Channel: 10
     Channel: 10
   "OBEX" (0x0008)
   "OBEX" (0x0008)
Language Base Attr List:
Language Base Attr List:
   code_ISO639: 0x656e
   code_ISO639: 0x656e
   encoding:    0x6a
   encoding:    0x6a
   base_offset: 0x100
   base_offset: 0x100
Profile Descriptor List:
Profile Descriptor List:
   "OBEX File Transfer" (0x1106)
   "OBEX File Transfer" (0x1106)
     Version: 0x0100</code>
     Version: 0x0100
</div>


Notez le numéro de canal sur la ligne "Channel:", ici 10.
Notez le numéro de canal sur la ligne "Channel:", ici 10.
Ligne 411 : Ligne 434 :


Voir [http://wiki.eeeuser.com/howto:bluetoothdongles#connecting_a_bluetooth_keyboard_and_or_mouse Cet article sur wiki.eeeuser.com] {{flag-en}}
Voir [http://wiki.eeeuser.com/howto:bluetoothdongles#connecting_a_bluetooth_keyboard_and_or_mouse Cet article sur wiki.eeeuser.com] {{flag-en}}
<br/>
<br/>
'''<b>[[EeePC|@ Retour à la rubrique Eee PC]]</b>'''


= Copyright =
= Copyright =
Copyright &copy; 1/5/2008, [[Utilisateur:LeaJice|Jean-Christophe Cardot]]
Copyright &copy; 1/5/2008, [[Utilisateur:LeaJice|Jean-Christophe Cardot]]
{{CC-BY-SA}}
{{CC-BY-SA}}
<hr />
[[EeePC|Retour à la page EeePC]]
<hr />

Dernière version du 28 avril 2012 à 16:07

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 :

Par exemple, ce fichier est chez moi le suivant :

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 :

# 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) ...
# _

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 (venant du paquet kde-i18n-fr). Vous entrerez donc la commande :

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

Pour cette raison, la méthode d'installation présentée au début doit être préférée, car il n'est jamais bon de forcer la main à dpkg ou d'ignorer les dépendances...

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:/home/user> hcitool dev
Devices:
       hci0    11:11:11:11:11:11

Puis cherchons les périphériques bluetooth environnants :

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

ou avec leur nom :

asus:/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:/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 et configuration en mode graphique

Vous pouvez maintenant repasser en utilisateur normal (plus besoin de sudo). Ouvrez une nouvelle concole, et tapez :

kbluetooth &

. Le logo bluetooth doit apparaître dans la zone de notification de la barre des tâches.

Faites un clic droit sur l'icone bluetooth, puis "Configuration" et enfin "Adapters...". Ici vous pouvez choisir la classe (en l'occurence "laptop") et rendre l'EeePC "discoverable", c'est à dire visible par les autres périphériques Bluetooth.

Vous pouvez également changer le nom de votre EeePC tel que les autres périphériques bluetooth le voient, et consulter l'adresse MAC de votre adaptateur bluetooth.

Enfin, si vous souhaitez recevoir des fichiers, assurez-vous que le serveur Obex soit activé :

automatiser ces commandes

Nous allons décrire ci-dessous comment automatiser ces commandes de telle sorte que vous n'avez plus qu'à brancher la clef bluetooth pour que tout fonctionne.

Il suffit en fait de démarrer le service bluetooth lors du démarrage, et de l'arrêter lors de l'arrêt de la machine ou de son redémarrage.

Pour le démarrage du service bluetooth, éditez le fichier

/usr/sbin/services.sh

, cherchez la ligne

modprobe usb-storage

et ajoutez dessous :

# démarrage de la pile Bluetooth
hciconfig hci0 reset
/usr/sbin/invoke-rc.d bluetooth start

Pour l'arrêt du service bluetooth, éditez de la même façon

/sbin/fastshutdown.sh

et

/sbin/fasttreboot.sh

de la manière décrite dans l'article La distribution Linux Xandros de l'EeePC Note : si vous avez une souris ou un clavier bluetooth, il faut éditer le fichier

/etc/default/bluetooth

et remplacer

HIDD_ENABLED=0

par

HIDD_ENABLED=1

afin de la prendre en compte automatiquement au démarrage.

utilisation

transfert de fichiers

envoyer des fichiers

Faites un clic droit sur l'icone bluetooth, puis "Envoyer fichier..." ou "Send file...".

Vous verrez apparaître la fenêtre ci-dessous :

  • attendez qu'elle trouve votre ou vos appareils (sinon appuyez sur le bouton [Rechercher], parfois il faut plusieurs essais),
  • si vous avez plusieurs appareils bluetooth, sélectionnez celui vers lequel vous souhaitez envoyer le fichier,
  • puis naviguez dans la zone du haut pour trouver le fichier,
  • placez-le dans la zone en bas à droite (drag'n drop),
  • enfin, appuyez sur le bouton [Envoyer].

Vous verrez alors une barre de progression vous montrant l'avancement du transfert :

recevoir des fichiers

Tout d'abord rendez votre EeePC visible (en mode graphique voir ci-dessus, ou en tapant la commande

sudo hciconfig hci0 piscan

).

Ensuite, depuis votre appareil bluetooth (téléphone, pda...), envoyez un fichier vers l'EeePC. Pour ça je vous renvoie à la notice de votre appareil ;-)

L'EeePC va vous demander de confirmer la réception :

Dans cette boîte de dialogue, vous pouvez choisir de toujours autoriser (allow) le périphérique à envoyer des fichiers, auquel cas cette boîte de dialogue ne vous sera plus présentée. Vous pouvez aussi ne rien changer et appuyer simplement sur le bouton Accepter.

Vous verrez ensuite apparaître une fenêtre vous montrant la progression du transfert :

À la fin, vous devez sauvegarder les fichiers dans un répertoire. Choisissez-le et appuyez sur le bouton Save.

Note : si vous appuyez sur le bouton Cancel (Annuler), les fichiers reçus seront perdus.

parcourir le système de fichiers

Note: pour le moment je ne suis pas encore à faire fonctionner cette fonctionnalité. Pour échanger des fichiers, j'utilise donc la méthode présentée ci-dessus, qui a le mérite de fonctionner sans problème. Cependant je suis preneur de toute information concernant ce chapitre, afin de mettre à jour l'article.

en mode graphique

Normalement, en cliquant sur l'icône Bluetooth dans la zone de notification, vous devez voir apparaître une fenêtre de l'explorateur de fichiers (Konqueror), avec les périphériques Bluetooth visibles. Vous pouvez alors cliquer sur le périphérique et parcourir les images, vidéos, sons, etc. comme si l'appareil était un disque dur. C'est à mon avis la manière la plus confortable d'échanger des fichiers.

Cependant je ne suis pas encore arrivé à le faire fonctionner. Il s'agit d'un problème logiciel que je dois investiguer, car avec une clef USB bootable contenant une Mandriva Flash 2007.0, cela fonctionne, ainsi qu'avec la méthode alternative d'installation présentée plus haut (mais qui doit être évitée car elle "corrompt" la base de données des logiciels installés).

en ligne de commande

Pour parcourir le système de fichiers du périphérique en ligne de commande, nous allons utiliser

obexftp

.

installer obexftp

Pour l'installer, nous allons temporairement ajouter une source de logiciels. Dans le fichier /etc/apt/sources.list, ajoutez la ligne suivante :

puis tapez la commande

apt-get update

pour récupérer la liste des paquets disponibles. Tapez

apt-get install obexftp

pour installer le logiciel. Enfin, nous allons retirer la ligne ajoutée dans /etc/apt/sources.list, ou la commenter en la faisant précéder par #, puis remettre à jour la liste des paquets par

apt-get update
utiliser obexftp

Commençons par nous connecter au périphérique. Nous devons chercher son adresse MAC (voir ci-dessus), puis le canal du service FTP :

/home/user> sdptool search --bdaddr 00:15:DE:04:84:65 FTP
Searching for FTP on 00:15:DE:04:84:65 ...
Service Name: OBEX File Transfer
Service RecHandle: 0x1000c
Service Class ID List:
 "OBEX File Transfer" (0x1106)
Protocol Descriptor List:
 "L2CAP" (0x0100)
 "RFCOMM" (0x0003)
   Channel: 10
 "OBEX" (0x0008)
Language Base Attr List:
 code_ISO639: 0x656e
 encoding:    0x6a
 base_offset: 0x100
Profile Descriptor List:
 "OBEX File Transfer" (0x1106)
   Version: 0x0100

Notez le numéro de canal sur la ligne "Channel:", ici 10.

Pour le moment, je suis bloqué plus ou moins à ce stade ; je n'arrive pas non plus à parcourir le système de fichiers en ligne de commande.

utiliser le téléphone comme un modem pour se connecter à internet en GPRS ou 3G

N'ayant pas moi-même encore utilisé cette possibilité, je vous renvoie à la page d'un outil de configuration : GPRS Configuration Utility sur 3eportail.com

connecter un clavier et/ou une souris bluetooth

Voir Cet article sur wiki.eeeuser.com



@ Retour à la rubrique Eee PC

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/