Ceci est une ancienne révision du document !



Le bluetooth sous Ubuntu 6.06 LTS

Pour Ubuntu ≥ 7.04, cette page n'est plus à jour, vous devez vous référer à cette page.

Cette page se propose de vous aider à utiliser le système d'exploitation Ubuntu GNU/Linux 6.06 LTS pour échanger des fichiers avec un appareil bluetooth mobile (GSM ou autre).

Je suppose que vous disposez d'un système d'exploitation Ubuntu fonctionnel et standard. Je teste toutes ces fonctionnalités avec un GSM Sony Ericsson k750i et un Nokia 3650.

Il vous faut aussi les dépôts universe et multiverse que l'on peut ajouter comme ceci

Tests réussis

→ Voir la page « Bluetooth : matériel pris en charge »

Vous devez avoir un appareil fonctionnant avec le bluetooth ainsi qu'un ordinateur disposant d'un moyen quelconque d'accéder à un périphérique Bluetooth (carte intégrée, dongle USB, etc.)

Paquets à télécharger:

bluez-pcmcia-support, bluez-pin, et bluez-utils sont installés par défaut.

Installez les paquets gnome-bluetooth, python2.4-libbtctl.

L'utilisation s'avère assez simple. Faites Application → Accessoires → Partage de fichier Bluetooth, une icône vient s'ajouter à la barre des tâches.

Sur votre appareil mobile, sélectionnez une ressource (son, image, …), transférez-la par bluetooth (référence a votre manuel si vous ne savez pas comment faire). Le périphérique cherche un moment puis trouve quelque chose qui s'appelle ubuntu-0 si votre pc s'appelle ubuntu.

Sélectionnez-le et on vous demande un mot de passe. On verra plus tard comment changer ce mot de passe qui est par défaut 1234. Quand le mot de passe est validé, une fenêtre s'ouvre dans Gnome et l'icône bleue s'agite. On vous demande si vous êtes d'accord pour recevoir le fichier.

vous acceptez et le transfert débute. À la fin du transfert, on vous propose d'enregistrer ou de visualiser le fichier. Si vous l'enregistrez, il sera placé dans votre répertoire personnel (Raccourcis → Dossier personnel).

Changer le code pin peut rendre inutilisable votre connexion bluetooth pour la session.

Ce mot de passe est par défaut "1234". Il se trouve dans le répertoire /etc/bluetooth. Mais nous allons faire en sorte que le mot de pass vous soit demandé. Il faut disposer des privilèges super-utilisateur pour l'ouvrir :

  • ALT+F2
  • Entrez gksudo gedit (ou l'éditeur de texte graphique de votre choix)
  • Entrez votre mot de pass
  • Faites fichier > ouvrir
  • Allez dans /etc/bluetooth/hcid.conf
  • Indiquez security user;
  • Indiquez pin_helper /usr/bin/bluepin;
  • Sauvegardez et quittez

Il est nécessaire de rédémarrer le service pour changer le code pin. Pour ceci ouvrez une console et tapez : sudo /etc/init.d/bluez-utils restart

Il peut-être aussi utile de démarrer bluetooth-applet(sous gnome) pour que la fenêtre de saisie du code soit ouverte ( Lien externe)

Gnome-bluetooth possède normalement une option qui permet d'envoyer un fichier via bluetooth directement mais elle ne fonctionne pas sous Ubuntu. Nous allons la faire fonctionner.

Ouvrez synaptic et installez python-nautilus.

Allez dans le menu Applications → Outils system → Bluetooth Manager (ou Système → Préférences → Gestionnaire Bluetooth). Une fenêtre s'ouvre. Faite Option > Scan et vous devriez voir apparaître votre appareil mobile.

Si vous ne le voyez pas, vérifiez que le périphérique est en mode visible ;)

Si c'est le cas, faites ALT+F2 et indiquez gksudo gedit (on vous demande votre mot de passe) et tapez le texte suivant :

import nautilus
import os
import urllib
 
class NMenu_SendViaBluetooth(nautilus.MenuProvider):
 
    def __init__(self):
        pass
 
    def clicked(self,menu,file):
        os.system('gnome-obex-send "%s"'%self.filename)
 
    def get_file_items(self,window,files):
        if len(files) > 1:
            return
        file = files[0]
 
        self.filename = urllib.unquote(file.get_uri()[7:])
 
        if os.path.isdir(self.filename):
            return
 
        menu = nautilus.MenuItem(
            "NautilusPython::sendViaBluetooth",
            'Envoi par bluetooth',
            "Permet l'envoi de fichier par bluetooth vers un périphérique mobile"
        )
        menu.connect('activate',self.clicked,file)
        return menu,
 
    def get_background_items(self, window, file):
        return

Enregistrez le fichier sous /usr/lib/nautilus/extensions-1.0/python/bluetooth.py.

Faites « Alt+F2 » ou ouvrez une console et indiquez :

killall nautilus

Cette opération ferme Nautilus, qui s'ouvre à nouveau avec une option supplémentaire :

Un clic droit sur un fichier et on voit apparaître :

Remarque : La ligne envoyer par bluetooth n'apparaît pas, elle se trouve dans envoyer à.

Un clic et vous devrez répondre quel est l'appareil sur lequel vous souhaitez envoyer le fichier (détecté avant grâce à Applications → Outils système → Bluetooth Manager)

Vous choisissez votre appareil mobile, et il devrait réagir et vous demander une confirmation, il suffit alors d'attendre que la fenêtre de défilement apparaisse…

Note : Une documentation a récemment été créée sur le sujet : http://doc.kubuntu-fr.org/souris_bluetooth

Il faut d'abord connaître l'adresse "bdaddr"/"MAC" de chaque périphérique à connecter. Procédez pour chaque périphérique séparément. Activer le bouton "Connect" situé sous chacun des périphériques, et l'on tape (rapidement) la commande :

sudo hidd --search

La commande précédente, en plus de chercher les périphériques bluetooth, les connecte. Notez que le clavier n'a pas besoin d'être appairé comme sous Windows. Vous pouvez d'ores et déjà utiliser votre kit clavier/souris.

Maintenant, pour qu'ils soient automatiquement connectés au démarrage, il faut ajouter/modifier les lignes suivantes dans le fichier /etc/default/bluez-utils :

HIDD_ENABLED=1
HIDD_OPTIONS="--connect A1:B1:C1:D1:E1:F1 --connect A2:B2:C2:D2:E2:F2 --master --server"

N'oubliez pas évidemment de remplacer les adresses par celles de vos périphériques.

Pour connecter le périphérique :

sudo hidd --search

Si la connexion existe mais que le périphérique le fonctionne pas

Si ceci ne marche pas, c'est qu'il faut encore modifier des fichiers.

1. Modification de rc.local :

sudo nano /etc/rc.local

Rajouter la ligne suivante au fichier JUSTE AVANT LE exit 0 ! /usr/bin/hidd –server

Ce qui donne :

 #!/bin/sh -e
 #
 # rc.local
 #
 /usr/bin/hidd --server
 exit 0

2. Réédition de hcid.conf :

sudo nano /etc/bluetooth/hcid.conf

De préférence, j'ai mit la securité à "auto" de façon à ce que la souris se connectes plus facilement. Pour le reste, les lignes a entrer sont les mêmes que celles citées dans la méthode citée ci-dessus.

3. Réédition de bluez-utils ou de bluetooth :

sudo nano /etc/default/bluez-utils

ou (si il n'existe pas)

sudo nano /etc/default/bluetooth

Mettez ceci à la place des lignes citées dans la méthode précédente :

HIDD_ENABLED=1
HIDD_OPTIONS="-i 00:07:XX:XX:XX:XX --server"

00:07:XX:XX:XX:XX représentant l'adresse MAC de votre souris (elle est inscrite dans une étiquette sous votre souris).

Ceci donnera :

# Defaults for bluez-utils

# This file supersedes /etc/default/bluez-pan.  If
# that exists on your system, you should use this
# file instead and remove the old one.  Until you
# do so, the contents of this file will be ignored.

############ HIDD
#
# To have Bluetooth mouse and keyboard support, get the
# Linux 2.6.6 patch or better from bluez.org, and set 
# HIDD_ENABLED to 1.
HIDD_ENABLED=1
HIDD_OPTIONS="-i 00:07:XX:XX:XX:XX --server"
# to make hidd always use a particular interface, use something
# like this, substituting the bdaddr of the interface:
# HIDD_OPTIONS="-i AA:BB:CC:DD:EE:FF --server"
#
# remove '--master' if you're having trouble working with Ericsson
# T630 phones with hidd operational at the same time.

############ COMPATIBILITY WITH OLD BLUEZ-PAN
# Compatibility: if old PAN config exists, use it
# rather than this file.
  if test -f /etc/default/bluez-pan; then
    . /etc/default/bluez-pan
    return
fi
############

############ DUND
#
# Run dund -- this allows ppp logins. 1 for enabled, 0 for disabled.
DUND_ENABLED=0

# Arguments to dund: defaults to acting as a server
DUND_OPTIONS="--listen --persist"

# Run dund --help to see the full array of options.
# Here are some examples:
#
# Connect to any nearby host offering access
# DUND_OPTIONS="--search"
#
# Connect to host 00:11:22:33:44:55
# DUND_OPTIONS="--connect 00:11:22:33:44:55"
#
# Listen on channel 3
# DUND_OPTIONS="--listen --channel 3"

# Special consideration is needed for certain devices. Microsoft
# users see the --msdun option.  Ericsson P800 users will need to
# listen on channel 3 and also run 'sdptool add --channel=3 SP'

############ PAND
#
# Run pand -- ethernet: creates new network interfaces bnep<N>
# that can be configured in /etc/network/interfaces
# set to 1 for enabled, 0 for disabled
PAND_ENABLED=0

# Arguments to pand
# Read the PAN howto for ways to set this up
# http://bluez.sourceforge.net/contrib/HOWTO-PAN
PAND_OPTIONS=""

# example pand lines
#
# Act as the controller of an ad-hoc network
# PAND_OPTIONS="--listen --role GN"
#
# Act as a network access point: routes to other networks
# PAND_OPTIONS="--listen --role NAP"
#
# Act as a client of an ad-hoc controller with number 00:11:22:33:44:55
# PAND_OPTIONS="--role PANU --connect 00:11:22:33:44:55"
#
# Connect to any nearby network controller (access point or ad-hoc)
# PAND_OPTIONS="--role PANU --search"

4. Connection de la souris : Il suffit d'executer la même commande qui permet de trouver l'adresse MAC de la souris, l'appairage se fera automatiquement.

sudo hidd --search

Note : Si utilisez cette commande pour reconnecter la souris quand elle se déconnecte ou faites un alias.

Et hop, la souris bouge ! Enfin ! :-P

Judibet Le 02/11/2008, à 14:20

Si vous avez des problèmes, vous pouvez les énoncer ici. Mais sachez que souvent, le principal obstacle peut venir de la mauvaise initialisation du bluetooth.

Dans ce cas, ouvrez une console et redémarrez bluetooth en faisant :

/etc/init.d/bluez-utils restart

Il se peut que vous deviez redémarrer la session, mais faites un test avant.

« Impossible de lire le fichier »

Pour ceux qui auraient comme moi le message "Impossible de lire le fichier xxxx" après avoir fait "Envoyer à", il faut simplement le faire dans la console. Tapez gnome-obex-send "mon-fichieravenoyer.yy". Là ca marche sans soucis ;)

Comment faire du transfert de fichiers avec le hub bluetooth Logitech sous Breezy ?

DELETEME après vérification de l'obsolescence de cette section

Explications : Vous désirez utiliser votre hub bluetooth Logitech pour effectuer du transfert de fichiers (exactement comme se comporterai un dongle usb classique), dans ce cas un internaute m'a fait parvenir un mail pour pouvoir installer et transférer avec ubuntu avec votre téléphone mobile Nokia, Sony Ericsson… via votre hub bluetooth logitech : http://www.ubuntuforums.org/showthread.php?t=113184. Cette solution n'a pas été testée par mes soins (mais testé par celui qui m'a écrit un mail), ce lien n'est pas traduit en français, n'hésitez pas à compléter le wiki si vous en avez le temps, vous ferez ainsi avancer la communauté.

Mon téléphone est bien détecté, mais je n'ai pas l'option « Send via Bluetooth »

Pour cela, ou vous n'avez pas fait la démarche pour rajouter l'extension à nautilus, ou vous l'avez mal faite. Mais il existe une deuxième solution pour envoyer des fichiers via bluetooth, testée sous Dapper: - Votre périphérique bluetooth doit être détecté - Ouvrez nautilus et faite un clique droit (pour les droitiers) ou un clique gauche (pour les gauchers) sur le fichier à envoyer puis appuyez sur Envoyer à… - Choisissez dans la première liste le mode d'envoi (soit bluetooth) - Dans la deuxième liste, choisissez le périphérique - Cliquez sur "envoyer" - Pas besoin de mot de passe, le fichier est envoyé

Rédigé par PiTiLeZarD

gnome-obex-send (l'émetteur de fichier bluetooth) se termine sans avoir envoyé le fichier

Avec un 550SH et une clé TrendNet TBW-102UB, j'ai remarqué que gnome-obex-send se terminait parfois sans avoir envoyé le fichier spécifié. Le problème était souvent résolu par deux choses :

  • Déverrouiller le clavier et rester sur l'écran principal (heure, fond d'écran, etc)
  • Approcher le téléphone le plus près possible de l'émetteur bluetooth ; d'autant plus vrai lorsqu'il s'agit de "gros" fichiers comme des vidéos (~4Mo).

Enregistrer dans un autre dossier que sur le bureau avec gnome-obex-server (le récepteur de fichier bluetooth)

gnome-bluetooth n'a pour l'heure actuelle aucune feature pour choisir son dossier, le seul moyen est de changer la valeur de la clé savedir dans gconf. Pour ce faire, il suffit d'ouvrir gconf :

gconf-editor

si vous ne voulez configurer un emplacement que pour votre utilisateur. Soit :

sudo gconf-editor

si l'emplacement est commun à tous les utilisateurs.

Ensuite, choisissez le signet /apps/gnome-obex-server

Enfin, changez savedir. exemple ;

~/bluetooth

Attention : si le dossier n'existe pas, le fichier transféré par bluetooth se logera automatiquement sur le bureau.

  • bluetooth_dapper.1225632611.txt.gz
  • Dernière modification: Le 02/11/2008, 14:30
  • par Judibet