2008-07-16 20:58:21

by David Stockwell

[permalink] [raw]
Subject: Re: [Bluez-devel] connection failed with bluez 3.30 (and 3.36)

I have also noticed this, with essentially the same hcidump, on AMD-based Linux (with Marcel's patches) with bluez-utils-3.36: once the pairing is complete, the last L2CAP connection is dropped and the ACL connection is dropped. It seems to me that this happens in hcid/dbus-hci.c function hcid_dbus_binding_process_complete in the cleanup section, possibly in response to g_io_channel_close.

What is puzzling to me is that the HCI code is 0x13, which is not used in this section of code.

FWIW, it did try pressing beyond this dropped ACL by just allowing the remote-side application to reestablish its AVRCP connection and all seems to work OK. However, I can also see how dropping the ACL connection after pairing would cause some/many devices to fail to connect. This behavior was very unexpected for me, and I spent a week or so instrumenting the BlueZ code in adapter.c, device.c and dbus-hci.c before I reached this point, only to find that I could work around it (with the bonding already completed, the remote device can just simply connect, or so it seems).

DS
----- Original Message -----
From: Pierre Savary
To: [email protected] ; BlueZ-Dev
Sent: Wednesday, July 16, 2008 1:06 PM
Subject: [Bluez-devel] connection failed with bluez 3.30


Hi all,

I updated my design (ARM9 + linux-2.6.23) with the bluez (libs and utils) 3.30-3. I also uptaded all the necessary libraries, dbus, etc. Since this update my nokia 6120, N95 and E60 cannot be connected. and it worked before (bluez 3.16). Some others phone work fine (all SonyEricsson, Nokia 6234).

Here the hcidump :



[root@kap /root]$hcidump

HCI sniffer - Bluetooth packet analyzer ver 1.42

device: hci0 snap_len: 1028 filter: 0xffffffff

> HCI Event: Connect Request (0x04) plen 10

< HCI Command: Accept Connection Request (0x01|0x0009) plen 7

> HCI Event: Command Status (0x0f) plen 4

> HCI Event: Connect Complete (0x03) plen 11

< HCI Command: Read Remote Supported Features (0x01|0x001b) plen 2

> HCI Event: Page Scan Repetition Mode Change (0x20) plen 7

> HCI Event: Max Slots Change (0x1b) plen 3

> HCI Event: Command Status (0x0f) plen 4

> HCI Event: Command Status (0x0f) plen 4

< HCI Command: Write Link Policy Settings (0x02|0x000d) plen 4

> HCI Event: Command Complete (0x0e) plen 6

< HCI Command: Change Connection Packet Type (0x01|0x000f) plen 4

> HCI Event: Read Remote Supported Features (0x0b) plen 11

> ACL data: handle 42 flags 0x02 dlen 12

L2CAP(s): Connect req: psm 1 scid 0x0040

< ACL data: handle 42 flags 0x02 dlen 16

L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0040 result 0 status 0

Connection successful

> HCI Event: Number of Completed Packets (0x13) plen 5

> ACL data: handle 42 flags 0x02 dlen 10

L2CAP(s): Info req: type 2

< ACL data: handle 42 flags 0x02 dlen 12

L2CAP(s): Info rsp: type 2 result 1

Not supported

> HCI Event: Command Status (0x0f) plen 4

< HCI Command: Remote Name Request (0x01|0x0019) plen 10

> HCI Event: Number of Completed Packets (0x13) plen 5

> HCI Event: Connection Packet Type Changed (0x1d) plen 5

> HCI Event: Command Status (0x0f) plen 4

> HCI Event: Remote Name Req Complete (0x07) plen 255

> ACL data: handle 42 flags 0x02 dlen 16

L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 4

MTU 65535

< ACL data: handle 42 flags 0x02 dlen 18

L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 4

MTU 65535

< ACL data: handle 42 flags 0x02 dlen 12

L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 0

> HCI Event: Number of Completed Packets (0x13) plen 5

> HCI Event: Number of Completed Packets (0x13) plen 5

> ACL data: handle 42 flags 0x02 dlen 18

L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 4

MTU 672

> ACL data: handle 42 flags 0x02 dlen 17

L2CAP(d): cid 0x0040 len 13 [psm 1]

SDP SS Req: tid 0x1 len 0x8

pat uuid-16 0x110b (AudioSink)

max 65535

cont 00

< ACL data: handle 42 flags 0x02 dlen 14

L2CAP(d): cid 0x0040 len 10 [psm 1]

SDP SS Rsp: tid 0x1 len 0x5

count 0

cont 00

> HCI Event: Number of Completed Packets (0x13) plen 5

> ACL data: handle 42 flags 0x02 dlen 17

L2CAP(d): cid 0x0040 len 13 [psm 1]

SDP SS Req: tid 0x2 len 0x8

pat uuid-16 0x111e (Handsfree)

max 65535

cont 00

< ACL data: handle 42 flags 0x02 dlen 14

L2CAP(d): cid 0x0040 len 10 [psm 1]

SDP SS Rsp: tid 0x2 len 0x5

count 0

cont 00

> HCI Event: Number of Completed Packets (0x13) plen 5

> ACL data: handle 42 flags 0x02 dlen 17

L2CAP(d): cid 0x0040 len 13 [psm 1]

SDP SS Req: tid 0x3 len 0x8

pat uuid-16 0x1108 (Headset)

max 65535

cont 00

< ACL data: handle 42 flags 0x02 dlen 14

L2CAP(d): cid 0x0040 len 10 [psm 1]

SDP SS Rsp: tid 0x3 len 0x5

count 0

cont 00

> HCI Event: Number of Completed Packets (0x13) plen 5

> ACL data: handle 42 flags 0x02 dlen 17

L2CAP(d): cid 0x0040 len 13 [psm 1]

SDP SS Req: tid 0x4 len 0x8

pat uuid-16 0x110c (AVRemTarget)

max 65535

cont 00

< ACL data: handle 42 flags 0x02 dlen 14

L2CAP(d): cid 0x0040 len 10 [psm 1]

SDP SS Rsp: tid 0x4 len 0x5

count 0

cont 00

> HCI Event: Number of Completed Packets (0x13) plen 5

> ACL data: handle 42 flags 0x02 dlen 31

L2CAP(d): cid 0x0040 len 27 [psm 1]

SDP SS Req: tid 0x5 len 0x16

pat uuid-128 00005555-0000-1000-8000-0002ee000001

max 65535

cont 00

< ACL data: handle 42 flags 0x02 dlen 14

L2CAP(d): cid 0x0040 len 10 [psm 1]

SDP SS Rsp: tid 0x5 len 0x5

count 0

cont 00

> HCI Event: Number of Completed Packets (0x13) plen 5

> ACL data: handle 42 flags 0x02 dlen 12

L2CAP(s): Disconn req: dcid 0x0040 scid 0x0040

< ACL data: handle 42 flags 0x02 dlen 12

L2CAP(s): Disconn rsp: dcid 0x0040 scid 0x0040

> HCI Event: Number of Completed Packets (0x13) plen 5

< HCI Command: Disconnect (0x01|0x0006) plen 3

> HCI Event: Command Status (0x0f) plen 4

> HCI Event: Disconn Complete (0x05) plen 4



Thanks in advance for your help.

Best Regards



Pierre


Attachments:
(No filename) (363.00 B)
(No filename) (164.00 B)
Download all attachments