Problem with sending longer HCI messages with DLE enabled NRF52840 #ble #nrf52480 #hci


kristian.kajak@...
 

Hi,

I am having some problems with getting two NRF52840 USB dongles to communicate with each other with extended data ACL data lengths. I have flashed both the dongles with the Zephyr HCI-USB samples (slightly modified configurations to enable Data Length Extension).

Problem:
Without the DLE configurations, I was able to send 27B of data (including L2CAP length + CID headers) within one transmission so that I can actually receive the "Number of completed packets" event and see that the remote device receives this data. With the DLE enabled, I can only send up to 68B of data (again, headers included), whereas I was expecting to be able to send up to 251B. If the data length is 69 or more, I will not receive the "Number of completed packets" event and the data is not seen on the remote device.

What I have tried:
Different CTRL & HOST config modifications (including CONFIG_BT_HCI_ACL_FLOW_CONTROL=y/n, CONFIG_BT_L2CAP_TX/RX_MTU=247, CONFIG_BT_RX_BUF_LEN=258, and more...) and validated that all of them get set properly with menuconfig.
Also tried using the HCI_Host_Buffer_Size command to set the buffer size to 251 of both of the systems.
Tried increasing the Connection interval to 30ms.
Tried increasing the TX times to 17040 with HCI_LE_Set_Data_length.

Setup:
Host #1: Linux Mint Tina 19.2
Host #1: Linux Mint Tina 19.2, running on VM
Controllers #1 & #2: Zephyr HCI-USB with the following config modifications:

    CONFIG_BT_HCI_ACL_FLOW_CONTROL=y

    CONFIG_BT_RX_BUF_LEN=258

    CONFIG_BT_CTLR_PHY=y

    CONFIG_BT_CTLR_PHY_2M=y

    CONFIG_BT_CTLR_RX_BUFFERS=10

    CONFIG_BT_CTLR_TX_BUFFERS=10

    CONFIG_BT_CTLR_TX_BUFFER_SIZE=251

    CONFIG_BT_CTLR_DATA_LENGTH_MAX=251

 

    CONFIG_BT_CTLR_ADVANCED_FEATURES=y


I can of course provide additional information if requested. Hope someone can provide some ideas!

With regards,
Kristian

Join devel@lists.zephyrproject.org to automatically receive all group messages.