lunes, 24 de noviembre de 2008

5th/6th Milestone, Phase 1 reached.

It has been since our first Google Summer of Code, back in spring 2007, that I wanted to write this post.

After achieving l2cap signalling communication in both ways, the test was to force the mobile phone to initiate any kind of communication with Haiku. Concretelly it was a SDP(service discovery protocol) session, in which the mobile asks Haiku, about which bluetooth services is Haiku providing.

There are some signals that needed to be replied and some issued by our side, after getting the first portion of data that actually belongs to the next upper protocol(SDP in this case).

Here in the kernel syslog we can see some traces:



Basically these 2 lines with HEX data, is the SDP packet traced at l2cap Layer. The packet is fragmented in 2 ACL frames so somehow the ACL segmentation could be tested here.  Eventually the target was to drop this packet, to an application that was creating a L2cap socket with the SDP psm(protocol service multiplexer).

So a small application was created faking a SDP server(mobile was acting as a SDP client) creating a l2cap socket listening in the SDP psm(similar to tcp/ip ports) and here we could see the first read of that app:




My mobile was actually freaking out not receiving any SDP response after all the successful pairing and the l2cap signalling configuration. Having many times to remove the Battery, or wait around 10 minutes to expire all connections.

So thats all for the moment. The  proposal document  is updated. In another post I will comment about what is my plan post-Phase1/Arce.

Thanks to all for support, but... there is still more to come:)

lunes, 17 de noviembre de 2008

L2cap Signaling / 2 ways

Already passed one month. Was expecting to be back at starting the month, but amazingly was sent again again last week.

The responsed l2cap signals Haiku was sending to the test mobile phone where a bit malformed. Wrong size in the ACL and L2cap fields and a misunderstanding the source and destination Channel ID.

After some KDL's and playing with the layers interconnection, the remote device understood my l2cap response signal and the phone replied requesting to initiate a configuration session....

near near...