Hallo Ihr,
habe seit 5 Tagen einen FHEM-Server auf einem Pi4 laufen. Funktioniert auch gut. Habe mir einen BT-Stick gekauft, damit die XIAOMI-Thermosensoren einen eigenen BT-Controller haben. Wenn der Stick beim booten steckt, wird nach dem Boot mit hcitool dev
nur der Stick als hci0 angezeigt. Boote ich ohne Stick und stecke ihn nach dem Boot an, wird der interne Controller als hci0 und der Stick als hci1 angezeigt.
Dann funktioniert alles, wie es soll.
Woran kann das liegen?
Viele Grüße
Marco
Hallo Marco,
schau mal hier, https://wiki.fhem.de/wiki/Fhem.service_(systemd_unit_file)#Prozesse_vor_dem_FHEM_Start_ausf.C3.BChren
Da gibt es einen Link, da hatten wir sowas ähnliches schon mal.
Ansonsten müsstest Du mal sagen was genau läuft, welches System, hast Du UART und miniUART getauscht (Wiki Raspberry (https://wiki.fhem.de/wiki/Raspberry_Pi)) usw.
Gruß Otto
Die Abhängigkeiten beim Systemstart habe ich in der fhem.service ergänzt:
Wants=network.target hciuart.service
After=network.target hciuart.service
Danach hab ich auch mal testweise gem. WIKI UART und miniUART getauscht.
Habe den UART-Tausch wieder rückgängig gemacht, da es nicht klappt.
Installiert habe ich ein raspios-buster-armhf-lite.
Sorry da war ich wohl zu schnell mit meinem Gedanken, da ging es ja primär darum, das der parallele Start von Bluetooth und FHEM sich irgendwie gestört hat. Bei Dir geht es offenbar darum, das der zweite BT Stick beim boot die interne Schnittstelle killed.
Ob es wirklich Sinn macht, die Sensoren an einen eigenen Stick zu koppeln kann ich nicht beurteilen.
Kannst Du mal testen, wenn du FHEM den automatischen start deaktivierst (sudo systemctl disable fhem) und dann neu startest, ob da etwas anders ist mit deinem BT Stick?
Ich brauche einen zweiten BT-Anschluss, weil der erste ständig die Stati der Komponenten der Alarmanlage per Script abfragt. Wenn ich währenddessen die Sensoren der Thermometer abfrage, bricht das Script ab. Deswegen habe ich mir einen BT-Stick zusätzlich geholt.
Das interne Modul wird auch bei abgeschaltetem FHEM nicht erkannt, wenn der Stick steckt :-(.
Wahrscheinlich meine letzte Idee: Was ist wenn Du FHEM und hciuart für den Start deaktivierst. Dann das System neu startest und dann den hciuart per Hand startest?
Mich würde es wundern, wenn nach dem booten wirklich nur ein Adapter "da" ist. Natürlich kann die Reihenfolge sich Ändern.
Kannst Du bitte mal nach dem booten eingeben:
ls -lha /dev/hci*
Ich denke, es geht darum:
https://github.com/RPi-Distro/pi-bluetooth/issues/18
Ein workaround ist beschrieben, vielleicht magst du den ja testen.
@Wernieman:
pi@FHEM-Server:~ $ ls -lha /dev/hci*
ls: Zugriff auf '/dev/hci*' nicht möglich: Datei oder Verzeichnis nicht gefunden
@Otto123: beides deaktiviert und mit gestecktem Dongle gestartet. Manuell hciuart gestartet. Nur der Dongle wird angezeigt. Dongle raus. hciuart erneut gestartet. Internes Modul da. Dongle dazugesteckt. Beide da...
@kroman: das war es ! Vielen Dank an alle !!!
Nur interessehalber:
Welchen workaround hast Du denn umgesetzt? Das Downgrade auf 0.1.13 oder die Änderung der betroffenen Abfrage in /usr/bin/btuart?
das Downgrade auf 0.1.13...
ab heute ist das Update auf 0.1.16 verfügbar ...
Damit läuft es auch wieder 8)
https://archive.raspberrypi.org/debian/pool/main/p/pi-bluetooth/