SUMMARY I have headset Audio Technica model ANC900BT connecting to my PC via Bluetooth. Unfortunately after proper connection (I can listen sound via this device) I don't see battery level in applet of system tray. It is is connected by BLE_ATH-ANC900BT (Bluetooth Low Energy way). STEPS TO REPRODUCE 1. Pair headset ATH-ANC900BT 2. Connect it to host 3. Open Bluetooth and unfold entry: BLE_ATH-ANC900BT OBSERVED RESULT No battery level EXPECTED RESULT Battery level should appear SOFTWARE/OS VERSIONS Linux/KDE Plasma: (available in About System) KDE Plasma Version: 5.24.4 KDE Frameworks Version: 5.92 Qt Version: 5.15.3 (with recent kde patches) ADDITIONAL INFORMATION
ADDITIONAL INFORMATION $ pacman -Q | grep pulse libpulse 15.0-4 projectm-pulseaudio 3.1.12-3 pulseaudio 15.0-4 pulseaudio-alsa 1:1.2.6-3 pulseaudio-bluetooth 15.0-4 pulseaudio-equalizer 15.0-4 pulseaudio-qt 1.3-1 pulsemixer 1.5.1-3 $ lsmod | grep bt btusb 65536 0 btrtl 28672 1 btusb btbcm 20480 1 btusb btintel 45056 1 btusb btmtk 16384 1 btusb bluetooth 851968 59 btrtl,hidp,btmtk,btintel,btbcm,bnep,btusb,rfcomm $ pacman -Q | grep blue bluedevil 1:5.24.4-1 bluez 5.64-2 bluez-hid2hci 5.64-2 bluez-libs 5.64-2 bluez-qt 5.92.0-1 bluez-tools 0.2.0-5 bluez-utils 5.64-2 gnome-bluetooth 3.34.5-2 pulseaudio-bluetooth 15.0-4 python-pybluez 0.23-4 Not sure if this is related, because I use Bluez, but I tried also this (without success): I start daeamon with experimental function like this: ExecStart=/usr/lib/bluetooth/bluetoothd -E And in configuration file: /etc/bluetooth/main.conf I have line: Experimental = true in section "General"
Created attachment 147948 [details] bluetooth_connection_made_by_kde
Created attachment 147949 [details] bluetooth_connection_made_manually
ADDITIONAL INFORMATION $ pacman -Q bluez bluez 5.64-2 UPDATE of DESCRIPTION The issue is that when I connect my headset manually using bluetoothctl then I get battery level, but using kde wizard, doesn't. Please check attached screenshots. Manually I do it like this: bluetoothctl Agent registered AdvertisementMonitor path registered [bluetooth]# power on Changing power on succeeded [bluetooth]# agent on Agent is already registered [bluetooth]# default-agent Default agent request successful [bluetooth]# scan on ... [CHG] Device 00:0A:45:0D:F0:6B Name: BLE_ATH-ANC900BT [CHG] Device 00:0A:45:0D:F0:6B Alias: BLE_ATH-ANC900BT .. [bluetooth]# pair 00:0A:45:0D:F0:6B Attempting to pair with 00:0A:45:0D:F0:6B [CHG] Device 00:0A:45:0D:F0:6B Connected: yes [CHG] Device 00:0A:45:0D:F0:6B Name: BLE_ATH-ANC900BT [CHG] Device 00:0A:45:0D:F0:6B Alias: BLE_ATH-ANC900BT [NEW] Primary Service (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0001 00001801-0000-1000-8000-00805f9b34fb Generic Attribute Profile [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0001/char0002 00002a05-0000-1000-8000-00805f9b34fb Service Changed [NEW] Descriptor (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0001/char0002/desc0004 00002902-0000-1000-8000-00805f9b34fb Client Characteristic Configuration [NEW] Primary Service (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service000a 00001804-0000-1000-8000-00805f9b34fb Tx Power [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service000a/char000b 00002a07-0000-1000-8000-00805f9b34fb Tx Power Level [NEW] Primary Service (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service000d 00001802-0000-1000-8000-00805f9b34fb Immediate Alert [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service000d/char000e 00002a06-0000-1000-8000-00805f9b34fb Alert Level [NEW] Primary Service (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0010 00001803-0000-1000-8000-00805f9b34fb Link Loss [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0010/char0011 00002a06-0000-1000-8000-00805f9b34fb Alert Level [NEW] Primary Service (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0013 0000180d-0000-1000-8000-00805f9b34fb Heart Rate [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0013/char0014 00002a37-0000-1000-8000-00805f9b34fb Heart Rate Measurement [NEW] Descriptor (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0013/char0014/desc0016 00002902-0000-1000-8000-00805f9b34fb Client Characteristic Configuration [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0013/char0017 00002a38-0000-1000-8000-00805f9b34fb Body Sensor Location [NEW] Primary Service (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0019 0000180a-0000-1000-8000-00805f9b34fb Device Information [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0019/char001a 00002a29-0000-1000-8000-00805f9b34fb Manufacturer Name String [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0019/char001c 00002a24-0000-1000-8000-00805f9b34fb Model Number String [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0019/char001e 00002a25-0000-1000-8000-00805f9b34fb Serial Number String [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0019/char0020 00002a27-0000-1000-8000-00805f9b34fb Hardware Revision String [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0019/char0022 00002a26-0000-1000-8000-00805f9b34fb Firmware Revision String [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0019/char0024 00002a28-0000-1000-8000-00805f9b34fb Software Revision String [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0019/char0026 00002a23-0000-1000-8000-00805f9b34fb System ID [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0019/char0028 00002a2a-0000-1000-8000-00805f9b34fb IEEE 11073-20601 Regulatory Cert. Data List [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0019/char002a 00002a50-0000-1000-8000-00805f9b34fb PnP ID [NEW] Primary Service (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service002c 00001100-d102-11e1-9b23-00025b00a5a5 Vendor specific [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service002c/char002d 00001101-d102-11e1-9b23-00025b00a5a5 Vendor specific [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service002c/char002f 00001102-d102-11e1-9b23-00025b00a5a5 Vendor specific [NEW] Descriptor (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service002c/char002f/desc0031 00002902-0000-1000-8000-00805f9b34fb Client Characteristic Configuration [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service002c/char0032 00001103-d102-11e1-9b23-00025b00a5a5 Vendor specific [NEW] Primary Service (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0034 0000180f-0000-1000-8000-00805f9b34fb Battery Service [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0034/char0035 00002a19-0000-1000-8000-00805f9b34fb Battery Level [NEW] Descriptor (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0034/char0035/desc0037 00002904-0000-1000-8000-00805f9b34fb Characteristic Format [NEW] Descriptor (Handle 0x0000) /org/bluez/hci0/dev_00_0A_45_0D_F0_6B/service0034/char0035/desc0038 00002902-0000-1000-8000-00805f9b34fb Client Characteristic Configuration [CHG] Device 00:0A:45:0D:F0:6B ServicesResolved: yes Pairing successful [bluetooth]# scan off
There is no relevant difference between what bluetoothctl does and what bluedevil does, so what you are seeing is most likely purely coincidental
When the battery info is *not* shown, what does running "qdbus --system org.bluez /org/bluez/hci0/dev_00_0A_45_0D_F0_6B org.bluez.Battery1.Percentage" do?
(In reply to Nicolas Fella from comment #6) > When the battery info is *not* shown, what does running "qdbus --system > org.bluez /org/bluez/hci0/dev_00_0A_45_0D_F0_6B > org.bluez.Battery1.Percentage" do? $ qdbus --system org.bluez /org/bluez/hci0/dev_00_0A_45_0D_F0_6B org.bluez.Battery1.Percentage Error: org.freedesktop.DBus.Error.UnknownMethod Method "Percentage" with signature "" on interface "org.bluez.Battery1" doesn't exist I removed last two words and pressed Tab to get completion. Below please find result: $ qdbus --system org.bluez /org/bluez/hci0/dev_00_0A_45_0D_F0_6B org.bluez. org.bluez.Device1.Adapter org.bluez.Device1.Connected org.bluez.Device1.RSSI org.bluez.MediaControl1.Pause org.bluez.Device1.Address org.bluez.Device1.ConnectProfile org.bluez.Device1.ServiceData org.bluez.MediaControl1.Play org.bluez.Device1.AddressType org.bluez.Device1.Disconnect org.bluez.Device1.ServicesResolved org.bluez.MediaControl1.Player org.bluez.Device1.AdvertisingData org.bluez.Device1.DisconnectProfile org.bluez.Device1.Trusted org.bluez.MediaControl1.Previous org.bluez.Device1.AdvertisingFlags org.bluez.Device1.Icon org.bluez.Device1.TxPower org.bluez.MediaControl1.Rewind org.bluez.Device1.Alias org.bluez.Device1.LegacyPairing org.bluez.Device1.UUIDs org.bluez.MediaControl1.Stop org.bluez.Device1.Appearance org.bluez.Device1.ManufacturerData org.bluez.Device1.WakeAllowed org.bluez.MediaControl1.VolumeDown org.bluez.Device1.Blocked org.bluez.Device1.Modalias org.bluez.Input1.ReconnectMode org.bluez.MediaControl1.VolumeUp org.bluez.Device1.CancelPairing org.bluez.Device1.Name org.bluez.MediaControl1.Connected org.bluez.Device1.Class org.bluez.Device1.Pair org.bluez.MediaControl1.FastForward org.bluez.Device1.Connect org.bluez.Device1.Paired org.bluez.MediaControl1.Next
Additional activities I did yesterday was: 1. update service file: /usr/lib/systemd/system/bluetooth.service with: "ExecStart=/usr/lib/bluetooth/bluetoothd -E", so turned on experimental functions 2. update file /etc/bluetooth/main.conf , section General with "Experimental = true" 3. Run commands: $ sudo systemctl restart bluetooth.service $ sudo systemctl daemon-reload 4. I did all commands I mentioned below in bluetoothctl After pairing I can see Battery level Today I turned on my PC and having modified mentioned files and doing only the things mentioned in point 4, didn't give success, so no got battery level. To get battery level I needed restore default values in both mentioned config files, so remove experimental option and restart service and reload daemon. I paired my headset. And again updated both files with option enabling experimental function and restarted service and reload daemon. After pairing headset by bluetoothctl I got battery level. So I think I paired twice and after second time I got battery level.
In moment when battery level is shown then below commands gives works like below $ qdbus --system org.bluez /org/bluez/hci0/dev_00_0A_45_0D_F0_6B org.bluez.Battery1.Percentage S And other results: $ dbus --system org.bluez /org/bluez/hci0/dev_00_0A_45_0D_F0_6B org.bluez.Battery1. org.bluez.Battery1.Percentage org.bluez.Battery1.Source $ qdbus --system org.bluez /org/bluez/hci0/dev_00_0A_45_0D_F0_6B org.bluez.Battery1.Source GATT Battery Service
> Error: org.freedesktop.DBus.Error.UnknownMethod Method "Percentage" with signature "" on interface "org.bluez.Battery1" doesn't exist That's exactly what I expected. bluez does not provide the battery interface so bluedevil cannot display the battery level. The battery reporting requires the experimental flag, so I'm not sure why you are seeing what you are seeing. However I'm quite confident that the issue is not related to Plasma since it works as expected when the battery interface is present, and whether or not it is isn't something Plasma has any influence over. I suggest you report this to bluez directly
(In reply to Nicolas Fella from comment #10) > > Error: org.freedesktop.DBus.Error.UnknownMethod > However I'm quite confident that the issue is not related to Plasma since it > works as expected when the battery interface is present, and whether or not > it is isn't something Plasma has any influence over. Yes. Seems you are right. BTW. When I can see battery level then headset is not discoverable by pulseaudio, so I cannot switch to this device.. It is really annoying. > I suggest you report this to bluez directly I will do it. Thanks a lot for checking and suggestions. It was helpful.