[Jawbone ERA] HFP features not working with Bluez5 when phone initiates connection

Bug #1527354 reported by Tony Espy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
Won't Fix
High
Unassigned
bluez (Ubuntu)
Won't Fix
Medium
Simon Fels

Bug Description

While debugging some re-factoring work on the ofono upower plugin, I noticed that I wasn't able to answer or terminate calls using my Jawbone ERA headset. I bought this headset last year, and although it's an older model, it's spec sheet states that it supports HSP 1.1, and HFP 1.5.

I can pair the device with my krillin, and it properly auto connects ( note, this seems to work better than my iPhone ). In-call audio works for both incoming and outgoing calls, however I get no ringtone in the headset and as mentioned above, I can't answer or terminate the call. I've verified on my iPhone6, that the headset works. In addition to a ringtone in the earpiece, the headset also announces the incoming phone number.

From looking at the ofono debug output, I'm never seeing a new HFP connection occur. I noticed as the upower plugin uses a foreach_atom (HFP) style call to update the battery indicators on all attached HFP devices.

I've tested this extensively on krillin, running rc-proposed:

phablet@ubuntu-phablet:~$ system-image-cli -i
current build number: 205
device name: krillin
channel: ubuntu-touch/rc-proposed/bq-aquaris.en
last update: 2015-12-16 17:53:19
version version: 205
version ubuntu: 20151216
version device: 20151204-2254a36
version custom: 20151111--36-46-vivid

I've also tested on mako, rc-proposed ( #317 ).

For reference here's the versions of bluez, ofono, and PulseAudio on the device:

bluez 5.36-0ubuntu2~overlay1
ofono 1.17.bzr6908+15.04.20151203-0ubuntu1~awe3
pulseaudio 1:6.0-0ubuntu9.11

Related branches

Revision history for this message
Tony Espy (awe) wrote :
tags: added: bluez5
Revision history for this message
Tony Espy (awe) wrote :
Revision history for this message
Tony Espy (awe) wrote :
Revision history for this message
Tony Espy (awe) wrote :
Revision history for this message
Simon Fels (morphis) wrote :

Did a first look and it seems that your headset initates the connection and wants to connect on HSP

Dec 17 17:59:38 ubuntu-phablet bluetoothd[895]: src/profile.c:ext_confirm() incoming connect from 00:21:3C:A0:14:A6
Dec 17 17:59:38 ubuntu-phablet bluetoothd[895]: src/service.c:btd_service_ref() 0xb7fedd90: ref=2
Dec 17 17:59:38 ubuntu-phablet bluetoothd[895]: src/profile.c:ext_confirm() Headset Voice gateway authorizing connection from 00:21:3C:A0:14:A6
Dec 17 17:59:38 ubuntu-phablet bluetoothd[895]: src/profile.c:ext_auth() 00:21:3C:A0:14:A6 authorized to connect to Headset Voice gateway
Dec 17 17:59:38 ubuntu-phablet bluetoothd[895]: src/profile.c:ext_connect() Headset Voice gateway connected to 00:21:3C:A0:14:A6
Dec 17 17:59:38 ubuntu-phablet bluetoothd[895]: src/service.c:change_state() 0xb7fedd90: device 00:21:3C:A0:14:A6 profile Headset Voice gateway state changed: disconnected -> connecting (0)
Dec 17 17:59:38 ubuntu-phablet pulseaudio[2226]: [pulseaudio] backend-native.c: dbus: path=/Profile/HSPAGProfile, interface=org.bluez.Profile1, member=NewConnection
Dec 17 17:59:38 ubuntu-phablet pulseaudio[2226]: [pulseaudio] backend-native.c: dbus: NewConnection path=/org/bluez/hci0/dev_00_21_3C_A0_14_A6, fd=63
Dec 17 17:59:38 ubuntu-phablet pulseaudio[2226]: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_00_21_3C_A0_14_A6/fd63 state changed from disconnected to idle
Dec 17 17:59:38 ubuntu-phablet pulseaudio[2226]: [pulseaudio] module-bluez5-discover.c: Loading module-bluez5-device path=/org/bluez/hci0/dev_00_21_3C_A0_14_A6 profile="a2dp_sink" sco_sink="sink.fake.sco" sco_source="source.fake.sco"
Dec 17 17:59:38 ubuntu-phablet pulseaudio[2226]: [pulseaudio] module-bluez5-device.c: Using a2dp_sink profile as default
Dec 17 17:59:38 ubuntu-phablet pulseaudio[2226]: [pulseaudio] card.c: Created 1 "bluez_card.00_21_3C_A0_14_A6"
Dec 17 17:59:38 ubuntu-phablet pulseaudio[2226]: [pulseaudio] module-bluez5-device.c: Default profile not connected, selecting off profile
Dec 17 17:59:38 ubuntu-phablet pulseaudio[2226]: [pulseaudio] module-bluez5-device.c: Created card (current profile off)

Not sure why but that is the reason why you can't

- control the call
- don't hear any ringtone as long as the telepathy-ofono service changes didn't landed to do this over A2DP rather than switching to HSP/HFP already when the ringtone is playing.

Revision history for this message
Tony Espy (awe) wrote :

@Simon

It works fine with my iPhone6, and has worked properly before with Ubuntu...

Revision history for this message
Tony Espy (awe) wrote :

Re-tested to check that initiating the connection from the phone ( ie. by doing a fresh pairing ) doesn't make a difference.

Nothing has been upgraded on the phone, same image used as when the bug was reported. No difference after connecting from the phone; syslog attached.

Revision history for this message
Tony Espy (awe) wrote :

Re-tested with the last stable image ( ie. bluez4 userspace ) on krillin, and the headset functions works fine regardless of which side initiates the connection.

phablet@ubuntu-phablet:~$ system-image-cli -i
current build number: 24
device name: krillin
channel: ubuntu-touch/stable/ubuntu
last update: 2015-12-21 18:30:51
version version: 24
version ubuntu: 20150713
version device: 20150529-8e13c5f
version custom: 20150713

Changed in bluez (Ubuntu):
importance: Undecided → High
Tony Espy (awe)
tags: added: bluetooth-ota9
Revision history for this message
Tony Espy (awe) wrote :

Re-tested on krillin, rc-proposed #231. Same result, my Jawbone only works as a headset. Same result on arale ( rc-proposed, #220 ). On mako ( rc-proposed, #331 ) I couldn't even get the headset function to work.

Revision history for this message
Tony Espy (awe) wrote :

Re-tested on arale ( rc-proposed - 258 ) with bluez 5.37 ( from silo 39 ) and I'm able to terminate a call from the headset.

Re-tested on krillin ( rc-proposed - 419 ) with bluez 5.37 ( same silo ) and I'm also able to terminate the call from the headset.

Note - I also installed pulseaudio from silo 47, which fixes a regression in rc-proposed on arale and krillin.

Simon Fels (morphis)
Changed in bluez (Ubuntu):
status: New → In Progress
assignee: nobody → Simon Fels (morphis)
Revision history for this message
Tony Espy (awe) wrote :

Note, it turns out that if the headset initiates the connection, then the HFP features work. It's only when the connection is initiated from the phone ( ie. when first pairing the device ) that the HFP features fail.

To reproduce easily:

1. Goto to settings & forget the device if previously paired
2. Pair the device
3. Make a phone call
4. Try to end the call from the headset

summary: - [Jawbone ERA] HFP features not working with Bluez5
+ [Jawbone ERA] HFP features not working with Bluez5 when phone initiates
+ connection
Revision history for this message
Simon Fels (morphis) wrote :

@Tony: With your last comment: BlueZ 5.37 doesn't fix that problem too? Or do you still see this with bluez 5.37?

Changed in canonical-devices-system-image:
status: New → In Progress
milestone: none → ww08-2016
importance: Undecided → High
assignee: nobody → John McAleely (john.mcaleely)
milestone: ww08-2016 → none
Revision history for this message
Tony Espy (awe) wrote :

@Simon

Pretty sure my results reported in comment #11 were using the silo, so 5.37 doesn't resolve the problem.

I just re-tested on arale ( rc-proposed, 350 ) and still see the same behavior on the initial connect of the headset. Unfortunately, I can't seem to get the headset to work at all now with the latest rc-proposed image.

I'll retry on krillin later today.

tags: added: bluez-touch
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Reduced priority for Ubuntu Touch bugs.

Changed in bluez (Ubuntu):
importance: High → Medium
Changed in canonical-devices-system-image:
assignee: John McAleely (john.mcaleely) → nobody
Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Changed in bluez (Ubuntu):
status: In Progress → Fix Released
Changed in canonical-devices-system-image:
status: In Progress → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Oh. Except comment #13 says not.

Changed in canonical-devices-system-image:
status: Fix Released → Confirmed
Changed in bluez (Ubuntu):
status: Fix Released → Confirmed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Ubuntu Touch is no longer supported.

Changed in bluez (Ubuntu):
status: Confirmed → Won't Fix
Changed in canonical-devices-system-image:
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.