26. August 2024

Ubuntu 22.04 LTS og batteriniveau på Bluetooth-enheder

Opdatering 28.08.24: Jeg lovede at teste på den seneste Ubuntu 24.04 LTS også, det har jeg nu gjort og her vises batteristanden i Indstillinger->Strøm med det samme, så nedenstående gælder muligvis kun for ældre versioner af BlueZ Bluetooth-pakken.

Jeg har købt et sæt nye høretelefoner, fordi jeg sled de andre op. Når jeg kigger efter nyt, er jeg lige niveauet over at putte to tindåser på ørerne, og derfor vildt imponeret over, hvad man lydmæssigt rent faktisk kan få for 600 kr. i dag.

Denne gang er tilkoblingsmuligheden ren Bluetooth og gammeldaws jackstik som fallback, så jeg slipper for at have diverse dongles i min computer, og USB-hubs.

Ahh.. Jo mindre kabelrod, jo bedre. Når man sidder i kørestol som jeg gør, er det dog ikke altid en fordel at gemme kabler væk, for man kan jo komme til at skulle pille ved dem igen, og så er det bedst, de ikke er gemt væk bag et bord eller lign. Det gælder også f.eks stikdåser på gulvet, som man typisk vil gemme så langt ad vejen, som man kan. Jeg er ret mobil og hopper gerne ned i kabelhelvedet på gulvet, hvis det skal være, men det er så også nok motion den dag :p

Ugler i mosen

Anyways, batteristanden dukkede ikke op i Ubuntu 22.04 LTS, da jeg koblede “lyttebørgerne” til. Så måtte jeg have fingrene i gryden. Sidenote: Venter stadig på den officielle upgrade-sti til 24.04 LTS. Det sker, når det første point-release 24.04.1 dukker op.

Ubuntu og mange andre Linux-distributioner bruger BlueZ-protokolstakken til alt Bluetooth/Bluetooth LE-relateret (jeg synes jo, sådan lidt småpatriotisk, at BlueZ skulle have heddet Harald…;)), så det er der, vi skal hen for at prøve at få tingene til at fungere. Guiden virker utvivlsomt også på andre systemer med BlueZ og Systemd. Det er muligt, du sidder med en nyere udgave af BlueZ og så kan det være at batteriaflæsningen allerede er røget fra at være ‘experimental’ til ’stable’.

Løsningen

Battery API’et blev implementeret i 2020, kan man se, hvis man kigger i oversigten over BlueZ-commits, men eksisterer stadig bag et experimental-flag, så det skal vi lige aktivere. Jeg linker til commit’en længere nede, hvis du har lyst til at arbejde på koden.

1. Gå i en terminal
2. Skriv

sudo <din favorit-editor> /etc/bluetooth/main.conf

3. Under [General] lav en ny linie, og skriv

Experimental = true

4. Gem filen
5. Genstart Bluetooth-daemon’en:

systemctl restart bluetooth

Dine Bluetooth-enheder kobler fra et par sekunder og kobler så til igen. Nu skulle du kunne se batteriniveauet på dine Bluetooth-enheder under Indstillinger->Strøm

Links

Bluez.git: Implement Battery Provider API patch

Add comment

Fill out the form below to add your own comments