Service bluetooth qui ne démarre pas sur RPi3

Publié par Tpeltier le

J’ai récemment fait l’acquisition d’un Raspberry 3 pour remplacer celui que j’utilise pour mon Jeedom qui est en version 2. Le but étant de gagner en performance mais aussi de pouvoir profiter du bluetooth.

Seulement voilà ! Après de nombreuses tentatives, impossible de faire fonctionner ce bluetooth !! 😡

J’ai donc pas mal galéré, essayé des tonnes de solutions trouvées sur le net en installant divers packages mais sans succès ….. Et finalement au fin fond d’un forum j’ai trouvé ZE astuce !!!  :mrgreen:

Il suffit de modifier ce fichier « hciuart.service » en remplaçant Serial par ttyAMA0  :

# /etc/systemd/system/hciuart.service
[Unit]
Description=Configure Bluetooth Modems connected by UART
ConditionPathIsDirectory=/proc/device-tree/soc/gpio@7e200000/bt_pins
Before=bluetooth.service
After=dev-ttyAMA0.device
[Service]
Type=forking
ExecStart=/usr/bin/hciattach /dev/ttyAMA0 bcm43xx 921600 noflow –
[Install]
WantedBy=multi-user.target
On sauvegarde le fichier, on reboot et miracle la commande hciconfig renvoi enfin quelque chose !
Si malheureusement ce n’est toujours pas le cas il faut vérifier le service hciuart.service
# systemctl status hciuart.service
● hciuart.service – Configure Bluetooth Modems connected by UART
Loaded: loaded (/etc/systemd/system/hciuart.service; disabled)
Active: inactive (dead)
#
On voit que le service est « disabled » 😕
On lance la commande suivante pour l’activer :
# systemctl enable hciuart.service
Created symlink from /etc/systemd/system/multi-user.target.wants/hciuart.service to /etc/systemd/system/hciuart.service.
#
Puis on lance le service :
# systemctl start hciuart.service
On vérifie à nouveau :

# systemctl status hciuart.service
● hciuart.service – Configure Bluetooth Modems connected by UART
Loaded: loaded (/etc/systemd/system/hciuart.service; enabled)
Active: active (running) since Tue 2017-06-20 09:35:03 CEST; 6min ago
Process: 5659 ExecStart=/usr/bin/hciattach /dev/ttyAMA0 bcm43xx 921600 noflow – (code=exited, status=0/SUCCESS)
Main PID: 5874 (hciattach)
CGroup: /system.slice/hciuart.service
└─5874 /usr/bin/hciattach /dev/ttyAMA0 bcm43xx 921600 noflow

Jun 20 09:35:03 jeedom hciattach[5659]: bcm43xx_init
Jun 20 09:35:03 jeedom hciattach[5659]: Flash firmware /lib/firmware/BCM4343…d
Jun 20 09:35:03 jeedom hciattach[5659]: Set Controller UART speed to 921600 …s
Jun 20 09:35:03 jeedom hciattach[5659]: Device setup complete
Jun 20 09:35:03 jeedom systemd[1]: Started Configure Bluetooth Modems conne…T.
Hint: Some lines were ellipsized, use -l to show in full.
#

Et voilà ! la commande hciconfig nous renvoi quelque chose :

# hciconfig
hci0: Type: BR/EDR Bus: UART
BD Address: B8:27:EB:14:A6:0D ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING
RX bytes:2995 acl:0 sco:0 events:205 errors:0
TX bytes:1872 acl:0 sco:0 commands:143 errors:0

#

😎


0 commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.