Bug 92369

Summary: Add support for Bluetooth speakers
Product: upower Reporter: Bastien Nocera <bugzilla>
Component: generalAssignee: Richard Hughes <richard>
Status: RESOLVED MOVED QA Contact:
Severity: enhancement    
Priority: medium CC: pbrobinson
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Bastien Nocera 2015-10-09 17:46:05 UTC
Bluetooth speakers implementing the AVCRP protocol (which is most of them) can export battery information to the phone/computer they're attached to.

This requires changes in BlueZ to export that information.
Comment 1 Bastien Nocera 2018-02-19 14:10:50 UTC
The way to report battery status depends on the protocol used. We would probably
want to try to put all the code inside bluez itself so that we could reuse the
existing org.bluez.Battery1 interface, as propagated by UPower.

The hardest part of the work is figuring out whether a device advertises its
battery status at all, and then through which means. After that, implementing
the functionality should be fairly straight forward.

1) A2DP

Through the AVRCP protocol, battery information is passed to bluez, however,
there seems to be nothing using that value, or exporting it. I also could not
find compatible hardware. Look for avrcp_handle_ct_battery_status()

2) HFP/HSP (3GPP variant)

In "3GPP TS 27.007, section 8"[1], you'll find documentation for the
"+CIND" call (Indicator control), which can be used along with +CMER
to get notification events (unsolicited +CIEV result code) to get
the battery information.

An implementation exists in the android/ handsfree glue code in bluez.

[1]: https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=1515

3) HFP/HSP (Apple variant)

Simpler implementation:
https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf

Example implementation inside PulseAudio:
https://github.com/sre/pulseaudio/commit/d66b66d20e9bc73e6d0ca89283cf2b5675304b00

4) HFP/HSP (Vendor specific)

Plantronics:
https://developer.plantronics.com/article/plugging-plantronics-headset-sensor-events-android
Comment 2 GitLab Migration User 2018-06-04 13:24:40 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/upower/upower/issues/38.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.