Bug 92369 - Add support for Bluetooth speakers
Summary: Add support for Bluetooth speakers
Status: RESOLVED MOVED
Alias: None
Product: upower
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: Other All
: medium enhancement
Assignee: Richard Hughes
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-10-09 17:46 UTC by Bastien Nocera
Modified: 2018-06-04 13:24 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

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.