Re: L2CAP errors on linux while running 6loble
Vakul Garg <vakul.garg@...>
I get error logs on both linux and zephyr consoles.
Not sure if they come up together.
The data transfer is almost equal in both the directions.
From: Cufi, Carles [mailto:Carles.Cufi@...]
Sent: Wednesday, November 22, 2017 7:42 PM
To: Vakul Garg <vakul.garg@...>; zephyr-users@...
Subject: RE: L2CAP errors on linux while running 6loble
I assume you see this on the Zephyr side. Since you are using a dual-chip solution there it could be that the Host is dropping packets, but that would be in the other direction (Linux to Zephyr), and here there seems to be an issue with the Zephyr to Linux side. You don’t see any errors printed on the Zephyr side at the same time you see the ones in Linux?
Which direction is the bulk of the data transfer taking place?
BTW, it seems my BLE controller does not support flow control.
During BLE init, following logs are printed.
[bt] [WRN] set_flow_control: Controller to host flow control not supported
[bt] [WRN] hci_vs_init: Vendor HCI extensions not available
Ok, I will buy a standard dongle for linux controller.
Can you suggest which one to buy?
Is this one ok?
The reason I ask is that I’ve seen similar issues with our boards (nRF5x) when we had issues in the HCI flow control.
Is there a chance you can test replacing the Linux controller with a “standard” one (the PTS dongle or any Bluetooth 4.0+ dongle you have) to see which side is introducing the issue?
Thanks for paying attention to this.
I am running latest zephyr from master branch on nxp board frdm_k64f.
The k64f board is connected to another nxp board frdm_kw41z.
Kw41z board runs nxp ble controller firmware (based on freertos).
On linux side as well, it is another frdm_kw41z board (connected through usb) acting as ble controller.
Could you share a bit more info about the Zephyr endpoint? Which board/chip are you using, what Zephyr version and whether this is a single-chip or dual-chip solution?
Also on the Linux side, what controller are you using? Is it Zephyr-based? If so, which Zephyr version and hardware?
I am transferring UDP packets over 6loble link between a zephyr endpoint and linux box.
On my linux box, I see errors:
[root@lti ~]# dmesg
[416975.584892] Bluetooth: Too much LE L2CAP data received
[416976.365482] Bluetooth: Too much LE L2CAP data received
[416977.171158] Bluetooth: Frame is too long (len 186, expected len 68)
[416977.566971] Bluetooth: Too much LE L2CAP data received
Can someone please provide some hint what could I be doing wrong?
I am using linux kernel version 4.13.12.