Closed Bug 828882 Opened 13 years ago Closed 12 years ago

[Bluetooth][Certification]HFP PTS test case TC_AG_TCA_BV_04_I failed due to one ATD after CHUP was been ignored

Categories

(Firefox OS Graveyard :: Bluetooth, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:tef+, b2g18 fixed, b2g18-v1.0.1 fixed)

RESOLVED FIXED
1.0.1 IOT1 (10may)
blocking-b2g tef+
Tracking Status
b2g18 --- fixed
b2g18-v1.0.1 --- fixed

People

(Reporter: shawnjohnjr, Assigned: etienne)

References

Details

(Whiteboard: QARegressExclude)

Attachments

(2 files, 2 obsolete files)

The test performed via make an outgoing call first then hang up the call. However, the call was not been canceled. TC_AG_TCA_BV_04_I Test case : TC_AG_TCA_BV_04_I started - SDP Service record for PTS: 'Handsfree HF' successfully registered - The IUT claims support for the following eSCO LMP packet types: EV3, 2-EV3, - AT: SPP connect succeeded - AT: Service Level Connection established - AT: post SLC command sequence complete - HCI: Audio Connection enabled - FATAL ERROR (AT): The response to the following AT command has timed out: AT+CHUP - MTC received unexpected EXIT message from AT component - HCI: Audio Connection disabled - AT: SPP disconnect succeeded - MTC: Test case ended Final Verdict : Inconclusive 4,834 Slave 46 ATD0988095164;. Dial: 0988095164 27 00:00:01.856000 2013/1/10 下午 06:01:03.999000 4,836 Master 46 ..OK.. Dialed Successfully 18 00:00:00.078000 2013/1/10 下午 06:01:04.077000 4,837 Master 46 ..+CIEV: 4,2.. Call Setup indicator's status report 26 00:00:00.125000 2013/1/10 下午 06:01:04.202000 4,840 Slave 46 AT+CHUP. Terminate the call 20 00:00:00.031000 2013/1/10 下午 06:01:04.233000 4,845 Master 46 ..OK.. Success 18 00:00:00.078000 2013/1/10 下午 06:01:04.311000 4,893 Master 46 ..+CIEV: 6,4.. Signal indicator's status report 26 00:00:02.231000 2013/1/10 下午 06:01:06.542000
Assignee: shuang → gyeh
Assignee: gyeh → shuang
blocking-b2g: --- → leo?
The problem here is an outgoing call was made and soon Bluetooth certification machine sent AT+CHUP which tries to cancel outgoing call. It seems if the call does not enter into CALL_CONNECTED state, AT+CHUP command will be ignored. This leads call hang-up failure. This also related to dialer like Bug 857795, which required to fix in gaia side.
Component: General → Bluetooth
Summary: [Bluetooth]HFP PTS test case TC_AG_TCA_BV_04_I failed due to one ATD after CHUP was been ignored → [Bluetooth][Certification]HFP PTS test case TC_AG_TCA_BV_04_I failed due to one ATD after CHUP was been ignored
Triage 4/12 - Leo+ for certification
blocking-b2g: leo? → leo+
It looks like dialer indeed call "telephony.active.hangUp()", but somehow under telephony ignore hangUp operation. I need to check what happened in Telephony and RIL. It looks like nothing related to dialer now.
The first call status was changed at 12:08:14.861. =>04-15 12:08:14.861 I/Gecko ( 790): -*- RadioInterfaceLayer: Received message from worker: {"rilMessageType":"callStateChange","call":{"state":2,"callIndex":1,"toa":129,"isMpty":false,"isMT":false,"als":0,"isVoice":true,"isVoicePrivacy":false,"number":"0988095164","numberPresentation":0,"name":"","namePresentation":0,"uusInfo":null,"direction":"outgoing"}} And RILContentHelper didn't get any hang up command until 12:08:25.611. =>04-15 12:08:25.611 I/GeckoDump( 921): !!!!!!!!!!!!!!!!!!ending call!!!!!!!!!!!!! 04-15 12:08:25.611 I/Gecko ( 921): -*- RILContentHelper: Hanging up call no. 1 Because you added this log,"!!!!!!!!!!!!!!!!!!ending call!!!!!!!!!!!!!", in Gaia, it seems the upper layer didn't ask the end call procedure.
I found in dialer.js "sendCommandToCallScreen(type, command) ", CHUP command actually callScreenWindow.postMessage(message, COMMS_APP_ORIGIN), but handleCommand(evt) cannot get message.
Hi Etienne, as we talked this morning, please help to fix this bug in dialer. We need to make sure system message sent after call screen is ready.
Assignee: shuang → etienne
Help shuang to tackle down the issue, which is occurred in gaia dialer. The root issue is sendCommandToCallScreen is called but callScreenWindow is not yet Loaded. This patch is from etienne's quick hack. using timer to wait for callScreenWindow loaded, still needs to find a better way to resolve this bug.
tef? as this can also impact BT cert for TEF
blocking-b2g: leo+ → tef?
Attached patch WIP (obsolete) — Splinter Review
Hey Shawn, can you test this patch?
Attachment #738401 - Attachment is obsolete: true
Attachment #738553 - Flags: feedback?(shuang)
Comment on attachment 738553 [details] [diff] [review] WIP Hi Etienne, thanks for the patch, I tried over 30 times, I've seen twice times that CHUP was been ignore. Whenever i added extra logs, problem cannot be reproduced. Overall fail rate was dramatic decreased but i can still see problem.
Attachment #738553 - Flags: feedback?(shuang) → feedback+
This patch helps in general, at least largely reduce the fail rate.
back to leo+ for now until tef release partner confirms this is blocking BT cert.
blocking-b2g: tef? → leo+
Any suggestion for Comment 11?
Flags: needinfo?(etienne)
Attached patch Patch proposalSplinter Review
Here is a better version of the patch, ready to ask for review. Shawn, let me know how it works out.
Attachment #738553 - Attachment is obsolete: true
Attachment #740792 - Flags: review?(francisco.jordano)
Flags: needinfo?(etienne)
Etienne, great, LGTM. I've tested over 15 times for this bug. I don't see any problem.
Comment on attachment 740792 [details] [diff] [review] Patch proposal Great job as always :P Just a quick question: https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/dialer.js#L205 Should we use callScreenWindowReady on the sendCommandToCallScreen ? Just wondering if we have a queue of commands which one command in the middle that makes the window close, we do that, and then we continue trying sending commands. Anyway, a situation that is taking into account in the sendCommandToCallScreen first check. Thanks Etienne!
Attachment #740792 - Flags: review?(francisco.jordano) → review+
(In reply to Francisco Jordano [:arcturus] from comment #17) > Comment on attachment 740792 [details] [diff] [review] > Patch proposal > > Great job as always :P > > Just a quick question: > > https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/ > js/dialer.js#L205 > > Should we use callScreenWindowReady on the sendCommandToCallScreen ? Just > wondering if we have a queue of commands which one command in the middle > that makes the window close, we do that, and then we continue trying sending > commands. > > Anyway, a situation that is taking into account in the > sendCommandToCallScreen first check. Yep we're pretty safe with the current checks. We could eventually move the queuing logic to the sendCommandToCallScreen level (as opposed to being bluetooth only) but not sure it makes sense at the moment and don't want to prematurely generalize :)
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
One more for you, James!
Flags: needinfo?(jlal)
forwarding back to john
Flags: needinfo?(jlal) → needinfo?(jhford)
v1-train 018f29d
Flags: needinfo?(jhford)
tef?, this blocks tef BT cert as well
blocking-b2g: leo+ → tef?
blocking-b2g: tef? → tef+
Target Milestone: --- → 1.0.1 IOT1 (10may)
John, can you please assist with the v1.0.1 uplift?
Flags: needinfo?(jhford)
v1.0.1 70da1f7
Flags: needinfo?(jhford)
Unable to verify. Lack of resources. Need Bluetooth PTS tool to verify. Marking as QARegressExclude.
Whiteboard: QARegressExclude
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: