BlueZ: First patch was merged

The first patch, that add support to L2CAP Enhanced Retransmission, was merged into bluetooth-testing yesterday. The patch adds support to  configure L2CAP connections in Enhanced Retransmission(ERTM) and Streaming Modes besides the Basic Mode.  Streaming Mode will not be implemented now, but it’s better make all configuration code for the 3 modes instead only ERTM and Basic Mode. This way we don’t need to touch twice into configuration code.  The commit is here and that is the commit message:

Bluetooth: Add configuration support for ERTM and Streaming mode

Add support to config_req and config_rsp to configure ERTM and Streaming
mode. If the remote device specifies ERTM or Streaming mode, then the
same mode is proposed. Otherwise ERTM or Basic mode is used. And in case
of a state 2 device, the remote device should propose the same mode. If
not, then the channel gets disconnected.

Signed-off-by: Gustavo F. Padovan <gustavo@las.ic.unicamp.br>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

Now I’m going to implement support to send and receive I-frames and S-frames. Some part of the code for that . First I’m going to add support to transmissions with txWindow = 1 (i.e., only one packet can be sent per time without acknowledgment from the other side) and no retransmission support and I intend to finish it during this week.

Here is a quick roadmap for my work:

  1. Implement ERTM with txWindow=1 and retransmission disabled.
    1. send I-frames
    2. receive I-frames
    3. support RR S-frames to acknowledge I-frames received
    4. acknowledge I-frames
  2. Support txWindow up to 63
  3. Support segmentation and reassembly of L2CAP SDUs
  4. Enable retransmission
    1. support REJ S-Frame
    2. support SREJ S-Frame
    3. support RNR S-Frame to indicate busy condition
    4. use RR S-frame to show that is ready to receive I-frames
  5. Enable Retransmission Timer
  6. Enable Monitor Timer
  7. Test BlueZ against others stack that implement ERTM

I expect that until end of August finish all this topics. So, let’s hack. =)

One Comment

  1. [...] work on my Google Summer of Code project. Code for items 1, 2 and 3 of the roadmap that I posted here[1] 3 week ago is almost done and in process to be merged into bluetooth-testing. Now I’m [...]

Leave a Reply