Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
bluetooth [Le 14/05/2017, 16:18] zococo [En ligne de commande (universel) avec Bluez4] |
bluetooth [Le 28/04/2018, 11:17] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag>Xenial Trusty Matériel Bluetooth Imprimante téléphone Android partage }} | ||
+ | ---- | ||
+ | |||
+ | {{ :application:bluetooth:bluetooth_13.10_00.png?90|icone}} | ||
+ | ====== Utilisation du Bluetooth sous Ubuntu ====== | ||
+ | |||
+ | Cette page propose de vous aider à utiliser le système d'exploitation Ubuntu pour communiquer avec un appareil **[[wpfr>bluetooth]]** . Vous pouvez aussi lire la [[gufr>bluetooth|documentation officielle]] disponible dans le [[:yelp|centre d'aide]]. | ||
+ | <note tip>Cette page s'adresse aux utilisateurs de gnome-bluetooth installé par défaut sur Ubuntu. Pour les utilisateurs des variantes [[:Lubuntu]], [[:Xubuntu]] et [[:Mate|Ubuntu Mate]], c'est l'utilitaire [[:blueman]] qui est installé par défaut.</note> | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * Disposer d'un ordinateur équipé **Bluetooth** ou équipé d'un module externe **Bluetooth** (Usb, carte, etc.) | ||
+ | * Avoir le **Bluetooth** activé. (Présence de [[:unity#indicateurs_d_applications_et_indicateurs_systeme|l'indicateur d'application]] Bluetooth {{:application:bluetooth:bluetooth_13.10_01.png?40|applet}} dans la barre de notification). | ||
+ | | ||
+ | |||
+ | ===== Matériel pris en charge ===== | ||
+ | |||
+ | Voir la page [[:bluetooth_materiel-soutenu|Bluetooth : matériel pris en charge]]. | ||
+ | |||
+ | =====Installation===== | ||
+ | |||
+ | Les paquets nécessaires au fonctionnement du Bluetooth sont installés par défaut dans Ubuntu. Mais certains appareils peuvent avoir besoin de paquets spécifiques pour être reconnus. En cas de difficulté, voir le chapitre [[#Problèmes connus]] ou poster sur le forum. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Appairage===== | ||
+ | |||
+ | Vous pouvez le faire soit depuis l'ordinateur soit depuis le périphérique. Mais avant de commencer les manipulations, vérifier que le **Bluetooth** soit bien activé sur le périphérique à appairer. | ||
+ | Une fois le périphérique appairé, Ubuntu gardera en mémoire les informations d'appairage même si le périphérique est déconnecté. \\ | ||
+ | |||
+ | |||
+ | ====Depuis votre ordinateur==== | ||
+ | |||
+ | * Si ce n'est pas déjà fait, rendre visible (ou identifiable) le périphérique. | ||
+ | * Cliquer sur [[ :unity#indicateurs_d_applications_et_indicateurs_systeme|l'indicateur d'application]] **Bluetooth** {{:application:bluetooth:bluetooth_13.10_01.png?40|applet}} dans la zone de notification de la barre supérieure. Un menu apparaît ; | ||
+ | * cliquer sur "Configurer un nouveau périphérique", et suivez les instructions. | ||
+ | *Un code d'identification peut vous être proposé. Il est à répéter sur l'appareil à appairer. \\ | ||
+ | *S'il vous est demandé, entrer le mot de passe de l'appareil à appairer. (si vous ne connaissez pas le mot de passe, essayez **0000**, mot de passe par défaut de nombreux périphériques **bluetooth**) | ||
+ | Vous pouvez aussi faire l'appairage depuis // "[[:gnome-control-center|Paramètres systèmes]] → Matériel → Bluetooth" //. Il suffit d'appuyer sur le "**+**" en bas à gauche | ||
+ | |||
+ | {{ :application:bluetooth:bluetooth_13.10_02.png?500 |Paramètres}} | ||
+ | et la recherche commence... | ||
+ | {{ :application:bluetooth:bluetooth_13.10_03.png?500 |}} | ||
+ | Suivez ensuite les instructions. | ||
+ | |||
+ | ====Depuis votre périphérique==== | ||
+ | |||
+ | * Rendre visible (ou identifiable) l’ordinateur. Pour cela, il suffit de se rendre dans les // « [[:gnome-control-center|Paramètres systèmes]] → Matériel → Bluetooth » //. | ||
+ | * Suivre la procédure d'appairage propre à votre périphérique. L'ordinateur apparaîtra sous son nom suivi d'un numéro. | ||
+ | * Accepter l'appairage et valider. | ||
+ | |||
+ | ====Appairer un périphérique audio===== | ||
+ | |||
+ | Vous souhaitez envoyer de l'audio sur un périphérique Bluetooth (Casques, enceintes,...) : Rien de plus simple. | ||
+ | * [[#Depuis_votre_ordinateur|Depuis votre ordinateur, appairez avec le périphérique audio comme pour n'importe quel appareil Bluetooth]]. Une fois la détection faite et configurée, | ||
+ | * Se rendre dans les //[[:gnome-control-center|Paramètres systèmes]] ->matériel-> son//; | ||
+ | * Dans l'onglet "**Sortie**" ou/et "**Entrée**" selon si celui-ci "capture" aussi le son, sélectionner si ce n'est pas déjà fait, le périphérique audio correspondant à votre périphérique Bluetooth nouvellement appairé; | ||
+ | * Si vous souhaitez un mode de diffusion particulier, modifiez le; | ||
+ | * Un clic de confirmation sur le périphérique de sortie audio et le tour est joué. | ||
+ | Dès que le périphérique audio ainsi appairé sera en service et "visible", la connexion audio basculera automatiquement.\\ | ||
+ | Pour une oreillette Bluetooth voir [[:oreillette_bluetooth|cette page dédiée]]. | ||
+ | |||
+ | ====Appairer une imprimante Bluetooth==== | ||
+ | |||
+ | Pour appairer et utiliser une imprimante via le bluetooth, voir [[:imprimantes_bluetooth|cette page dédiée]]. | ||
+ | |||
+ | =====Utilisation===== | ||
+ | |||
+ | ====Gestion des fichiers==== | ||
+ | |||
+ | === Envoi de fichiers vers le périphérique === | ||
+ | Si votre appareil peut recevoir des fichiers, vous avez plusieurs possibilités : | ||
+ | * Cliquer sur [[ :unity#indicateurs_d_applications_et_indicateurs_systeme|l'indicateur d'application]] **Bluetooth** dans la barre de supérieure {{:application:bluetooth:bluetooth_13.10_01.png?40|applet}} dans la zone de notification. un menu apparaît, | ||
+ | * Cliquer sur "Envoyer les fichiers au périphérique…" ; | ||
+ | * Choisissez le fichier à envoyer | ||
+ | * Valider. Une notification de réception vous sera demandée.\\ | ||
+ | |||
+ | ===Envoi de fichiers vers l'ordinateur=== | ||
+ | * Lancer le [[:gnome-file-share-properties|partage de fichiers personnels]]. | ||
+ | * Activer et configurer la partie **Bluetooth** selon vos besoins. | ||
+ | {{ :application:bluetooth:bluetooth_13.10_04.png?350 |}} | ||
+ | Les fichiers reçus se placeront automatiquement dans votre dossier "Téléchargements". | ||
+ | |||
+ | ===Parcours des fichiers présents sur le périphérique === | ||
+ | Si le périphérique peut être parcouru, | ||
+ | * Cliquer sur [[ :unity#indicateurs_d_applications_et_indicateurs_systeme|l'indicateur d'application]] **Bluetooth** {{:application:bluetooth:bluetooth_13.10_01.png?40|applet}} dans la zone de notification de la barre supérieure, un menu apparaît. | ||
+ | * Cliquer sur "Parcourir les fichiers sur le périphérique…" ou cliquer sur le périphérique à parcourir et choisir « parcourir les fichiers ». | ||
+ | |||
+ | ==== Synchronisation avec un téléphone mobile ==== | ||
+ | |||
+ | Voir la page sur la [[:gnome-phone-manager|gestion du mobile]] ou encore celle sur [[:Gammu|Gammu et Wammu]]. | ||
+ | |||
+ | ===== Autres usages ===== | ||
+ | ====Utiliser son téléphone pour accéder à internet partout==== | ||
+ | Voir [[:tutoriel:connexion_internet_via_mobile_bluetooth|cette page]]. | ||
+ | ====Utiliser son téléphone comme télécommande bluetooth==== | ||
+ | Voir [[:telecommande_bluetooth|cette page]]. | ||
+ | |||
+ | ==== Utiliser les hauts-parleurs de l'ordinateur pour jouer le son d'un périphérique bluetooth ==== | ||
+ | |||
+ | Pour jouer par exemple le son de votre mobile sur les hauts parleurs de votre ordinateur, | ||
+ | Appairez votre mobile à votre ordinateur (sous Android, vous apercevrez peut-être "Connecté au paramètres audio du média"), | ||
+ | * Lancez du son sur votre mobile ; | ||
+ | * Se rendre dans les //"[[:gnome-control-center|Paramètres systèmes]] → matériel->son"//, à l'onglet "Entrée" pour vérifier que votre mobile a bien été ajouté (vous devriez voir la barre de son de votre mobile bouger en même temps que la musique). | ||
+ | * Une fois cette vérification effectuée, il vous suffit de rediriger cette entrée vers les haut parleurs comme spécifié [[ :pulseaudio#rediriger_l_entree_de_la_carte_son_vers_la_sortie| ici]]. | ||
+ | * Pour éviter de devoir accepter manuellement la connexion à chaque fois, il faut ensuite mettre le téléphone dans la liste de confiance. Dans un terminal lancer la console bluetooth "bluetoothctl". Puis taper "trust XX:XX:XX:XX:XX:XX" où "XX:XX:XX:XX:XX:XX" est l'adresse bluetooth du téléphone (indiquée pendant l'opération d'appairage). | ||
+ | Testé sur Samsung Galaxy Ace (Rom cyanogenmod 7), et Kubuntu 12.10, Samsung S5. Ubuntu 16.04 LTS. | ||
+ | ==== Connecter la wiimote ==== | ||
+ | <code> | ||
+ | ~$ sudo modprobe hid-wiimote | ||
+ | ~$ sudo modprobe uinput | ||
+ | </code> | ||
+ | <code>~$ bluetoothctl</code> | ||
+ | <code> | ||
+ | [bluetooth]# scan on | ||
+ | [NEW] Device XX:XX:XX:XX:XX:XX Nintendo RVL-CNT-01-TR | ||
+ | </code> | ||
+ | Appuie sur le bouton 1 et 2 simultanément | ||
+ | <code> | ||
+ | [bluetooth]# connect XX:XX:XX:XX:XX:XX | ||
+ | [CHG] Device XX:XX:XX:XX:XX:XX Connected: yes | ||
+ | Connection successful | ||
+ | [Nintendo RVL-CNT-01-TR]#</code> | ||
+ | |||
+ | ===== Désactiver le Bluetooth au démarrage d'Ubuntu ===== | ||
+ | Pour désactiver en permanence le Bluetooth de votre PC: | ||
+ | * [[:tutoriel:comment_modifier_un_fichier|Éditer avec les droits d'administration]] le fichier **/etc/rc.local** | ||
+ | * Ajoutez la ligne <file>rfkill block bluetooth</file> avant la ligne <file>exit 0</file>. | ||
+ | * Enregistrer. | ||
+ | Lors du prochain démarrage, le module Bluetooth ne sera plus chargé. | ||
+ | |||
+ | ====Sous Mate==== | ||
+ | Sous [[:mate|Ubuntu Mate]] l'icône du bluetooth a tendance à s'afficher en permanence, même quand il n'y a pas d'adaptateur bluetooth ! La solution précédente ne fonctionne pas. Il faut allez dans **Centre de contrôle → Personnel → Application au démarrage** et décochez la case **Applet blueman**. | ||
+ | =====Aller plus loin===== | ||
+ | |||
+ | ==== En ligne de commande (universel) avec Bluez4 ==== | ||
+ | === Les fonctionnalités disponibles === | ||
+ | == Connaître les informations du périphériques == | ||
+ | rfkill permet de connaître les infos sur son périphérique : | ||
+ | <code>usr@compuetr:~$ rfkill list | ||
+ | 1: phy0: Wireless LAN | ||
+ | Soft blocked: yes | ||
+ | Hard blocked: no | ||
+ | 2: hci0: Bluetooth | ||
+ | Soft blocked: no | ||
+ | Hard blocked: no | ||
+ | </code> | ||
+ | Dans l'exemple ci-dessus rfkill détecte une carte wifi désactivée par logiciel (au cas d'espèces car l'utilisateur utilise un accès Ethernet mais c'est un choix de l'utilisateur, rien d'automatique) et un dispositif Blueetooth, hci0. utilisé avec block ou unblock, rfkill permet d'activer ou désactiver un mode de connexion dés lors qu'il est installé (options possibles : "all", "wifi", "wlan", "bluetooth", "uwb", "ultrawideband", "wimax", "wwan", "gps", "fm" ou "nfc"). | ||
+ | == Afficher les informations de configuration == | ||
+ | La liste des périphérique peut aussi être connue grâce à hcitools. L'oprion dev permet d'aficher la liste, les informations de configuration sont affichées par hcitools : | ||
+ | <code>usr@computer:~$ hcitools dev | ||
+ | Devices: | ||
+ | hci0 AA:BB:C1:D2:E3:F4:00 | ||
+ | |||
+ | usr@computer:~$ hciconfig -a | ||
+ | hci0: Type: BR/EDR Bus: USB | ||
+ | BD Address: AA:BB:C1:D2:E3:F4:00 ACL MTU: 2011:4 SCO MTU: 82:4 | ||
+ | UP RUNNING PSCAN ISCAN | ||
+ | RX bytes:257618 acl:47 sco:0 events:34313 errors:0 | ||
+ | TX bytes:31428890 acl:31820 sco:0 commands:2393 errors:0 | ||
+ | Features: 0xff 0xfe 0x0f 0xfe 0xdb 0xff 0x7b 0x87 | ||
+ | Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 | ||
+ | Link policy: RSWITCH HOLD SNIFF | ||
+ | Link mode: SLAVE ACCEPT | ||
+ | Name: 'Computer' | ||
+ | Class: 0x0c0104 | ||
+ | Service Classes: Rendering, Capturing | ||
+ | Device Class: Computer, Desktop workstation | ||
+ | HCI Version: 4.1 (0x7) Revision: 0x100 | ||
+ | LMP Version: 4.1 (0x7) Subversion: 0x100 | ||
+ | Manufacturer: Intel Corp. (2) | ||
+ | </code> | ||
+ | La ligne "UP RUNNING PSCAN ISCAN" indique que le périphérique fonctionne. Si elle est passée à "DOWN", il convient de réactiver le périphérique avec hciconfig (voir ci-dessous). | ||
+ | |||
+ | == Connaître les services disponibles == | ||
+ | Les commandes inq et scan de hcitool, ainsi que sdptool et bluetoothctl du paquet Bluez-utils permettent de repérer les informations utiles pour effectuer les actions désirées en ligne de commande. | ||
+ | <code> | ||
+ | usr@computer:~$ hcitool inq | ||
+ | Inquiring ... | ||
+ | AA:B1:C2:D3:E4:F5 clock offset: 0x5c36 class: 0x7a020c | ||
+ | 01:B1:C2:45:E4:F5 clock offset: 0x1eb3 class: 0x2a010c | ||
+ | 56:B1:AE:45:E4:4B clock offset: 0x7508 class: 0x5a020c | ||
+ | 78:1B:00:45:E4:25 clock offset: 0x2d55 class: 0x08043c | ||
+ | usr@computer:~$ bluetoothctl | ||
+ | [NEW] Controller AA:B1:C2:D3:E4:F5 Computer [default] | ||
+ | [NEW] Device 01:B1:C2:45:E4:F5 Téléphone de Caroline | ||
+ | [NEW] Device 75:AE:12:CD:F7:E3 Machin Phone | ||
+ | [NEW] Device 10:F4:E3:D2:C1:A0 Enceinte active SOUNDBIDULE | ||
+ | [NEW] Device 0A:D1:2B:E3:4C:F5 Bluetooth Laser Travel Mouse | ||
+ | [bluetooth]# exit | ||
+ | [DEL] Controller AA:B1:C2:D3:E4:F5 Computer [default] | ||
+ | usr@computer:~$ hcitool scan | ||
+ | Scanning ... | ||
+ | 14:0C:76:39:20:2B n/a | ||
+ | AA:B1:C2:D3:E4:F5 Téléphone de Pierrot | ||
+ | 56:B1:AE:45:E4:4B Freebox Player Mini v2 | ||
+ | 01:B1:C2:45:E4:F5 ANDREA | ||
+ | 78:1B:00:45:E4:25 [TV]Samsung LED55 | ||
+ | user@computer:~$ sdptool browse 01:B1:C2:45:E4:F5 | ||
+ | Browsing 01:B1:C2:45:E4:F5 ... | ||
+ | Service Name: Service Discovery | ||
+ | Service Description: Publishes services to remote devices | ||
+ | Service Provider: Microsoft | ||
+ | Service RecHandle: 0x0 | ||
+ | Service Class ID List: | ||
+ | "SDP Server" (0x1000) | ||
+ | Protocol Descriptor List: | ||
+ | "L2CAP" (0x0100) | ||
+ | PSM: 1 | ||
+ | "SDP" (0x0001) | ||
+ | Language Base Attr List: | ||
+ | code_ISO639: 0x656e | ||
+ | encoding: 0x6a | ||
+ | base_offset: 0x100 | ||
+ | |||
+ | Browsing 01:B1:C2:45:E4:F5 ... | ||
+ | Service Search failed: Invalid argument | ||
+ | Service Name: Device ID Service Record | ||
+ | Service Description: Device ID Service Record | ||
+ | Service RecHandle: 0x10000 | ||
+ | Service Class ID List: | ||
+ | "PnP Information" (0x1200) | ||
+ | Protocol Descriptor List: | ||
+ | "L2CAP" (0x0100) | ||
+ | PSM: 1 | ||
+ | "SDP" (0x0001) | ||
+ | Language Base Attr List: | ||
+ | code_ISO639: 0x656e | ||
+ | encoding: 0x6a | ||
+ | base_offset: 0x100 | ||
+ | |||
+ | Browsing 01:B1:C2:45:E4:F5 ... | ||
+ | Service Search failed: Invalid argument | ||
+ | Service RecHandle: 0x10001 | ||
+ | Service Class ID List: | ||
+ | "AV Remote Target" (0x110c) | ||
+ | Protocol Descriptor List: | ||
+ | "L2CAP" (0x0100) | ||
+ | PSM: 23 | ||
+ | "AVCTP" (0x0017) | ||
+ | uint16: 0x0102 | ||
+ | Profile Descriptor List: | ||
+ | "AV Remote" (0x110e) | ||
+ | Version: 0x0103 | ||
+ | |||
+ | Service Name: Personal Ad Hoc User Service | ||
+ | Service Description: Personal Ad Hoc User Service | ||
+ | Service RecHandle: 0x10002 | ||
+ | Service Class ID List: | ||
+ | "PAN User" (0x1115) | ||
+ | Protocol Descriptor List: | ||
+ | "L2CAP" (0x0100) | ||
+ | PSM: 15 | ||
+ | "BNEP" (0x000f) | ||
+ | Version: 0x0100 | ||
+ | SEQ8: 0 dd 6 | ||
+ | Language Base Attr List: | ||
+ | code_ISO639: 0x656e | ||
+ | encoding: 0x6a | ||
+ | base_offset: 0x100 | ||
+ | Profile Descriptor List: | ||
+ | "PAN User" (0x1115) | ||
+ | Version: 0x0100 | ||
+ | |||
+ | Service Name: Microsoft Windows Audio Source | ||
+ | Service RecHandle: 0x10003 | ||
+ | Service Class ID List: | ||
+ | "Audio Source" (0x110a) | ||
+ | Protocol Descriptor List: | ||
+ | "L2CAP" (0x0100) | ||
+ | PSM: 25 | ||
+ | "AVDTP" (0x0019) | ||
+ | uint16: 0x0102 | ||
+ | Language Base Attr List: | ||
+ | code_ISO639: 0x656e | ||
+ | encoding: 0x6a | ||
+ | base_offset: 0x100 | ||
+ | Profile Descriptor List: | ||
+ | "Advanced Audio" (0x110d) | ||
+ | Version: 0x0102 | ||
+ | |||
+ | Service Name: Voice Gateway | ||
+ | Service RecHandle: 0x1001a | ||
+ | Service Class ID List: | ||
+ | "Handsfree Audio Gateway" (0x111f) | ||
+ | "Generic Audio" (0x1203) | ||
+ | Protocol Descriptor List: | ||
+ | "L2CAP" (0x0100) | ||
+ | "RFCOMM" (0x0003) | ||
+ | Channel: 1 | ||
+ | Profile Descriptor List: | ||
+ | "Handsfree" (0x111e) | ||
+ | Version: 0x0105 | ||
+ | |||
+ | usr@computer:~$ sdptool browse 56:B1:AE:45:E4:4B | ||
+ | Browsing 56:B1:AE:45:E4:4B ... | ||
+ | Service Name: Service Discovery | ||
+ | Service Description: Publishes services to remote devices | ||
+ | Service Provider: Microsoft | ||
+ | Service RecHandle: 0x0 | ||
+ | Service Class ID List: | ||
+ | "SDP Server" (0x1000) | ||
+ | Protocol Descriptor List: | ||
+ | "L2CAP" (0x0100) | ||
+ | PSM: 1 | ||
+ | "SDP" (0x0001) | ||
+ | Language Base Attr List: | ||
+ | code_ISO639: 0x656e | ||
+ | encoding: 0x6a | ||
+ | base_offset: 0x100 | ||
+ | |||
+ | Browsing 56:B1:AE:45:E4:4B ... | ||
+ | Service Search failed: Invalid argument | ||
+ | Service Name: Device ID Service Record | ||
+ | Service Description: Device ID Service Record | ||
+ | Service RecHandle: 0x10000 | ||
+ | Service Class ID List: | ||
+ | "PnP Information" (0x1200) | ||
+ | Protocol Descriptor List: | ||
+ | "L2CAP" (0x0100) | ||
+ | PSM: 1 | ||
+ | "SDP" (0x0001) | ||
+ | Language Base Attr List: | ||
+ | code_ISO639: 0x656e | ||
+ | encoding: 0x6a | ||
+ | base_offset: 0x100 | ||
+ | |||
+ | Browsing 56:B1:AE:45:E4:4B ... | ||
+ | Service Search failed: Invalid argument | ||
+ | Service RecHandle: 0x10001 | ||
+ | Service Class ID List: | ||
+ | "AV Remote Target" (0x110c) | ||
+ | Protocol Descriptor List: | ||
+ | "L2CAP" (0x0100) | ||
+ | PSM: 23 | ||
+ | "AVCTP" (0x0017) | ||
+ | uint16: 0x0102 | ||
+ | Profile Descriptor List: | ||
+ | "AV Remote" (0x110e) | ||
+ | Version: 0x0103 | ||
+ | |||
+ | Service Name: Personal Ad Hoc User Service | ||
+ | Service Description: Personal Ad Hoc User Service | ||
+ | Service RecHandle: 0x10002 | ||
+ | Service Class ID List: | ||
+ | "PAN User" (0x1115) | ||
+ | Protocol Descriptor List: | ||
+ | "L2CAP" (0x0100) | ||
+ | PSM: 15 | ||
+ | "BNEP" (0x000f) | ||
+ | Version: 0x0100 | ||
+ | SEQ8: 0 dd 6 | ||
+ | Language Base Attr List: | ||
+ | code_ISO639: 0x656e | ||
+ | encoding: 0x6a | ||
+ | base_offset: 0x100 | ||
+ | Profile Descriptor List: | ||
+ | "PAN User" (0x1115) | ||
+ | Version: 0x0100 | ||
+ | |||
+ | Service Name: Microsoft Windows Audio Source | ||
+ | Service RecHandle: 0x10003 | ||
+ | Service Class ID List: | ||
+ | "Audio Source" (0x110a) | ||
+ | Protocol Descriptor List: | ||
+ | "L2CAP" (0x0100) | ||
+ | PSM: 25 | ||
+ | "AVDTP" (0x0019) | ||
+ | uint16: 0x0102 | ||
+ | Language Base Attr List: | ||
+ | code_ISO639: 0x656e | ||
+ | encoding: 0x6a | ||
+ | base_offset: 0x100 | ||
+ | Profile Descriptor List: | ||
+ | "Advanced Audio" (0x110d) | ||
+ | Version: 0x0102 | ||
+ | |||
+ | Service Name: Voice Gateway | ||
+ | Service RecHandle: 0x1001a | ||
+ | Service Class ID List: | ||
+ | "Handsfree Audio Gateway" (0x111f) | ||
+ | "Generic Audio" (0x1203) | ||
+ | Protocol Descriptor List: | ||
+ | "L2CAP" (0x0100) | ||
+ | "RFCOMM" (0x0003) | ||
+ | Channel: 1 | ||
+ | Profile Descriptor List: | ||
+ | "Handsfree" (0x111e) | ||
+ | Version: 0x0105 | ||
+ | </code> | ||
+ | == Bluetoothctl, commande interactive pour l'appairage et le désappairage == | ||
+ | "help" permet de lister le sopérations disponibles : | ||
+ | <code> | ||
+ | usr@computer:~$ bluetoothctl | ||
+ | [NEW] Controller AA:B1:C2:D3:E4:F5 Computer [default] | ||
+ | [NEW] Device 01:B1:C2:45:E4:F5 Téléphone de Caroline | ||
+ | [NEW] Device 75:AE:12:CD:F7:E3 Machin Phone | ||
+ | [NEW] Device 10:F4:E3:D2:C1:A0 Enceinte active SOUNDBIDULE | ||
+ | [NEW] Device 0A:D1:2B:E3:4C:F5 Bluetooth Laser Travel Mouse | ||
+ | [bluetooth]# help | ||
+ | Available commands: | ||
+ | list List available controllers | ||
+ | show [ctrl] Controller information | ||
+ | select <ctrl> Select default controller | ||
+ | devices List available devices | ||
+ | paired-devices List paired devices | ||
+ | power <on/off> Set controller power | ||
+ | pairable <on/off> Set controller pairable mode | ||
+ | discoverable <on/off> Set controller discoverable mode | ||
+ | agent <on/off/capability> Enable/disable agent with given capability | ||
+ | default-agent Set agent as the default one | ||
+ | set-scan-filter-uuids [uuid1 uuid2 ...] Set scan filter uuids | ||
+ | set-scan-filter-rssi [rssi] Set scan filter rssi, and clears pathloss | ||
+ | set-scan-filter-pathloss [pathloss] Set scan filter pathloss, and clears rssi | ||
+ | set-scan-filter-transport [transport] Set scan filter transport | ||
+ | set-scan-filter-clear Clears discovery filter. | ||
+ | scan <on/off> Scan for devices | ||
+ | info [dev] Device information | ||
+ | pair [dev] Pair with device | ||
+ | trust [dev] Trust device | ||
+ | untrust [dev] Untrust device | ||
+ | block [dev] Block device | ||
+ | unblock [dev] Unblock device | ||
+ | remove <dev> Remove device | ||
+ | connect <dev> Connect device | ||
+ | disconnect [dev] Disconnect device | ||
+ | list-attributes [dev] List attributes | ||
+ | select-attribute <attribute> Select attribute | ||
+ | attribute-info [attribute] Select attribute | ||
+ | read Read attribute value | ||
+ | write <data=[xx xx ...]> Write attribute value | ||
+ | notify <on/off> Notify attribute value | ||
+ | register-profile <UUID ...> Register profile to connect | ||
+ | unregister-profile Unregister profile | ||
+ | version Display version | ||
+ | quit Quit program | ||
+ | [bluetooth]# quit | ||
+ | [DEL] Controller AA:B1:C2:D3:E4:F5 Computer [default] | ||
+ | </code> | ||
+ | |||
+ | === Exemples utiles === | ||
+ | |||
+ | == Activer les peripheriques bluetooth == | ||
+ | <code>sudo rfkill unblock bluetooth && rfkill list bluetooth</code> | ||
+ | |||
+ | == Désactiver tous les peripheriques == | ||
+ | <code>sudo rfkill block all && rfkill list bluetooth</code> | ||
+ | |||
+ | == Activer le périphérique avec hciconfig == | ||
+ | <code>hciconfig hci0 up</code> | ||
+ | |||
+ | == Lister le(s) controleur(s) Bluetooth == | ||
+ | <code>hcitool dev</code> | ||
+ | |||
+ | == Verifier que le controleur Bluetooth du PC/Portable est bien present et UP == | ||
+ | <code>hciconfig</code> | ||
+ | |||
+ | == Lister les périphériques Bluetooth == | ||
+ | <code> | ||
+ | hcitool scan | ||
+ | </code> | ||
+ | |||
+ | == Lister les capacités d'un périphériques Bluetooth == | ||
+ | <code> | ||
+ | sudo hcitool info <AdresseMacPériphérique> | ||
+ | </code> | ||
+ | |||
+ | == Appairer et connecter un clavier avec Bluez-utils == | ||
+ | * Repérage du périphérique | ||
+ | <code> | ||
+ | usr@computer:~$ hcitool scan | ||
+ | Scanning ... | ||
+ | 0F:E1:2D:C3:4B:A5 Bluetooth Keyboard | ||
+ | </code> | ||
+ | * ou bien si le périphérique bluetooth n'est pas visible : | ||
+ | <code> | ||
+ | usr@computer:~$ sudo hciconfig hci0 piscan | ||
+ | </code> | ||
+ | * Appairage : | ||
+ | <code> | ||
+ | usr@computer:~$ sudo bluez-simple-agent hci0 0F:E1:2D:C3:4B:A5 | ||
+ | </code> | ||
+ | * Renseignement le code pin d'identification que l'on souhaite utiliser (par exemple 1234 ou 0000) | ||
+ | <code> | ||
+ | usr@computer:~$ RequestPinCode (/org/bluez/14688/hci0/dev_0F_E1_2D_C3_4B_A5) | ||
+ | Enter PIN Code: | ||
+ | Release | ||
+ | New device (/org/bluez/14688/hci0/dev_0F_E1_2D_C3_4B_A5) | ||
+ | </code> | ||
+ | * Autoriser l'ordinateur à se connecter au prériphérique désormais sans autorisation | ||
+ | <code> | ||
+ | usr@computer:~$ sudo bluez-test-device trusted 0F:E1:2D:C3:4B:A5 yes | ||
+ | </code> | ||
+ | * Connexion du périphérique identifié comme périphérique d'entrée (il s'agit dans cet exemple d'un clavier) | ||
+ | <code> | ||
+ | usr@computer:~$ sudo bluez-test-input connect 0F:E1:2D:C3:4B:A5 | ||
+ | </code> | ||
+ | |||
+ | |||
+ | == Appairer un appareil en ligne de commande avec bluetoothctl == | ||
+ | |||
+ | * Commencer par déclarer un agent : | ||
+ | <code> | ||
+ | [bluetooth]# agent on | ||
+ | Agent registered | ||
+ | </code> | ||
+ | * Ensuite placer le contrôleur sous tension : | ||
+ | <code> | ||
+ | [bluetooth]# power on | ||
+ | Changing power on succeeded | ||
+ | </code> | ||
+ | * Recherche des appareils à proximité : | ||
+ | <code> | ||
+ | [bluetooth]# scan on | ||
+ | Discovery started | ||
+ | [CHG] Controller 00:AA:22:BB:33:CC Discovering: yes | ||
+ | [NEW] Device 00:AA:22:BB:33:CC unAppareil | ||
+ | [CHG] Device 00:AA:22:BB:33:CC LegacyPairing: yes | ||
+ | </code> | ||
+ | * Apparier et connecter | ||
+ | <code> | ||
+ | [bluetooth]# pair 00:AA:22:BB:33:CC | ||
+ | Attempting to pair with 00:AA:22:BB:33:CC | ||
+ | [CHG] Device 00:AA:22:BB:33:CC Connected: yes | ||
+ | [CHG] Device 00:AA:22:BB:33:CC Connected: no | ||
+ | [CHG] Device 00:AA:22:BB:33:CC Connected: yes | ||
+ | Request PIN code | ||
+ | [agent] Enter PIN code: 1111 | ||
+ | [CHG] Device 00:AA:22:BB:33:CC Paired: yes | ||
+ | Pairing successful | ||
+ | [CHG] Device 00:AA:22:BB:33:CCConnected: no | ||
+ | [bluetooth]# connect 00:AA:22:BB:33:CC | ||
+ | [CHG] Device 00:AA:22:BB:33:CC Connected: yes | ||
+ | [bluetooth]# quit | ||
+ | </code> | ||
+ | |||
+ | == Envoi d'un fichier depuis l'ordinateur == | ||
+ | * Avec gnome-obex-send | ||
+ | <code>gnome-obex-send -d <AdresseMacpériphérique> <fichier></code> | ||
+ | |||
+ | <note important>Attention, cette ligne de commande a été récemment remplacée par <code>bluetooth-sendto --device=<AdresseMacpériphérique> <fichier></code> disponible dans le paquet [[apt>bluez-gnome]].</note> | ||
+ | |||
+ | * Openobex et obexftp permettent également l'envoi de fichiers. | ||
+ | |||
+ | <code> obex_test -b xx:xx:xx:xx:xx:xx 5 | ||
+ | Using Bluetooth RFCOMM transport | ||
+ | OBEX Interactive test client/server. | ||
+ | > c | ||
+ | Connect OK! | ||
+ | Version: 0x10. Flags: 0x00 | ||
+ | > p | ||
+ | PUT file (local, remote)> qqpart/repertoire/fichier.jpg unfichier.jpg | ||
+ | name=qqpart/repertoire/fichier.jpg, size=31254 | ||
+ | Going to send 31254bytes | ||
+ | Made some progress... | ||
+ | Made some progress... | ||
+ | Made some progress... | ||
+ | Made some progress... | ||
+ | PUT successful! | ||
+ | > q | ||
+ | </code> | ||
+ | |||
+ | * Avec le paquet obexftp: | ||
+ | <code> | ||
+ | obexftp -b AA:BB:00:11:CC:22 -p fichier.jpg | ||
+ | Browsing AA:BB:00:11:CC:22 ... | ||
+ | Channel: 5 | ||
+ | Connecting...done | ||
+ | Sending "fichier.jpg"...\done | ||
+ | Disconnecting...done | ||
+ | </code> | ||
+ | |||
+ | ====En ligne de commande avec Obex==== | ||
+ | Après avoir [[:tutoriel:comment_installer_un_paquet|installé les paquets]] **[[apt>obexftp]]** et **[[apt>openobex]]** : | ||
+ | ===Lister les fichiers sur le téléphone=== | ||
+ | <code> | ||
+ | obexftp -b -l / | ||
+ | obexftp -b -l /Photos # lister les fichiers du répertoire /Photos du téléphone | ||
+ | </code> | ||
+ | |||
+ | ===Télécharger un fichier du téléphone vers l'ordinateur=== | ||
+ | |||
+ | <code> | ||
+ | obexftp -b -c /Photos -g file.jpg # télécharger file.jpg qui se trouve dans le répertoire /Photos | ||
+ | </code> | ||
+ | |||
+ | ===Uploader un fichier de l'ordinateur vers le téléphone=== | ||
+ | |||
+ | <code> | ||
+ | obexftp -b -p file.jpg | ||
+ | </code> | ||
+ | |||
+ | ===Les options pour obexftp=== | ||
+ | |||
+ | ''-b'' (bluetooth) peut être suivi de l'adresse mac du périphérique xx:xx:xx:xx:xx:xx \\ | ||
+ | ''-c <le_chemin_du_dossier>'' ex : ''-c /Photos'' \\ | ||
+ | ''-g <le_nom_du_fichier>'' le fichier à télécharger \\ | ||
+ | ''-p <le-nom_du_fichier>'' le fichier à uploader | ||
+ | |||
+ | === Monter le périphérique comme répertoire avec obexfs === | ||
+ | Le montage se fait dans le répertoire de montage <Repertoire> | ||
+ | <code> | ||
+ | obexfs -b AA:BB:00:11:CC:22 Repertoire | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | ===== Problèmes connus ===== | ||
+ | |||
+ | ====Le Bluetooth ne s'active pas==== | ||
+ | Avant se commencer : | ||
+ | * Vérifiez si dans le BIOS de votre ordinateur le Bluetooth ne serait pas désactivé. | ||
+ | * Vérifier les paramètres dans l'utilitaire bluetooth (//Paramètres systèmes->Matériel->Bluetooth//) | ||
+ | Si l'utilitaire **Bluetooth** vous indique que le Bluetooth n'est pas activé, dans un [[:terminal]] saisir la [[:commande_shell|commande]] suivante : | ||
+ | <code>sudo /etc/init.d/networking restart</code> | ||
+ | Puis redémarrez l'ordinateur. | ||
+ | * Si vous possédez un ordinateur portable avec le bluetooth intégré, il vous faut peut-être l'activer avec un interrupteur matériel. Celui-ci peut être une combinaison de touches du clavier, par exemple Fn + F2 (Sur certains ordinateurs portables, le bouton ON/OFF du Wifi est aussi celui du **Bluetooth**. Pensez donc à le mettre sur ON). | ||
+ | |||
+ | ====Problèmes de comportement ==== | ||
+ | Si votre bluetooth réagit de manière étrange, (par exemple l'erreur : **Aucun adaptateur Bluetooth n'a été trouvé. Veuillez en connecter un**, sous Kubuntu, en allant dans **Configuration système -> bluetooth**), ou encore si vous n'arrivez plus à désactiver le bluetooth et que votre ordinateur n'est pas détecté :\\ | ||
+ | Pour résoudre ce problème il suffit de lancer | ||
+ | <code>sudo rfkill unblock all | ||
+ | sudo hciconfig hci0 up</code> | ||
+ | car l'utilitaire rfkill peut gêner l'utilisation du bluetooth. | ||
+ | |||
+ | |||
+ | Parfois certaines cartes/clés buguent. Pour refaire fonctionner le bluetooth sans redémarrer, il suffit d'ouvrir un terminal et de taper ceci: | ||
+ | |||
+ | <code>sudo /etc/init.d/bluetooth restart</code> | ||
+ | |||
+ | ====Difficulté de détection d'un périphérique bluetooth==== | ||
+ | Il se peut que vous ayez un problème pour scanner les périphériques à proximité, si ce cas se présente, dans un [[:terminal]] saisir la [[:commande_shell|commande]] suivante : | ||
+ | <code>sudo hciconfig hci0 reset</code> | ||
+ | **Il faudra le faire à chaque branchement de votre clé bluetooth** | ||
+ | Vous pouvez faire en sorte que cette commande soit exécutée automatiquement au démarrage, mais il faudra démarrer avec la clé insérée et ne pas la brancher à chaud pour que ça serve à quelque chose. | ||
+ | * [[:tutoriel:comment_editer_un_fichier|Éditer le fichier]] **/etc/init.d/bluetooth** et ajoutez la ligne suivante <file>hciconfig hci0 reset</file> avant la ligne finale<file>exit 0</file> | ||
+ | * Sauvegardez, redémarrez et c'est bon. | ||
+ | |||
+ | ==== Permettre l'exploration de fichier sur un téléphone Android ==== | ||
+ | Pour pouvoir explorer les fichiers d'un téléphone sous Android, il faut : | ||
+ | * Installer un serveur ftp bluetooth sur votre téléphone comme [[https://play.google.com/store/apps/details?id=it.medieval.blueftp&hl=fr|celui-là]], | ||
+ | (FIXME : si vous en trouvez un moins lourd, ou libre, ou un moyen pour l'activer directement sans logiciel externes, ce serait intéressant de l'indiquer ici); | ||
+ | * Ensuite, lancer l'application sur votre téléphone, | ||
+ | * **Supprimer puis recréer la connexion bluetooth** (sur l'ordinateur dans les // "[[:gnome-control-center|Paramètres systèmes]] → Matériel → Bluetooth" //), | ||
+ | * Puis faire clic droit sur [[:unity#indicateurs_d_applications_et_indicateurs_systeme|l'indicateur d'application]] Bluetooth {{:application:bluetooth:bluetooth_13.10_01.png?40|applet}} dans la barre de notification (ou actualisez dans votre gestionnaire de fichier la page bluetooth), | ||
+ | * Cliquer sur votre périphérique puis sur "explorer le périphérique". | ||
+ | |||
+ | | ||
+ | ==== Contrôle volume haut-parleurs bluetooth ==== | ||
+ | |||
+ | Si le volume n'est pas automatiquement basculé, vous avez donc votre dispositif Bluetooth qui joue la musique et vos touches multimédias contrôlent le volume des haut-parleurs de votre ordinateur. Vous pouvez le changer à chaque fois à la main dans les options du son Ubuntu ou alors faire cette petite manipulation qui va basculer automatiquement le contrôle du volume.\\ | ||
+ | * [[:tutoriel:comment_modifier_un_fichier|Editer le fichier]] /etc/pulse/**default.pa** et rajoutez la ligne <file>load-module module-switch-on-connect</file> | ||
+ | * Redémarrez. | ||
+ | |||
+ | ==== Le mode A2DP ne fonctionne pas (produisant un son de mauvaise qualité) ==== | ||
+ | Lorsque vous essayez de changer le mode de votre casque/micro de HSP/HFP (basse qualité mais permet l'enregistrement micro) vers A2DP (haute qualité mais pas d'enregistrement possible) rien ne se passe. | ||
+ | Ce bug est recensé [[https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/1438510|ici]]. | ||
+ | |||
+ | En attendant que ce bug soit réparé vous pouvez le résoudre comme suit : | ||
+ | |||
+ | Par sécurité, commencer par faire une copie des fichiers de configuration modifiés : <code>sudo cp /etc/bluetooth/audio.conf /etc/bluetooth/audio.conf.bak | ||
+ | sudo cp /etc/pulse/default.pa /etc/pulse/default.pa.bak | ||
+ | sudo cp /usr/bin/start-pulseaudio-x11 /usr/bin/start-pulseaudio-x11.bak</code> | ||
+ | [[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/etc/bluetooth/audio.conf** avec les [[:sudo|droits d'administration]], et ajoutez en-dessous de la ligne ''[General]'' les lignes : | ||
+ | <file>Enable=Gateway,Source | ||
+ | Master=true | ||
+ | Disable=Socket | ||
+ | AutoConnect=true | ||
+ | | ||
+ | [Headset] | ||
+ | HFP=true | ||
+ | MaxConnected=2 | ||
+ | FastConnectable=true</file> | ||
+ | [[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **etc/pulse/default.pa** avec les [[:sudo|droits d'administration]] et commentez la ligne (ajoutez le caractère # au début de la ligne) : | ||
+ | <file>load-module module-bluetooth-discover</file> | ||
+ | [[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/usr/bin/start-pulseaudio-x11** avec les [[:sudo|droits d'administration]] et à la fin du fichier ajoutez la ligne suivante : | ||
+ | <file>/usr/bin/pactl load-module module-bluetooth-discover</file> | ||
+ | | ||
+ | Redémarrez alors l'ordinateur et vous pourrez basculer du mode HSP/HFP au mode A2DP. | ||
+ | |||
+ | ==== Le mode HSP/HFP ne fonctionne pas (impossible d'utiliser le micro) ==== | ||
+ | Un bug de la version 5.36 (et plus ?) de bluez fait qu'il est impossible d'activer le mode HSP/HFP via pavucontrol (l'interface graphique de configuration de pulseaudio). En regardant dans les logs (cat /var/log/syslog) vous trouvez un message d'erreur au moment où vous activez le bluetooth : | ||
+ | |||
+ | <code>[pulseaudio] module-bluez5-device.c: Refused to switch profile to headset_head_unit: Not connected</code> | ||
+ | |||
+ | Pour résoudre ce problème, il faut : ou bien passer à la version précédente de bluez (la 5.35 fonctionne), ou bien passer à la version suivante ! La version 5.40 présente dans le dépot experimental de debian fonctionne. | ||
+ | ==== Le transfert de fichiers depuis l'ordinateur vers le périphérique ne fonctionne pas et renvoie l'erreur GDBus.Error:org.openobex:Error.Failed: Unable to request session ==== | ||
+ | Il s'agit d'un [[https://bugs.launchpad.net/ubuntu/+source/gnome-bluetooth/+bug/1148033|bug]]. Une solution est de lancer bluez-simple-agent avant le transfert, par exemple dans le terminal : | ||
+ | <code>bluez-simple-agent</code> | ||
+ | puis de relancer l'envoi du fichier normalement. | ||
+ | |||
+ | ===== Pages en rapport ===== | ||
+ | |||
+ | {{backlinks>.}} | ||
+ | |||
+ | ===== Liens utiles ==== | ||
+ | [[https://wiki.archlinux.fr/Bluetooth|Bluetooth sur Archlinux]] | ||
+ | ---- | ||
+ | //Contributeurs : [[utilisateurs:Id2ndR]], [[utilisateurs:Gwilherm Al Leonad]], [[utilisateurs:Fabien26]], [[utilisateurs:laloi]].// |