Instabilité Bluetooth RPI / BLEA - perte de l'advertising

Bonjour à tous,

Je sous RPI 3B+ sous Buster / Jeedom v4.038 / BLEA sur bluetooth interne, pas d’antenne déportée, j’ai une nut find 3 (en mode « sans perte », appli désactivée) et 1 itag (pas cher) (plus du rfxcom, conbee/deconz).

très régulièrement je perd la connexion avec les tags, en même temps, et je les récupère à peu près en même temps.

(en haut RSSI et en bas présence, les tags sont à 1 m de mon PI et distant entre eux de 1 m également.

pendant que c’es down j’ai voulu vérifier l’état du BT (suis pas un grand connaisseur non plus!) :

user@monPI:~ $ sudo service bluetooth status
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-02-14 11:12:09 CET; 11 months 14 days ago
     Docs: man:bluetoothd(8)
 Main PID: 675 (bluetoothd)
   Status: "Running"
    Tasks: 1 (limit: 2200)
   Memory: 1.3M
   CGroup: /system.slice/bluetooth.service
           └─675 /usr/lib/bluetooth/bluetoothd

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

user@monPI:~ $ hciconfig
hci0:	Type: Primary  Bus: UART
	BD Address: XX:XX:XX:XX:XX  ACL MTU: 1021:8  SCO MTU: 64:1
	UP RUNNING 
	RX bytes:42849750 acl:6933 sco:160 events:2459919 errors:0
	TX bytes:10545806 acl:6959 sco:0 commands:1439009 errors:0

user@monPI:~ $ ps -ef | grep "blea"
pi       15321  7654  0 21:14 pts/0    00:00:00 grep --color=auto blea
root     15509     1  0 20:37 ?        00:00:00 sudo /usr/bin/python3 /var/www/html/plugins/blea/resources/blead/blead.py --loglevel debug --device hci0 --socketport 55008 --sockethost 127.0.0.1 --callback http://127.0.0.1:80/plugins/blea/core/php/jeeBlea.php --apikey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxn --daemonname local --noseeninterval 4 --scaninterval 29 --scanmode passive --pid /tmp/jeedom/blea/deamon.pid
root     15515 15509  3 20:37 ?        00:01:16 /usr/bin/python3 /var/www/html/plugins/blea/resources/blead/blead.py --loglevel debug --device hci0 --socketport 55008 --sockethost 127.0.0.1 --callback http://127.0.0.1:80/plugins/blea/core/php/jeeBlea.php --apikey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxn --daemonname local --noseeninterval 4 --scaninterval 29 --scanmode passive --pid /tmp/jeedom/blea/deamon.pid

dans mes logs debug j’ai très régulièrement (log BLEA)

[2020-01-29 20:37:56][INFO] : Launching remotes …

[2020-01-29 20:37:57][INFO] : Lancement démon blea : sudo /usr/bin/python3 /var/www/html/plugins/blea/resources/blead/blead.py --loglevel debug --device hci0 --socketport 55008 --sockethost 127.0.0.1 --callback http://127.0.0.1:80/plugins/blea/core/php/jeeBlea.php --apikey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --daemonname local --noseeninterval 4 --scaninterval 29 --scanmode passive --pid /tmp/jeedom/blea/deamon.pid

[2020-01-29 20:38:01][INFO] : Antenna local alive sending known devices

[2020-01-29 20:38:01][INFO] : Sending ready to daemons

[2020-01-29 20:38:02][INFO] : Launching remotes …

c’est normal de relancer le démon régulièrement? (ça varie entre 1h et 15 minutes)

au moment ou c’est tombé :

[2020-01-29 21:10:38][INFO] : This is a heartbeat from antenna local
[2020-01-29 21:11:34][INFO] : This is a heartbeat from antenna local
[2020-01-29 21:12:30][INFO] : This is a heartbeat from antenna local
[2020-01-29 21:13:26][INFO] : This is a heartbeat from antenna local
[2020-01-29 21:14:22][INFO] : This is a heartbeat from antenna local
[2020-01-29 21:15:18][INFO] : This is a heartbeat from antenna local

dans le log blea local :

[2020-01-29 21:11:43.178][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2020-01-29 21:11:43.296][DEBUG] : http://127.0.0.1:80 « POST /plugins/blea/core/php/jeeBlea.php?apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HTTP/1.1 » 200 0
[2020-01-29 21:12:18.780][DEBUG] : SCANNER------Clearing seen
[2020-01-29 21:12:30.416][DEBUG] : Send to jeedom : {‹ heartbeat ›: 1, ‹ source ›: ‹ local ›, ‹ version ›: ‹ 2.9 ›}
[2020-01-29 21:12:30.427][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2020-01-29 21:12:30.459][DEBUG] : http://127.0.0.1:80 « POST /plugins/blea/core/php/jeeBlea.php?apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HTTP/1.1 » 200 0
[2020-01-29 21:12:49.142][DEBUG] : SCANNER------Clearing seen
[2020-01-29 21:13:19.514][DEBUG] : SCANNER------Clearing seen
[2020-01-29 21:13:26.471][DEBUG] : Send to jeedom : {‹ heartbeat ›: 1, ‹ source ›: ‹ local ›, ‹ version ›: ‹ 2.9 ›}
[2020-01-29 21:13:26.482][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2020-01-29 21:13:26.514][DEBUG] : http://127.0.0.1:80 « POST /plugins/blea/core/php/jeeBlea.php?apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HTTP/1.1 » 200 0
[2020-01-29 21:13:38.484][INFO] : Not SEEEEEEEEEN------ since 116s 11:22:33:44:55:66
[2020-01-29 21:13:38.583][DEBUG] : Send to jeedom : {‹ devices ›: {‹ 11:22:33:44:55:66 ›: {‹ present ›: 0, ‹ id ›: ‹ 11:22:33:44:55:66 ›, ‹ rssi ›: -200, ‹ source ›: ‹ local ›}}}
[2020-01-29 21:13:38.591][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80
[2020-01-29 21:13:38.773][DEBUG] : http://127.0.0.1:80 « POST /plugins/blea/core/php/jeeBlea.php?apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HTTP/1.1 » 200 0
[2020-01-29 21:13:39.486][INFO] : Not SEEEEEEEEEN------ since 116s AA:BB:CC:DD:ZZ:FF
[2020-01-29 21:13:39.779][DEBUG] : Send to jeedom : {‹ devices ›: {‹ AA:BB:CC:DD:ZZ:FF ›: {‹ present ›: 0, ‹ id ›: ‹ AA:BB:CC:DD:ZZ:FF ›, ‹ rssi ›: -200, ‹ source ›: ‹ local ›}}}
[2020-01-29 21:13:39.787][DEBUG] : Starting new HTTP connection (1): 127.0.0.1:80

les coupure peuvent durer de 5 min à 15+

j’ai réinstallé, relancé l’installation des dépendances, rien n’y fait.

Je ne sais pas quoi donner comme info supplémentaires.

Est ce un problème connnu? connu sur PI?
Des pistes ou chercher?

[Edit] C’est le seul moyen de notifier la présence que ma femme serait susceptible de potentiellement accepter !

voila ce que ça donne sur la nuit, pour donner une idée de la fréquence de ces décrochage, et son irrégularité.

je ne sais pas si ça peut aider, les temps de décrochage sont de

03:27
03:27
03:52
03:31
03:29
11:34
13:14
03:34
02:00
03:57

ca tourne donc plutot autour de 3’30

Re,

Je continu mes test, j’ai désactivé le wifi et passé en filaire ma RPI jeedom.

Ca m’a donné ça cette nuit :

j’ai toujours des chute régulière sur les 2 tag en même temps et retour en même temps.

J’ai parfois un petit trou de qques seconde à 1’30 minutes autour de ces trous dans mes log, mais rien de véritablement synchro avec ces déconnexions…

Quelqu’un à une idée?

En regardant ces 2 nuits, j’ai l’impression que ça tombe assez régulièrement toutes les 1/2 heures, aux écart type près.

Du coup je m’interesse au cron. Sur ma page moteur de tache, je constate que la ligne « cron30 » est celle dont la dernière durée est la plus importante (96 secondes ici), les autres tournant autour de la seconde, sauf le backup.

Les plugin qui ont un cron 30 d’actif sont :
Waze in Time
Weather

ceux qui ont un cron 5/10/15/Hourly, qui vont donc potentiellement concurrencer mon cron 30 (ocazou) sont :

Agenda
Bluetooth Advertisement
Deconz
fullyKiosK
Infos du Jour
Localisation et Trajet
Rosee - Givre
Vigilance Météo

Je n’ai pas le debug activé sur tous, ils fonctionnent très bien par ailleurs.
Je n’ai pas installé de cronjob sur un virtuel ou autre à la main non plus.

Est ce qu’il y aurait une piste privilégiée ou creuser?

______________________________ EDIT ______________________

Info sup :

Alors drole, j’ai oublié/laissé le nut à la maison aujourd’hui, à la même place que cette nuit, et là, quasiement aucune déconnexion de la journée, une petite de 40 sec, avec le RSSI qui yoyotte :

Qu’est ce qui pourrait interférer avec la détection bluetooth?

J’ai pas des masse d’appareil en BT chez moi, la plupart éteint car pour de l’utilisation nomade…?
Mon tel n’est pas pas en wifi car connexion 56k like…

[EDIT 2] _____________________________________________________________

Je remarque ds mon log BLEA, que je n’ai aucune lignes concernant un redemarrage du démon sur le temps de la journée (ou je n’ai pas les déconnexions…)
je n’ai que les heartbeats de l’antenne…

Est ce que ma clé pas cher peu envoyer des trames alakon qui interfereraient? (=> test la déconnecter pour la nuit) ou un autre équipement?

[EDIT 3] __________________________________________________________
16h32, retour du voisinage, et retour des déconnexions… => quelqu’un à un idée du type d’interférence possibles?

J’ai le même souci. J’ai refait pourtant la procédure du reset, changer le mode sur l’application et puis me déconnecter.
Je vais tester l’option Heartbeat (min) dans la config de blea avec redémarrage du deamon.
Je vais le mettre à 10 min pour le moment

je viens de recevoir mon dongle bluetooth, je l’ai connecté sur un hub alimenté déporté.

Là mon bluetooth interne est down, le dongle lui est Ok
J’ai toujours autant de device non connus qui popent, et les rssi qui yoyote, mais…
=> je n’ai pas eu de décrochage en 2 heures ce qui n’était pas arrivé.

A voir demain si ça a tenu et que le démon n’est pas tombé.

je redemarrerai ma box demain, ce qui va relancer le bt interne, j’ai comme l’impression qu’il n’y est pas pour rien, depuis qu’il est down j’ai des équipement qui communiquent mieux…

Il faut décocher ou cocher la case dans la config de blea pour ne pas inclure les inconnus.
Moi le redémarrage du deamon avec le paramètre heart beat n’a pas fonctionné.

Par contre dans mes logs le local host 127.0.0.1 a différents ports. Pas seulement le port 80.
Ce ne sait pas pourquoi il « scan » mon local sur plusieurs ports.

pardon me suit mal exprimé.

Quand je surveille les log de mon antenne et quand je sniff avec une appli les BT autour, j’ai bcp de device inconnus. Je pensais que ça pouvais être la cause de mes pertes.

Ce matin, démon toujours ok et aucune perte de signal sur mes tag.

Dans mes logs (debug) je n’ai que les ligne avec le 127.0.0.1:80 pour remonter les résultats à jeedom. Tu as plusieurs antennes BT?

Bonjour,
Tu as acheté quel modèle?

Je n’ai pas pris de risque et me suit rangé a l’avis de la communauté : une Sena ud 100

D’accord, merci pour ton retour.

pour clore ce sujet,
en résumé, pas sur que toutes les étapes aient eu un impact majeur :

  • passé sur un dongle bluetooth (sena ud 100) sur un hub alimenté, éloignée de la box.
  • désactivé le blluetooth interne
  • désactivé le wifi

pas un seul décrochage en 2 jours, gestion parfaite, même sur tag pas cher
WAF ++

le seul inconvénient est la portée monstrueuse de ce dongle, j’ai des détection sur la route qui passe devant chez moi…!

au final pas vraiment d’explication, mais ca fonctionne!

Moi, je suis passé par une autre solution qui a l’air de fonctionner.
J’ai pairé directement depuis mon raspberry pi en ssh, sous la commande : sudo bluetoothctl
Puis, j’ai pair un à un mes nut :

agent on
discoverable on
scan on
pair {Adresse MAC}

Je verifie avec paired-devices

Toutes les commandes sont sous help

A voir si ça tien dans le temps.

ÉDIT: @Bben; j’ai résolu définitivement mon problème en désactivant le plugin « Détection iPhone (Bluetooth) ».

Merci Niceday,

Tu avais d3s problemes de décrochage du BT régulier également ?

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.