[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [bluetooth-dev] RE: confused on HCI data packets



Hi Sami,

I think that I have the same setup as you have. I am using Ericsson BT
modul, doing my own HCI / L2CAP protocol stack. And until 5 minutes ago, I
were not able to send ACL data. But the clue that Maksim Krasnyanskiy gave
about the correctness of the length field of the L2CAP header, made me have
an extra look at my encoding of the L2CAP packets. This review discovered an
error in the encoding, and now it works!!!! I am able to send ACL data -
thank you Krasnyanskiy...

If you have a look in the specification in section 4.1 it says the following
about the length field in the L2CAP header:

> Length indicates the size of information payload in bytes, 
> excluding the length of the L2CAP header. The length of an 
> information payload can be up to 65535 bytes. The Length field 
> serves as a simple integrity check of the reassembled
> L2CAP packet on the receiving end.

Note the last sentence about the integrity check. Ericsson realy take that
seriously. So you probably do send data from the module, but it is dropped
at the receiving end.

I have made a dump of an ACL packet (incl. UART packettype 0x02): (L2CAP
Connection response)
02 01 20 10 00 0C 00 01 00 03 38 08 00 40 00 30 00 00 00 00 00

If you send me a dump of the entire buffer (ACL packet)that you send to the
module, I could have a look at it.

Regards
/Michael 

-----Original Message-----
From: Sami Kibria
To: Gathright, Dave
Cc: Bluetooth-Dev
Sent: 2001-05-17 20:00
Subject: RE: [bluetooth-dev] RE: confused on HCI data packets

hello dave...thanks for the quick response...

okay i get the connection complete event with status = 0x00 (so i know
that i have a connection between my two bluetooth devices), and also by
the fact that i can also use the physical reset of the software reset to
disconnect my connection...so i know that my connection is okay...

when i don't send something right away nothing happens...when i perform
a
write (ie passing my buffer from user to kernel space with my
characters) it just hangs and nothing appears on the my host b...why it
hangs i don't know...maybe i need to do a flush or something...

but when i send a dumb data packet across well i still don't see
anything
from host b's perspective but then when i send another data packet
across
then i see the packet on the other end but i receive an error event
packet
from the hci - 0x20, that is unsupported lmp parameter value)...and my
write still hangs...

grrrrr....

any suggestions would be awesome!

:)

--------------------------------------------------------------------
Sami Kibria
Researcher
TRLabs - Winnipeg, Manitoba. CANADA
email: skibria@xxxxxxx.ca
--------------------------------------------------------------------
   __   _
  / /  (_)__  __ ____  __
 / /__/ / _ \/ // /\ \/ /  . . .  t h e   c h o i c e   o f   a
/____/_/_//_/\_,_/ /_/\_\              G N U   g e n e r a t i o n

--------------------------------------------------------------------

On Thu, 17 May 2001, Gathright, Dave wrote:

> you don't have to send an acl packet immediately. there is no time-out
for
> ACL data that I am aware of.
> 
> do you receive either an error from the HC or a confirmation that the
packet
> has been sent?
> 

-
To unsubscribe from this list: send the line "unsubscribe bluetooth-dev"
in
the body of a message to majordomo@xxxxxxx.com
-
To unsubscribe from this list: send the line "unsubscribe bluetooth-dev" in
the body of a message to majordomo@xxxxxxx.com