Closed Bug 838089 Opened 9 years ago Closed 9 years ago

[Bluetooth] When Plantronics Voyager Legend is connected, we can't recognize AT commands sent from it

Categories

(Firefox OS Graveyard :: General, defect)

ARM
Gonk (Firefox OS)
defect
Not set
major

Tracking

(blocking-b2g:-, firefox19 wontfix, firefox20 wontfix, firefox21 fixed, b2g18+ fixed, b2g18-v1.0.0 wontfix, b2g18-v1.0.1 fixed)

RESOLVED FIXED
B2G C4 (2jan on)
blocking-b2g -
Tracking Status
firefox19 --- wontfix
firefox20 --- wontfix
firefox21 --- fixed
b2g18 + fixed
b2g18-v1.0.0 --- wontfix
b2g18-v1.0.1 --- fixed

People

(Reporter: echou, Assigned: echou)

Details

Attachments

(2 files, 1 obsolete file)

After paired and connected with Plantronics Voyager Legend, it sent lots of vendor-defined AT commands to us. We sent |OK| back and everything looked fine. However, after that, the device wouldn't send any AT commands that we could recognize. According to the HFP spec, we should respond with |ERROR| when we received unknown AT commands.
Assignee: nobody → echou
Severity: normal → major
* With this patch, Answer/Hang Up/Reject could be executed correctly.
* I split the solution into two phases -

(1) Blacklisted these two AT commands, AT+XAPL / AT+XEVENT
(2) Reply with |ERROR| to unknown AT commands

This patch implemented (1), which is for interoperability and avoid unnecessary regression issue. I'll file a follow-up to implement (2), which will be the final solution.
Attachment #710086 - Flags: review?(gyeh)
Nominate as tef+

Without this patch, some kinds of Plantronics Bluetooth headsets (at least Plantronics Voyager Legend) would be unable to control(e.g. Answer/Hang Up/Reject) phone calls.
blocking-b2g: --- → tef?
Comment on attachment 710086 [details] [diff] [review]
patch 1: v1: blacklisted AT commands: AT+XAPL / AT+XEVENT

Review of attachment 710086 [details] [diff] [review]:
-----------------------------------------------------------------

r+ with nits addressed. :)

::: dom/bluetooth/BluetoothHfpManager.cpp
@@ +854,4 @@
>      // Currently, we don't support memory dialing in Dialer app
>      SendLine("ERROR");
>      return;
> +  } else if ((msg.Find("AT+XAPL=") != -1) || 

Please remove the trailing whitespace.

@@ +857,5 @@
> +  } else if ((msg.Find("AT+XAPL=") != -1) || 
> +             (msg.Find("AT+XEVENT=") != -1)) {
> +    // FIXME: Bug 838089
> +    // This is a vendor command used on some special headsets. Eventually we
> +    // should reply with ERROR to all unknown incoming commands. However, 

Please remove the trailing whitespace.

@@ +858,5 @@
> +             (msg.Find("AT+XEVENT=") != -1)) {
> +    // FIXME: Bug 838089
> +    // This is a vendor command used on some special headsets. Eventually we
> +    // should reply with ERROR to all unknown incoming commands. However, 
> +    // in order to not cause interoperability issues for b2g18 branch, only

I think you mean "in order not to". :)
Attachment #710086 - Flags: review?(gyeh) → review+
https://hg.mozilla.org/mozilla-central/rev/1a05832bcaaf
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
blocking-b2g: tef? → tef+
tracking-b2g18: --- → +
Setting back to tef? as we're still trying to determine whether or not to take for v1.0.0
blocking-b2g: tef+ → tef?
In the meantime, please nominate for uplift to mozilla-b2g18 (v1.0.1) with a risk evaluation.
Comment on attachment 710116 [details] [diff] [review]
patch 1: final: blacklisted AT commands: AT+XAPL / AT+XEVENT, r=gyeh

[Approval Request Comment]
Bug caused by (feature/regressing bug #): None
User impact if declined: Bluetooth headsets which send vendor-defined AT commands AT+XAPL/AT+XEVENT would be unable to control(Answer/Hang Up/Reject) phone calls.
Testing completed: I've got a Plantronics Voyager Legend and have it tested.
Risk to taking this patch (and alternatives if risky): None
String or UUID changes made by this patch: None
Attachment #710116 - Flags: approval-mozilla-b2g18?
* Re-nominate because the previous patch may cause conflict in b2g18 branch. Once it gets approval, please apply this patch instead.

[Approval Request Comment]
Bug caused by (feature/regressing bug #): None
User impact if declined: Bluetooth headsets which send vendor-defined AT commands AT+XAPL/AT+XEVENT would be unable to control(Answer/Hang Up/Reject) phone calls.
Testing completed: I've got a Plantronics Voyager Legend and have it tested.
Risk to taking this patch (and alternatives if risky): None
String or UUID changes made by this patch: None
Attachment #710472 - Flags: approval-mozilla-b2g18?
Attachment #710116 - Flags: approval-mozilla-b2g18?
Attachment #710472 - Flags: approval-mozilla-b2g18? → approval-mozilla-b2g18+
blocking-b2g: tef? → -
Batch edit: Bugs fixed on b2g18 after 1/25 merge to v1.0 branch are fixed on v1.0.1 branch.
follow-up: Bug 848414
You need to log in before you can comment on or make changes to this bug.