Kyocera ED-8800 headset returns this error code when eSCO is attempted.
Signed-off-by: Nick Pelly <[email protected]>
---
net/bluetooth/hci_event.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index 5553424..42cb717 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -1646,7 +1646,8 @@ static inline void hci_sync_conn_complete_evt(struct hci_dev *hdev, struct sk_bu
conn->type = SCO_LINK;
}
- if (conn->out && ev->status == 0x1c && conn->attempt < 2) {
+ if (conn->out && (ev->status == 0x1c || ev->status == 0x1f) &&
+ conn->attempt < 2) {
conn->pkt_type = (hdev->esco_type & SCO_ESCO_MASK) |
(hdev->esco_type & EDR_ESCO_MASK);
hci_setup_sync(conn, conn->link->handle);
--
1.5.5
On Tue, Mar 24, 2009 at 3:59 AM, Marcel Holtmann <[email protected]> wrote:
> Hi Nick,
>
> like I told everybody else; NO top posting.
>
>> Here is the hcidump that prompted this patch:
>>
>> 009-03-23 17:43:50.727376 < HCI Command: Setup Synchronous Connection
>> (0x01|0x0028) plen 17
>> handle 1 voice setting 0x0060
>> 2009-03-23 17:43:50.746969 > HCI Event: Command Status (0x0f) plen 4
>> Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
>> 2009-03-23 17:43:50.909963 > HCI Event: Synchronous Connect Complete
>> (0x2c) plen 17
>> status 0x1f handle 257 bdaddr 00:14:0A:01:E1:67 type eSCO
>> Error: Unspecified Error
>>
>> I have confirmed that with this patch we successfully fall back to SCO
>> with the Kyocera ED-8800
>
> can you also send me the output of hcitool info, because this error is
> kinda weird to get.
BD Address: 00:14:0A:01:E1:67
Device Name: ED-8800
LMP Version: 2.0 (0x3) LMP Subversion: 0xa45
Manufacturer: Cambridge Silicon Radio (10)
Features: 0xff 0xff 0x8f 0xfe 0x9b 0x19 0x00 0x80
<3-slot packets> <5-slot packets> <encryption> <slot offset>
<timing accuracy> <role switch> <hold mode> <sniff mode>
<park state> <RSSI> <channel quality> <SCO link> <HV2 packets>
<HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme>
<power control> <transparent SCO> <broadcast encrypt>
<EDR ACL 2 Mbps> <EDR ACL 3 Mbps> <enhanced iscan>
<interlaced iscan> <interlaced pscan> <inquiry with RSSI>
<extended SCO> <EV4 packets> <EV5 packets> <AFH cap. slave>
<AFH class. slave> <3-slot EDR ACL> <5-slot EDR ACL>
<AFH cap. master> <AFH class. master> <extended features>
> I am also suspicious about the TI chip now since I think that we are
> working around the stupidity of that chip and not any kind of remote
> headset. I would like to see the air trace (LMP negotiation) for this
> specific headset.
Sent LMP logs directly to you. The 0x1F error code is present in the
LMP packet. Appears to not be the fault of the TI chip.
Nick
Hi Nick,
like I told everybody else; NO top posting.
> Here is the hcidump that prompted this patch:
>
> 009-03-23 17:43:50.727376 < HCI Command: Setup Synchronous Connection
> (0x01|0x0028) plen 17
> handle 1 voice setting 0x0060
> 2009-03-23 17:43:50.746969 > HCI Event: Command Status (0x0f) plen 4
> Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
> 2009-03-23 17:43:50.909963 > HCI Event: Synchronous Connect Complete
> (0x2c) plen 17
> status 0x1f handle 257 bdaddr 00:14:0A:01:E1:67 type eSCO
> Error: Unspecified Error
>
> I have confirmed that with this patch we successfully fall back to SCO
> with the Kyocera ED-8800
can you also send me the output of hcitool info, because this error is
kinda weird to get.
I am also suspicious about the TI chip now since I think that we are
working around the stupidity of that chip and not any kind of remote
headset. I would like to see the air trace (LMP negotiation) for this
specific headset.
Regards
Marcel
Here is the hcidump that prompted this patch:
009-03-23 17:43:50.727376 < HCI Command: Setup Synchronous Connection
(0x01|0x0028) plen 17
handle 1 voice setting 0x0060
2009-03-23 17:43:50.746969 > HCI Event: Command Status (0x0f) plen 4
Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
2009-03-23 17:43:50.909963 > HCI Event: Synchronous Connect Complete
(0x2c) plen 17
status 0x1f handle 257 bdaddr 00:14:0A:01:E1:67 type eSCO
Error: Unspecified Error
I have confirmed that with this patch we successfully fall back to SCO
with the Kyocera ED-8800
On Tue, Mar 24, 2009 at 9:20 AM, Nick Pelly <[email protected]> wrote:
> Kyocera ED-8800 headset returns this error code when eSCO is attempted.
>
> Signed-off-by: Nick Pelly <[email protected]>
> ---
> net/bluetooth/hci_event.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
> index 5553424..42cb717 100644
> --- a/net/bluetooth/hci_event.c
> +++ b/net/bluetooth/hci_event.c
> @@ -1646,7 +1646,8 @@ static inline void hci_sync_conn_complete_evt(struct hci_dev *hdev, struct sk_bu
> conn->type = SCO_LINK;
> }
>
> - if (conn->out && ev->status == 0x1c && conn->attempt < 2) {
> + if (conn->out && (ev->status == 0x1c || ev->status == 0x1f) &&
> + conn->attempt < 2) {
> conn->pkt_type = (hdev->esco_type & SCO_ESCO_MASK) |
> (hdev->esco_type & EDR_ESCO_MASK);
> hci_setup_sync(conn, conn->link->handle);
> --
> 1.5.5
>
>