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).
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.
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:
I can of course provide additional information if requested. Hope someone can provide some ideas!