Bluez 5 unter Raspbian installieren

  • Hallo zusammen!

    Ich weiß bei der Installation meines Bluetooths unter dem aktuellen Raspbian nicht mehr weiter und möchte fragen, ob ihr mir hier weiterhelfen könnt.

    Das Szenario:

    Um meinen Bluetooth Adapter zum Laufen zu bekommen, habe ich in meiner vorherigen Installation meines Raspberrys die "übliche" Methode angewandt:

    Code
    sudo apt-get install --no-install-recommends bluetooth
    sudo apt-get install bluez-utils blueman


    Siehe auch hier: http://www.raspberrypi-spy.co.uk/2013/09/how-to…e-raspberry-pi/

    Das hatte auch soweit funktioniert, ich konnte die Bluetooth-Geräte verbinden usw. Ich hatte nur mit einem speziellen Bluetooth-Controller beim Pairing Probleme. Ich habe dann rausgefunden, dass diese Probleme mit bluez 5 beseitigt worden sind.
    Bei der Installation der o.g. Tools habe ich mitbekommen, dass wohl bluez 4.99 installiert wurde.

    Also möchte ich versuchen bluez 5 auf dem Raspberry zum Laufen zu bekommen. Das geht anscheinend nur über das Compilieren des Sourcecodes. Ok, habe ich versucht, und damit mein ganzes Bluetooth vermurkst. Ich denke mal, das liegt daran, dass eben alle möglichen Versionen von bluetooth, bluez und blueman installiert waren.

    Der Versuch:

    Also dachte ich mir: Alles auf neu!

    Ich habe die SD-Karte komplett neu mit dem aktuellen Raspbian Image beschrieben
    Dann habe ich alle Updates gezogen und installiert.
    Dann habe ich rpi-update installiert und ein aktuelleres kernel installiert (aktuell 3.10.19).
    Dann habe ich das kernel von 3.11 selbst gezogen und compiliert.
    Bis dahin hat alles prima funktioniert. Raspberry läuft immer noch super.

    Dann bin ich dieser Anleitung gefolgt, um Bluez 5 zu installieren: http://www.ioncannon.net/linux/1570/blu…with-bluez-5-x/
    Nur statt das tar des Sourcecodes zu laden habe ich git benutzt, um den aktuellen Source Code zu laden:

    Code
    apt-get install libusb-dev libdbus-1-dev libglib2.0-dev automake autoconf libtool libudev-dev libical-dev libreadline-dev
    git clone --depth 5 git://git.kernel.org/pub/scm/bluetooth/bluez.git
    cd bluez
    sudo autoreconf –i
    sudo ./configure -disable-systemd
    sudo make
    sudo make install


    Sonst habe ich nix installiert. Kein "bluetooth", kein "bluez-tools", kein "blueman".
    Danach Neustart.

    Wenn ich dann hciconfig benutze, sehe ich, dass der Adapter "down" ist.
    Benutze ich

    Code
    sudo hciconfig hci0 up


    kommt eine Timeout-Meldung. Arrrrgh!

    Ich vermute, da fehlt noch irgendwas.
    Wenn ich nach dem bluetooth daemon schauen möchte:

    Code
    sudo /etc/init.d/bluetooth


    kommt eine Fehlermeldung, dass es den nicht gibt.

    Installiere ich dann doch "bluetooth"

    Code
    sudo apt-get install --no-install-recommends bluetooth


    will er auch gleich "bluez" mit installieren. Ich lasse das zu, weil ich eh nicht weiß, was ich dagegen machen soll.
    Ich mache einen Neustart. Danach ist der Adapter "up" und läuft.

    Wenn ich dann aber "bluetoothctl" von bluez 5 benutzen möchte, um mein bluetooth zu konfigurieren, taucht der Adapter dort nach Eingabe von "list" nicht auf. Ich kann ihn nicht ansprechen.
    Würde mich aber auch nicht wundern, da nun womöglich zwei Versionen von bluez installiert sind: bluez 4.99 (von apt-get) und bluez 5.12 (von mir compiliert).

    Ich weiß nun nicht mehr weiter. Was habe ich falsch gemacht? Was fehlt bei der Compilierung von bluez 5 noch, um bluetooth zum Laufen zu bekommen?
    Kann mir da jemand weiterhelfen?


  • Klingt eher so als wenn beim kompilieren ne Fehlermeldung gekommen ist, welche die übersehen/ignoriert hast. Hast du den Output vom Kompilierungsprozess noch?

    Nee, habe ich nicht mehr.
    Aber egal: Ich gehe nochmal zurück zu meinem Backup (nach Kernel-Installation), installiere bluez 5 nochmal neu und logge diesmal den Output mit. Ich mache das heute abend.

  • So, ich bin zurück zu meinem Backup nach Installation des Kernels 3.11 und vor der Installation von Bluez 5.
    Dann habe ich Folgendes gemacht:

    Code
    sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev automake autoconf libtool libudev-dev libical-dev libreadline-dev
    git clone --depth 5 git://git.kernel.org/pub/scm/bluetooth/bluez.git
    cd bluez
    
    
    sudo autoreconf -i > bluez_1_autoreconf.log 2>&1
    sudo ./configure -disable-systemd > bluez_2_configure.log 2>&1
    sudo make > bluez_3_make.log 2>&1
    sudo make install > bluez_4_install.log 2>&1

    Die Ergebnisse der Log-Dateien anbei. Ich hoffe, die bringen irgendwelche Erkenntnisse.

  • Ich habe nun in allen möglichen Foren herumgestöbert, bin aber nicht dahinter gekommen, wie ich Bluez 5 zum Starten bekomme.

    Ich habe zumindest mal mitbekommen, dass die Option "-disable-systemd" beim Konfigurieren falsch ist. Das muss korrekterweise "--disable-systemd" heissen.
    Doch mit dieser (korrekten) Option funktioniert es auch nicht.

    Ich bekomme zwar den Adapter mit

    Code
    sudo hciconfig hci0 up


    zum laufen. Doch wenn ich dann bluetoothctl starte und mir mit "list" eine Liste der Controller geben lassen möchte, ist die Liste leer.

    Ich habe die aktuelle 5.11-Version ausprobiert, die im o.g. Artikel genannte Version 5.1. Ich habe die github-Version versucht. Und die tar-Files. Überall das gleiche... :(

    Soweit ich das verstehe, muss das damit zusammenhängen, dass der bluetooth service nicht gestartet ist/wurde. Da startet auch kein /etc/init.d/bluetooth wie bei der Installation von bluez mit apt-get.
    Das hängt laut Archwiki vielleicht damit zusammen, dass ab Bluez5 wohl kein init.d mehr unterstützt dafür aber systemd benutzt wird. Das wiederum sollte ja aber laut Artikel deaktiviert werden.
    Ich habe das config daher auch nochmal ohne die Option "--disable-systemd" ausprobiert, hat aber auch nix gebracht.

    Unter /etc/init.d/bluetooth finde ich nix. Ich kann dort daher bluetooth auch nicht starten.

    Darüber hinaus habe ich keine Ahnung, wie ich den bluez5 bluetooth service unter Raspbian starten kann.

    Jetzt versuche ich mal, wenigstens bluez 4.101 zum Laufen zu bekommen.. :/

  • Argh! Nichtmal Bluez 4.101 bekomme ich zum Laufen! Was mache ich falsch?

    Ich hole mir den Sourcecode, compiliere ihn (make) und führe dann make install aus.
    Danach scheint der bluetooth daemon aber nicht im dbus zu hängen.
    /etc/init.d/bluetooth existiert nicht.

    Da scheint noch etwas zu fehlen, was man machen muss.
    Wie bekomme ich den bluetooth service zum Laufen?

    PS: Das Tool bluez-simple-agent wird mit bluez 4.101 auch nicht installiert... :/

    Einmal editiert, zuletzt von sunjammer (23. November 2013 um 02:13)


  • /etc/init.d/bluetooth existiert nicht.


    Wenn nur "/etc/init.d/bluetooth" fehlt, dann kannst Du dieses start-stop-Script für deinen Pi, mit Hilfe von "/etc/init.d/skeleton" erstellen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Danke für den Hinweis! :) Um ein funktionierendes bluetooth-script zu bekommen, habe ich bluez über apt-get installiert und dann gleich wieder deinstalliert. Das Start-Script für Bluetooth bleibt dabei in /etc/init.d/ erhalten.
    Dann habe ich bluez-4.101 gebaut mit:

    Und siehe da: Es funktioniert! :)
    Die Test-Scripte zum Koppeln von Bluetooth-Geräten liegen in bluez-4.101/test/
    Mit diesen können Geräte gekoppelt werden.

    PS: Ich habe das auch nochmal mit bluez5 versucht, hat aber leider nicht geklappt.

    Einmal editiert, zuletzt von sunjammer (24. November 2013 um 01:52)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!