Closed
Bug 947102
Opened 12 years ago
Closed 11 years ago
[bluez]No Audio over BT headset for voice calls on JB builds
Categories
(Firefox OS Graveyard :: Vendcom, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
1.3 C2/1.4 S2(17jan)
People
(Reporter: bhargavg1, Assigned: shawnjohnjr)
Details
(Whiteboard: [POVB])
Attachments
(4 files)
See that on JB builds, there is no voice over BT headset when a call is established.
when setting up connection through [1] we only provide BLUETOOTH_HFP_STATUS_CHANGED_ID state which doesn't call SetForceForUse needed in JB builds [3] for correct routing of voice calls.
A check [4] is made later when trying to set the device strategy for a voice calls which we fail
Note we are using BlueZ stack
[1] http://mxr.mozilla.org/mozilla-central/source/dom/bluetooth/bluez/BluetoothHfpManager.cpp#1651
[2] http://mxr.mozilla.org/mozilla-central/source/dom/system/gonk/AudioManager.cpp#251
[3] https://www.codeaurora.org/cgit/quic/la/platform/hardware/qcom/audio/tree/alsa_sound/AudioPolicyManagerALSA.cpp?h=jb_3.2.1#n683
[4] https://www.codeaurora.org/cgit/quic/la/platform/hardware/qcom/audio/tree/alsa_sound/AudioPolicyManagerALSA.cpp?h=jb_3.2.1#n1739
Comment 1•12 years ago
|
||
Shawn, who can look at this ASAP?
blocking-b2g: 1.3? → 1.3+
Flags: needinfo?(shuang)
| Assignee | ||
Updated•12 years ago
|
Assignee: nobody → shuang
Flags: needinfo?(shuang)
| Assignee | ||
Comment 2•12 years ago
|
||
I'm working with our audio guy (Star Cheng), we will update later.
Folks seems to be an issue with specific headset, let me get back to you with more details
Sorry for the confusion
Status: NEW → UNCONFIRMED
Ever confirmed: false
| Assignee | ||
Comment 4•12 years ago
|
||
That makes sense, we tested with JB + bluedroid, and this part of code does not involve any stack part. And JB+ Bluedroid audio policy routing to SCO seems working fine.
| Assignee | ||
Comment 5•12 years ago
|
||
(In reply to bhargavg1 from comment #3)
> Folks seems to be an issue with specific headset, let me get back to you
> with more details
>
> Sorry for the confusion
Thanks for clarification. If possible, and you provide hcidump during test and provide bluetooth headset model name?
We will check any potential SCO connection problem. It will be great if you can confirm SCO connection exactly connected.
| Assignee | ||
Updated•12 years ago
|
Flags: needinfo?(bhargavg1)
(In reply to Shawn Huang [:shuang] [:shawnjohnjr] from comment #5)
> (In reply to bhargavg1 from comment #3)
> > Folks seems to be an issue with specific headset, let me get back to you
> > with more details
> >
> > Sorry for the confusion
> Thanks for clarification. If possible, and you provide hcidump during test
> and provide bluetooth headset model name?
> We will check any potential SCO connection problem. It will be great if you
> can confirm SCO connection exactly connected.
the one I am testing is, plantronics M1100 model. This used to work pretty much earlier.
Can you let me know where can I find the hcidump tool
Flags: needinfo?(bhargavg1)
| Assignee | ||
Comment 7•12 years ago
|
||
https://wiki.mozilla.org/B2G/Bluetooth#Helpful_Debugging_Information
hcidump shall be built if you use eng instead of userdebug.
Flags: needinfo?(shuang)
(In reply to Shawn Huang [:shuang] [:shawnjohnjr] from comment #7)
> https://wiki.mozilla.org/B2G/Bluetooth#Helpful_Debugging_Information
> hcidump shall be built if you use eng instead of userdebug.
Got the HCI dump and adb logs after enabling in UI. attached those.
STR:
Connect BT device
Make an MT call, ring is heard on the handset rather than the BT headset
Play an audio file, able to hear audio on BT headset
Disconnect BT headset
| Reporter | ||
Comment 10•12 years ago
|
||
Received a call at, 02-20 23:34:15.760, in the log file
| Assignee | ||
Comment 11•12 years ago
|
||
(In reply to bhargavg1 from comment #9)
> Created attachment 8346345 [details]
> hci_data.zip
The log seems to be incomplete. Would you mind getting logs before connecting BT device (before STR step1)?
Flags: needinfo?(bhargavg1)
| Assignee | ||
Comment 12•12 years ago
|
||
Hi Joe,
We have QRD (8x26 platform), but we don't have the same source code to do further debug.
This bug can be reproduced on JB + BlueZ using plantronics M1100. Based on Comment 6, it works fine in previous build (I guess b2g 1.2 + ICS+BlueZ). I wonder if we can have the same environment to speed up the progress?
Flags: needinfo?(jcheng)
| Reporter | ||
Comment 14•12 years ago
|
||
Flags: needinfo?(bhargavg1)
| Reporter | ||
Comment 15•12 years ago
|
||
| Reporter | ||
Comment 16•12 years ago
|
||
(In reply to Shawn Huang [:shuang] [:shawnjohnjr] from comment #11)
> (In reply to bhargavg1 from comment #9)
> > Created attachment 8346345 [details]
> > hci_data.zip
> The log seems to be incomplete. Would you mind getting logs before
> connecting BT device (before STR step1)?
Attached logs from v1.3 and v1.2 with the same device. look for "PLT_M1100" in the logs.
The problem seems to be from the SDP reply. On 1.3 dont see a headset profile being returned but see for 1.2
Snippet from 1.2 log,
>>>
record #2
aid 0x0000 (SrvRecHndl)
uint 0x10002
aid 0x0001 (SrvClassIDList)
< uuid-16 0x111e (Handsfree) uuid-16 0x1203 (Audio) >
aid 0x0004 (ProtocolDescList)
< < uuid-16 0x0100 (L2CAP) > <
uuid-16 0x0003 (RFCOMM) uint 0x1 > >
aid 0x0006 (LangBaseAttrIDList)
< uint 0x656e uint 0x6a uint 0x100 >
aid 0x0009 (BTProfileDescList)
< < uuid-16 0x111e (Handsfree) uint 0x105 > >
aid 0x0100 (SrvName)
str "Hands-Free unit"
aid 0x0311 (SuppFeatures)
uint 0x19
<<<
| Reporter | ||
Comment 17•12 years ago
|
||
(In reply to Shawn Huang [:shuang] [:shawnjohnjr] from comment #11)
> (In reply to bhargavg1 from comment #9)
> > Created attachment 8346345 [details]
> > hci_data.zip
> The log seems to be incomplete. Would you mind getting logs before
> connecting BT device (before STR step1)?
Also the same device works with LA
| Reporter | ||
Comment 18•12 years ago
|
||
Will mark this as blocking for 1.3, as some of the headsets may not work correctly
| Assignee | ||
Comment 19•12 years ago
|
||
(In reply to bhargavg1 from comment #16)
> (In reply to Shawn Huang [:shuang] [:shawnjohnjr] from comment #11)
> >>>
> record #2
> aid 0x0000 (SrvRecHndl)
> uint 0x10002
> aid 0x0001 (SrvClassIDList)
> < uuid-16 0x111e (Handsfree) uuid-16 0x1203 (Audio) >
> aid 0x0004 (ProtocolDescList)
> < < uuid-16 0x0100 (L2CAP) > <
> uuid-16 0x0003 (RFCOMM) uint 0x1 > >
> aid 0x0006 (LangBaseAttrIDList)
> < uint 0x656e uint 0x6a uint 0x100 >
> aid 0x0009 (BTProfileDescList)
> < < uuid-16 0x111e (Handsfree) uint 0x105 > >
> aid 0x0100 (SrvName)
> str "Hands-Free unit"
> aid 0x0311 (SuppFeatures)
> uint 0x19
>
> <<<
This looks like SDP reply from the remote device (M1100) to controller, not from b2g.
In v1.3 log, i dno't see SDP query issued from controller. HFP seems not get connected. I don't even see any AT commands such as AT+BRSF
| Assignee | ||
Comment 20•12 years ago
|
||
> This looks like SDP reply from the remote device (M1100) to controller, not
> from b2g.
> In v1.3 log, i dno't see SDP query issued from controller. HFP seems not get
> connected. I don't even see any AT commands such as AT+BRSF
Correct what I commented, AT commands were not been showed due to hcidump ascii mode was not been enabled.
Comment 21•12 years ago
|
||
still blocked with JB + BlueZ device. Any good news? Thanks
Flags: needinfo?(mvines)
| Assignee | ||
Comment 22•12 years ago
|
||
I don't have M1100, but I tested Buri (1.3) with Plantronics Voyager Legend. It seems work fine. I will try to find one M1100 to test with.
Comment 23•12 years ago
|
||
(In reply to Joe Cheng [:jcheng] from comment #21)
> still blocked with JB + BlueZ device. Any good news? Thanks
Actively working on this but it will take time. Probably not before the new year at this point unfortunately.
Flags: needinfo?(mvines)
| Reporter | ||
Comment 24•12 years ago
|
||
(In reply to Shawn Huang [:shuang] [:shawnjohnjr] from comment #20)
> > This looks like SDP reply from the remote device (M1100) to controller, not
> > from b2g.
> > In v1.3 log, i dno't see SDP query issued from controller. HFP seems not get
> > connected. I don't even see any AT commands such as AT+BRSF
> Correct what I commented, AT commands were not been showed due to hcidump
> ascii mode was not been enabled.
this is the command I gave, hcidump --ascii -t
Not sure why we dont see the command
| Assignee | ||
Comment 25•12 years ago
|
||
(In reply to bhargavg1 from comment #24)
> (In reply to Shawn Huang [:shuang] [:shawnjohnjr] from comment #20)
> > > This looks like SDP reply from the remote device (M1100) to controller, not
> > > from b2g.
> > > In v1.3 log, i dno't see SDP query issued from controller. HFP seems not get
> > > connected. I don't even see any AT commands such as AT+BRSF
> > Correct what I commented, AT commands were not been showed due to hcidump
> > ascii mode was not been enabled.
>
> this is the command I gave, hcidump --ascii -t
>
> Not sure why we dont see the command
If no AT command actually sent from headset, then I don't think things can really work normally. Except for M1100 headset, any other headset can hit this problem? This make me wonder we also need to check stack part. As I review your v.1.3 hcidump, only a few RFCOMM packets show up.
May I know the manfiest and bluez branch (includes bluez kernel part) currently use for test?
| Assignee | ||
Comment 26•12 years ago
|
||
I just checked the latest manifest. Maybe this is config.
<project name="platform/external/bluetooth/bluez" path="external/bluetooth/bluez" revision="f0689ac1914cdbc59e53bdc9edd9013dc157c299" upstream="b2g/jb_mr1_rb2.17"/>
<project name="kernel/msm" path="kernel" revision="acaf0fce57ce3a60cd0bda89e0923a92c4e1d688" upstream="b2g_jb_3.2">
| Assignee | ||
Comment 27•12 years ago
|
||
I checked again the log. And found something very strange.
In V1.3 log, SDP SSA Response, returned with two records. And they are actually duplicated.
2013-12-12 12:43:32.333677 > ACL data: handle 2 flags 0x02 dlen 24
L2CAP(d): cid 0x0042 len 20 [psm 1]
SDP SSA Req: tid 0x1 len 0xf
pat uuid-32 0x111f (Handsfree AG)
max 38
aid(s) 0x0009 (BTProfileDescList)
cont 00
2013-12-12 12:43:32.404748 < ACL data: handle 2 flags 0x00 dlen 44
L2CAP(d): cid 0x0042 len 40 [psm 1]
SDP SSA Rsp: tid 0x1 len 0x23
count 32
------------------------------------>>>>>>
record #0
aid 0x0009 (BTProfileDescList)
< < uuid-16 0x111e (Handsfree) uint 0x106 > >
record #1
aid 0x0009 (BTProfileDescList)
< < uuid-16 0x111e (Handsfree) uint 0x106 > >
cont 00
------------------------------------>>>>>>>
And in V 1.2 log, only one record returned, see below:
2013-12-12 13:01:37.891200 < ACL data: handle 4 flags 0x00 dlen 29
L2CAP(d): cid 0x0043 len 25 [psm 1]
SDP SSA Rsp: tid 0x1 len 0x14
count 17
record #0
aid 0x0009 (BTProfileDescList)
< < uuid-16 0x111e (Handsfree) uint 0x105 > >
cont 00
After this SDP SSA Response had done, AVDTP connection established. In V1.2, phone will receive the first AT command,
AT+BRSF, but in V1.3 log, no more RFCOMM packets sent from headset. Maybe strange SDP SSA Rsp make headset internal error. And SDP response is controlled by bluez stack. Bhargav, if you agree what I observed, can you help to clarify this part from stack level?
Flags: needinfo?(bhargavg1)
| Reporter | ||
Comment 28•12 years ago
|
||
(In reply to Shawn Huang [:shuang] [:shawnjohnjr] from comment #26)
> I just checked the latest manifest. Maybe this is config.
> <project name="platform/external/bluetooth/bluez"
> path="external/bluetooth/bluez"
> revision="f0689ac1914cdbc59e53bdc9edd9013dc157c299"
> upstream="b2g/jb_mr1_rb2.17"/>
> <project name="kernel/msm" path="kernel"
> revision="acaf0fce57ce3a60cd0bda89e0923a92c4e1d688" upstream="b2g_jb_3.2">
yes that is the configuration that's being used.
Flags: needinfo?(bhargavg1)
Updated•12 years ago
|
Target Milestone: --- → 1.3 C2/1.4 S2(17jan)
| Assignee | ||
Updated•12 years ago
|
Summary: No Audio over BT headset for voice calls on JB builds → [bluez]No Audio over BT headset for voice calls on JB builds
| Assignee | ||
Comment 29•12 years ago
|
||
> After this SDP SSA Response had done, AVDTP connection established. In V1.2,
> phone will receive the first AT command,
> AT+BRSF, but in V1.3 log, no more RFCOMM packets sent from headset. Maybe
> strange SDP SSA Rsp make headset internal error. And SDP response is
> controlled by bluez stack. Bhargav, if you agree what I observed, can you
> help to clarify this part from stack level?
Any idea regarding SDP part based on Comment 27?
Flags: needinfo?(bhargavg1)
Comment 30•11 years ago
|
||
ping reporter again for comment 29 after the holidays
| Reporter | ||
Comment 31•11 years ago
|
||
I am checking with the BT team, shall update you soon
Flags: needinfo?(bhargavg1)
Comment 32•11 years ago
|
||
Marco,
Can you please prioritize this blocker as it blocks QC CS?
The date for code drop is: 1/15/14.
Flags: needinfo?(mchen)
Comment 33•11 years ago
|
||
(In reply to Preeti Raghunath(:Preeti) from comment #32)
> Marco,
>
> Can you please prioritize this blocker as it blocks QC CS?
>
> The date for code drop is: 1/15/14.
Hi Preeti,
Shawn already watches this bug closely and refer to comment 29 & 31, we need feedback from partner.
By the way, there is no reference device for V1.3 + CAF BSP + BlueZ combination so we rely on partner's log or clues.
Flags: needinfo?(mchen)
| Reporter | ||
Comment 34•11 years ago
|
||
Finally could figure out the issue. Seems to be an IOT issue.
On JB HFP version is updated to 1.6
----
Profile Descriptor List:
"Handsfree" (0x111e)
Version: 0x0106
While on ICS its updated to 1.5
----
Profile Descriptor List:
"Handsfree" (0x111e)
Version: 0x0105
The headset is finding that to be strange.
Can I know where we update the version
| Reporter | ||
Comment 35•11 years ago
|
||
Complete sdp record
JB
--->
Service Name: Voice Gateway
Service RecHandle: 0x10005
Service Class ID List:
"Handsfree Audio Gateway" (0x111f)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 10
Profile Descriptor List:
"Handsfree" (0x111e)
Version: 0x0106
<---
ICS
--->
Service Name: Voice Gateway
Service RecHandle: 0x10008
Service Class ID List:
"Handsfree Audio Gateway" (0x111f)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 10
Profile Descriptor List:
"Handsfree" (0x111e)
Version: 0x0105
<---
| Reporter | ||
Comment 36•11 years ago
|
||
see that its being set at,
https://www.codeaurora.org/cgit/quic/la/device/qcom/common/tree/rootdir/etc/init.qcom.bt.sh?h=b2g_jb_3.2#n151
Shawn can you share the out put the following commands from your device,
#adb shell getprop ro.bluetooth.hfp.ver
#adb shell getprop ro.board.platform
What is recommended HFP ver 1.5 or 1.6?
Flags: needinfo?(shuang)
Comment 37•11 years ago
|
||
Inder,
Can you please check if QC can test this internally?
Unable to test due to lack of ref devices.
Flags: needinfo?(ikumar)
Comment 38•11 years ago
|
||
Preeti, Bhargav is providing the test outputs for Shawn to analyze. Please let us know if any other information is needed. Also, we actively working on providing build for the reference devices you all received. Thanks.
Flags: needinfo?(ikumar)
| Assignee | ||
Comment 39•11 years ago
|
||
Bhargav, thanks a lot for your information. The getprop result is empty on Buri (v1.3 gecko + gaia).
I would recommend setting HFP version to 1.5 in init.qcom.bt.sh
Since v1.3 only implements HFP 1.6 mandatory AT command (AT+BIA), not support optional codec (mSBC) yet.
Flags: needinfo?(shuang)
| Assignee | ||
Comment 40•11 years ago
|
||
> The headset is finding that to be strange.
>
> Can I know where we update the version
Base on my comment 27, sdp record is with duplicated records.
------------------------------------>>>>>>
record #0
aid 0x0009 (BTProfileDescList)
< < uuid-16 0x111e (Handsfree) uint 0x106 > >
record #1
aid 0x0009 (BTProfileDescList)
< < uuid-16 0x111e (Handsfree) uint 0x106 > >
cont 00
------------------------------------>>>>>>>
Somehow, I still consider this part is strange. The BTProfileDescList attribute shall only contain one record, instead of duplicated attribute.
| Reporter | ||
Comment 41•11 years ago
|
||
(In reply to Shawn Huang [:shuang] [:shawnjohnjr] from comment #39)
> Bhargav, thanks a lot for your information. The getprop result is empty on
> Buri (v1.3 gecko + gaia).
> I would recommend setting HFP version to 1.5 in init.qcom.bt.sh
If no information is set, looks like we fall back to 1.5
https://www.codeaurora.org/cgit/quic/la/platform/external/bluetooth/bluez/tree/audio/manager.c?h=b2g/jb_mr1_rb2.17#n391
>
> Since v1.3 only implements HFP 1.6 mandatory AT command (AT+BIA), not
> support optional codec (mSBC) yet.
| Assignee | ||
Comment 42•11 years ago
|
||
Based on Comment 34, this bug is Bluetooth interoperability bug and I think I can not fix from Gecko internal. Will this still be 1.3 blocker?
Flags: needinfo?(mvines)
Comment 43•11 years ago
|
||
Thanks a lot for the debug help here Shawn. Yes, we need it fixed but looks like this'll be a Gonk fix so marking the bug as POVB.
Component: Bluetooth → Vendcom
Flags: needinfo?(mvines)
Whiteboard: [POVB]
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•