mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-11-25 21:24:16 +08:00
3163523575
Some phones with HFP Audio Gateway version previous to 1.5 (e.g. Samsung SGH-D600 returning 0x0101 as profile version) do not accept an AT+BRSF with latest features. The Handsfree agent should adapt its AT+BRSF command depending on the remote version, so add version information as parameter of NewConnection method. Here is traces of buggy exchange: < ACL data: handle 12 flags 0x02 dlen 20 L2CAP(d): cid 0x0046 len 16 [psm 3] RFCOMM(d): UIH: cr 1 dlci 10 pf 0 ilen 12 fcs 0xb0 0000: 41 54 2b 42 52 53 46 3d 31 31 38 0d AT+BRSF=118. > ACL data: handle 12 flags 0x02 dlen 18 L2CAP(d): cid 0x0041 len 14 [psm 3] RFCOMM(d): UIH: cr 0 dlci 10 pf 1 ilen 9 fcs 0x76 credits 1 0000: 0d 0a 45 52 52 4f 52 0d 0a ..ERROR.. < ACL data: handle 12 flags 0x02 dlen 8 L2CAP(d): cid 0x0046 len 4 [psm 3] RFCOMM(s): DISC: cr 1 dlci 10 pf 1 ilen 0 fcs 0x6d and after the fix (and corresponding fix in oFono): < ACL data: handle 12 flags 0x02 dlen 19 L2CAP(d): cid 0x0048 len 15 [psm 3] RFCOMM(d): UIH: cr 1 dlci 10 pf 0 ilen 11 fcs 0xb0 0000: 41 54 2b 42 52 53 46 3d 32 32 0d AT+BRSF=22. > ACL data: handle 12 flags 0x02 dlen 28 L2CAP(d): cid 0x0041 len 24 [psm 3] RFCOMM(d): UIH: cr 0 dlci 10 pf 1 ilen 19 fcs 0x76 credits 1 0000: 0d 0a 2b 42 52 53 46 3a 20 33 33 0d 0a 0d 0a 4f ..+BRSF: 33....O 0010: 4b 0d 0a K.. < ACL data: handle 12 flags 0x02 dlen 18 L2CAP(d): cid 0x0048 len 14 [psm 3] RFCOMM(d): UIH: cr 1 dlci 10 pf 0 ilen 10 fcs 0xb0 0000: 41 54 2b 43 49 4e 44 3d 3f 0d AT+CIND=?. |
||
---|---|---|
.. | ||
a2dp-codecs.h | ||
a2dp.c | ||
a2dp.h | ||
audio.conf | ||
avdtp.c | ||
avdtp.h | ||
bluetooth.conf | ||
control.c | ||
control.h | ||
ctl_bluetooth.c | ||
device.c | ||
device.h | ||
gateway.c | ||
gateway.h | ||
gsta2dpsink.c | ||
gsta2dpsink.h | ||
gstavdtpsink.c | ||
gstavdtpsink.h | ||
gstbluetooth.c | ||
gstpragma.h | ||
gstrtpsbcpay.c | ||
gstrtpsbcpay.h | ||
gstsbcdec.c | ||
gstsbcdec.h | ||
gstsbcenc.c | ||
gstsbcenc.h | ||
gstsbcparse.c | ||
gstsbcparse.h | ||
gstsbcutil.c | ||
gstsbcutil.h | ||
headset.c | ||
headset.h | ||
ipc.c | ||
ipc.h | ||
main.c | ||
manager.c | ||
manager.h | ||
media.c | ||
media.h | ||
module-bluetooth-sink.c | ||
pcm_bluetooth.c | ||
rtp.h | ||
sink.c | ||
sink.h | ||
source.c | ||
source.h | ||
telephony-dummy.c | ||
telephony-maemo5.c | ||
telephony-maemo6.c | ||
telephony-ofono.c | ||
telephony.h | ||
transport.c | ||
transport.h | ||
unix.c | ||
unix.h |