-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bluetooth LE connection issue (coexistence problem?) #13
Comments
Unfortunately we have no documentation of the parameters - the firmware and its configuration is a black box. The btc_mode=4 setting sounds interesting - I'm going to suggest it on the the other issue in case it helps. |
Hi @pelwell, |
I'm loathe to distract Infineon when it has taken so long to get anywhere on #12, but if you register on their system I can add you as a collaborator to the existing case. |
That works for me too! I've sent an e-mail with my details to the address that you posted in issue #12. |
We recently updated the firmware, kernel, etc on our RPis and started having a similar issue, where suddenly BLE connections were failing 99% of the time. For us it turned out to be caused by the Wi-Fi powersave mode. Wi-Fi powersave mode was completely disabled (through NetworkManager), and when we re-enabled it, our BLE issues immediately went away. I'm not sure if it's the same issue as what you're having, but I just thought I'd mention it in case it helps. |
Hi @onsolutionjames, We are still trying out |
Infineon have come back with the following:
|
Running Running the other command while the issue occurs (with |
@IB1387 I copied your previous answer verbatim to Infineon to avoid misunderstandings, but they have come back with a question:
Can you make clear the sequence of events, and any associated change to the value of btc_params 51? |
Sorry, I was out of office for a few days. I've redone the test to make sure the gathered data is valid. Nearly all bluetooth connections fail while connected to a 2.4GHz wifi network using a completely stock RaspberryPi OS 64bit image (including btc_mode=1). I hope this answers the question from Infineon. Let me know if I can help any further. |
There's a new test firmware that sets btc parameter 51 to 0x40ff: |
Following this issue, similar problem here. Using CYW4343W in custom board. I will test all of your proposals. You can detailed see my problem here |
I was just wondering if any progress has been made on this issue (or issue #12)? We've been having similar issues with BLE/Wi-Fi on the 3B+ and I suspect it's a coexistence issue. We have quite a lot of 3B+'s in the field (6000+) and we're happy to use some for testing. |
There was a firmware release from Infineon that seemed to solve the problem of one user/organisation by removing a priority boost given to scanning over Bluetooth activity; I don't know how @IB1387 got on with it. You can download the new firmware to test here: https://drive.google.com/file/d/1cdH7Tpuuky8oJTaq2DlvyirLEoooYVkr/view?usp=sharing Install it with:
and revert with:
|
@pelwell that appears to be firmware for the CYW43430, but the Pi compute module uses the CYW43455 chipset, doesn't it? |
Ah yes - the sister issue (#12) is for 43430. It looks like we didn't have a similar case with Infineon for the 43455 so I've opened one. Hopefully it shouldn't take them long to change one value and rebuild. |
Infineon are holding out on simply giving us what we ask for and want us to run some diagnostics first. They've seen @IB1387's logs, but now say they want to see the values of some firmware parameters. You'll need the It's a 32-bit executable, but as a static build it should run on both 32-bit and 64-bit kernels and images. You may need to The values they would like to see are the outputs of these commands (assuming that wl is in the current directory):
For comparison, I get the values They would like to know the values after booting and when you see connection issues - perhaps you could log the values every few seconds:
|
You'll get nicer output with this version:
e.g.:
|
Hi everyone, If you require additional info from my side, let me know. |
@pelwell Mine doesn't change from
I did try just forcibly setting btc_mode to |
Your findings have been passed on. |
After some back-and-forth Infineon have responded with the following:
|
This firmware is fixing the issue for me. Could anyone offer more details about where did this firmware come from? Version? Is it official? |
It's a test firmware they built for us. If we get enough positive feedback it could become the official release (or they will make a release with the same change). |
Hello!
We are developing an industrial IoT device with bluetooth LE and wifi support using the Compute Module 4 with the built-in RF module. BLE is used to connect to multiple sub-devices via GATT. We upload payloads, telemetry information and do device management tasks over the internet using the built-in wifi or ethernet of the CM4.
We experience problems, where our device sometimes fails to initiate any BLE connection, when it's connected to a 2.4GHz wifi network. This issue might be related to !12, though we are not sure and we didn't want to pollute the discussion there. Turning off wifi or switching to a 5GHz network drastically reduces failed connections. The issue does not show up 100% of the time, but we experience quite often that 99% of BLE connection attempts fail for multiple days at a time. Scanning for devices, seems to work ok regardless if connected to a 2.4GHz wifi network or not.
We tried different versions of RaspberryPiOS and even Ubuntu. We also tried to update the kernel to no effect. Multiple versions of bluez showed the same issue.
The BLE connection is of upmost importance for our use case. We stumbled upon some (not publicly documented?) bluetooth/wifi coexistence parameters e.g.
btc_mode
online. Settingbtc_mode=4
in brcmfmac config currently seems to alleviate the issue at least partially, though we're still early in the testing phase of this solution.Is there a public documentation of wifi/bt driver options and their values, especially the ones that correspond to their coexistence? Can someone help us find the optimal combination of settings for our use case?
Thanks in advance!
Detailed information about our setup:
The issue was replicated with different versions of RaspberryPiOS (and even Ubuntu), different kernel versions, a original CM4 IO board instead of our custom board as well as different wpa_supplicant and BlueZ versions.
Because it was asked in the other thread:
btmon.log
dmesg.log
The text was updated successfully, but these errors were encountered: