Wi-Fi Bluetooth for Linux Forum Discussions
Package Version
ahd-2023_1221
Release Date
2023-12-21
Description
Infineon Android release for the broad market.
This release has been qualified on IMX8 SDIO platform and Hikey960 PCIE platform running Android 13.
Customers wishing to leverage the Android Open Source Platform now have an out of the box Android solution for Infineon's connectivity parts.
The release package includes:
* ahd
* 4373-Android13-SDIO
*43012-Android13-SDIO
*43022-Android13-SDIO
*54591-Android13-PCIE
*55572-Android13-SDIO
*AHDBinaries
*device
*firmware
*nvram
* Android13_55572_SDIO_Release_Notes.pdf
* Infineon_55572_Wi-Fi_6_6E_User_Guide.pdf
* confs
* hostapd_supplicant_src
* Android13_PCIE_Bringup.pdf
* Android13_SDIO_Bringup.pdf
* Android13_Feature_Bringup.pdf
Test Environment:
* IMX8 SDIO setup
* Hikey960 PCIE setup
* 55572, 43012, 43022, 54591 and 4373 Sanity, 6G and 11ax features (55572), WOWL via OOB(55572)
and PNO scan offload(55572, 43022)
Show LessDescription
The package contains all the required files (including AIROC™ Bluetooth® stack for ARMv8 Linux, Bluetooth® porting layer, and sample code examples of Bluetooth® profiles) to evaluate and test Bluetooth® Classic and Low Energy on AIROC™ combo chip (CYW4373, CYW43439, CYW55573/2/1).
What's new?
Package comes with codes examples to demonstrate Bluetooth LE Audio capability of CYW55573/2/1 in hosted mode. The code example demonstrates Bluetooth® LE Audio unicast and broadcast functionality.
Functions include:
- Broadcast audio stream scanning
- Receiving broadcast audio stream
- Unicast audio stream establishment
- Unicast audio stream release
- Unicast sink connect to source (1 CIG, 1 CIS)
Bluetooth® Linux Code Examples & Supported Chip
Code example |
Feature demonstration |
Supported chip |
LE Audio CIS Source |
Implements the Unicast Source application using BTSTACK and LE-Audio profile library |
CYW55573/CYW55572/CYW55571 |
LE Audio CIS Sink |
Implements the Unicast Sink application using BTSTACK and LE-Audio profile library |
CYW55573/CYW55572/CYW55571 |
LE Audio BIS Source |
Demonstrates the ability of LE Audio broadcast |
CYW55573/CYW55572/CYW55571 |
LE Audio BIS Sink |
Demonstrates the ability to receive LE Audio broadcast |
CYW55573/CYW55572/CYW55571 |
Linux Bluetooth® Find me |
Demonstrates the Find Me profile which defines the behavior when a button is pressed on one device to cause an alerting signal on a peer device |
CYW55573/CYW55572/CYW55571 |
Linux Bluetooth® hello sensor |
Demonstrates GATT database and device configuration initialization, sending data to the client and processing write requests from the client |
CYW55573/CYW55572/CYW55571 CYW43439,CYW4373 |
Linux Bluetooth® Wi-Fi onboarding |
Demonstrates the feature that enables devices to connect to a Wi-Fi access point without requiring a physical interface |
CYW55573/CYW55572/CYW55571 CYW43439,CYW4373 |
Linux Bluetooth® Headset |
Multiple profile code example that demonstrates the use cases and ability of audio-related functions such as A2DP, AVRCP CT, and HFP |
CYW55573/CYW55572/CYW55571 |
Linux Bluetooth® SPP |
Demonstrates how two devices can establish a wireless communication link that emulates a traditional serial port connection |
CYW43439,CYW4373 |
Package GitHub link: https://github.com/Infineon/ifx-linux-bluetooth
Release notes
Please go through the attached released notes for more details on the package.
Show Lessv5.15.58-2024_0118
Release Date
2024-01-18
Github Link
V5.15.58 backport package: Link
V6.1.19 patch: link
Description
This is Cypress's Linux brcmfmac driver and firmware support package.
Brcmfmac is an open-source driver project.
Files in this release:
Part 1: cypress-fmac-v5.15.58-2023_1128.zip
* Backports package (cypress-backports-v5.15.58-2023_1128-module-src.tar.gz)
* Firmware/clm_blob files (cypress-firmware-v5.15.58-2023_1128.tar.gz)
* Cypress fmac patch files (cypress-patch-v5.15.58-2023_1128.tar.gz)
* Device tree files (cypress-devicetree-2023-11-28.tar.gz)
* hostapd/wpa_supplicant patch (cypress-hostap_2_10-2023_1128.tar.gz)
* Cypress customer patch (cypress-custom-patch-5.4.21.tar.gz)
* Cirrent Agent (cypress-cirrent-1.60.tar.gz)
* Documents (docs/)
* README
Part 2: cypress-patch-v6.1.19-2023_1128.zip
* Cypress fmac patch files for Vanilla v6.1.19(cypress-patch-v6.1.19-2023_1128.tar.gz)
* Infineon-Vanilla-Kernel-v6.1.19-Bring-up-Reference_20201221.pdf
Checksum
cypress-fmac-v5.15.58-2023_1128 sha256sum:
990b5f6beeb9530525f254977569fd25936e09f9ef1bf36ca52118e73dff3e68 cypress-backports-v5.15.58-2023_1128-module-src.tar.gz
ce3bb31020e5ffe24fe549802440c137d14a05ad77af3e8e1fb9e184db96ed55 cypress-cirrent-1.60.tar.gz
0c8da2efe289115f2242aa3f69de5bc616cb893ecd411e11194c4c008418bb2e cypress-custom-patch-5.4.21.tar.gz
c38cca05bb05db6198af7809c7a2e519cb33a06b02ebd4d626588c9038f7259b cypress-devicetree-2023-11-28.tar.gz
92608ceb4509cc02730833ce2119662b3c116a3956ca303245e97378186dc2a3 cypress-firmware-v5.15.58-2023_1128.tar.gz
771099830bd106307e77ebdd4d27a3e18de27bb60889c4db4bca81f44ade495d cypress-hostap_2_10-2023_1128.tar.gz
8fe7d8b677032fb04374615aae27c5a3131499956dc22ddb420847a3876974c6 cypress-patch-v5.15.58-2023_1128.tar.gz
cypress-patch-v6.1.19-2023_1128 sha256sum:
933ac3a50f0146b4078beb5e398c75a93ab0a1979a93d120a1c0ba2a06ab0ff7 Infineon-Kernel-v6.1.19-Bring-up-Reference.pdf
ac23fabed00e5c5ab0c3720fa0eb6fa135a589e009714f783701fe557abe3fe7 v6.1.19-2023_1128.tar.gz
Part 3: cypress-fmac-v5.15.58-2024_0118.zip
8ccbebf31bf69c85dc7d05fb7e3597fa282c3ba5373d76b2a65364191abb14d0 cypress-backports-v5.15.58-2024_0118-module-src.tar.gz
ce3bb31020e5ffe24fe549802440c137d14a05ad77af3e8e1fb9e184db96ed55 cypress-cirrent-1.60.tar.gz
92e7196a896fa65138c8297d4202a1811564605360f807faa2c8af310eddeb2e cypress-custom-patch-5.4.21.tar.gz
40dd314cee28149028a2d524ccd5d25f20336c7314e1e26654daecf4c9a796d2 cypress-devicetree-2024-01-18.tar.gz
739d1fae54d885e136847af2957821324c18c68622f204992e268b991172da53 cypress-firmware-2024_0118.tar.gz
2a411fb64818b054498645f64e3ef3b29e4db9a36b65987d9a3af76c2d60f765 cypress-hostap_2_10-2024_0118.tar.gz
8e43bc4487c5d4e77880e2fc9d3152a011063c5b0f3871e277561f0108a88304 cypress-patch-v5.15.58-2024_0118.tar.gz
[Change Log]
2023-12-18 Initial Post
2023-12-22 Add cypress-patch-v6.1.19 to support build brcmfmac on 6.1.19
2024-01-18 Fix for system crash post suspend and resume with CYW55572/55573 [PCIe]
The BT assets of AIROC Bluetooth Stack (Linux) Release are all on GitHub now.
Description:
AIROC Bluetooth Stack is Infineon's Bluetooth Host Protocol Stack implementation. The stack is optimized to work with Infineon Bluetooth controllers. The BTSTACK supports Bluetooth BR/EDR and BLE core protocols. This page provides the Github links to get started with application developments in Linux platform using AIROC Bluetooth Stack.
Please find the code examples :
Code Examples:
https://github.com/Infineon/linux-example-btstack-wifi-onboarding
https://github.com/Infineon/linux-example-btstack-wakeonle
https://github.com/Infineon/linux-example-btstack-bas
https://github.com/Infineon/linux-example-btstack-hello-sensor
https://github.com/Infineon/linux-example-btstack-alert-client
https://github.com/Infineon/linux-example-btstack-alert-server
https://github.com/Infineon/linux-example-btstack-headset
https://github.com/Infineon/linux-example-btstack-a2dp-source
https://github.com/Infineon/linux-example-btstack-a2dp-sink
https://github.com/Infineon/linux-example-btstack-spp
https://github.com/Infineon/linux-example-btstack-handsfree-unit
https://github.com/Infineon/linux-example-btstack-handsfree-ag
Show Less
The latest Infineon Linux Wi-Fi driver (FMAC) release can be accessed here:
Sr. No. | Driver release name | Release link |
1 | Backports v5.15.58-2023_1128 |
Public forum link: https://community.infineon.com/t5/Wi-Fi-Bluetooth-for-Linux/Cypress-Linux-WiFi-Driver-Release-FMAC-2023-11-28/td-p/662238 |
2 | 6.1 Latest kernel for RPI : RPI-6.1.21 IFXFMAC |
Github: https://github.com/Infineon/rpi-linux-kernel/releases/tag/6.1.21-hedorah-IFXFMAC-20231128 |
3 | 6.1 Kernel on BRCMFMAC |
Github: https://github.com/Infineon/ifx-wireless-drivers/tree/RTM/v6.1.19-hedorah |
Documentation is available in docs folder of cypress-fmac-v5.15.58-2023_1128.zip available at this link https://community.infineon.com/t5/Wi-Fi-Bluetooth-for-Linux/Cypress-Linux-WiFi-Driver-Release-FMAC-2023-11-28/td-p/662238
The older/archived Wi-Fi driver releases can be accessed here:
Show Less
Package Version
ahd-2022_1223
Release Date
2023-01-03
Description
Cypress Android release for the broad market.
This release has been qualified on Hikey 960 platform.
Customers wishing to leverage the Android Open Source Platform now have an out of the box Android solution for Cypress's connectivity parts.
The release package includes:
* ahd
* device
*hikey960
* firmware
* nvram
* 55572_AndroidBringup.pdf
Test Environment:
* Hikey 960
* 55572 Sanity and VTS
Change Log
[2022-12-23]
* Initial post
Show LessHi there,
We are trying to fcc wifi certify our project which uses a custom buildroot toolchain and arm processor.
We need help to compile the wl_tool so we can proceed with certification, but we need it to be cross compiled for our architecture (arm 32bit).
Can I ask a representative to help us to compile it with our custom toolchain?
CPU Info:
- armv7l
- little-endian
- hard-float ABI
- neon/vfpv4
Custom Toolchain Instructions:
- download toolchain
- extract toolchain:
tar jxf arm-co6-linux-uclibcgnueabihf_sdk-buildroot_2021.02.1.tar.xz - cd to arm-co6-linux-uclibcgnueabihf_sdk-buildroot
- ./relocate_sdk.sh
- add toolchain into path e.g.
export PATH="$PATH:$PWD/usr/bin" - Set cross compile variables:
export ARCH=arm
export CROSS_COMPILE=arm-co6-linux-uclibcgnueabihf-
Tagging @VinayakS_26 / @raks_99 / @DoubleLo as I found they have helped another customer to do this.
Show Less
Hi all,
Our device we are working with v4.14.34-backports. Now recently I am trying to upgrade the driver using v5.4.18-backports drop. I get the following error.
Loading BRCM FMAC Driver...Loading BCM43555 FMAC WLAN Firmware in Production Mode 07/06/20 10:46:43.851313 kern.inf kernel: Loading modules backported from e
07/06/20 10:46:43.851405 kern.inf kernel: Backport generated by backports.git v5.5.11-1-0-gabe05f0
07/06/20 10:46:43.861284 kern.not kernel: cfg80211: Loading compiled-in X.509 certificates for regulatory database
07/06/20 10:46:43.871289 kern.not kernel: cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
Wland restarted. Pls wait...
07/06/20 10:46:43.931298 kern.inf kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
07/06/20 10:46:43.931400 kern.inf kernel: usbcore: registered new interface driver brcmfmac
07/06/20 10:46:43.931430 kern.war kernel: brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.fsl,imx7d-sdb.txt failed with error -2
07/06/20 10:46:43.931468 kern.war kernel: brcmfmac mmc1:0001:1: Falling back to user helper
any help
Show LessHi,
Since our board BSP is based on Linux 4.9, we need an appropriate compatible sdio driver.These are some steps we tried so far :
Downloaded and Backported drivers from the link below.https://community.cypress.com/docs/DOC-19000As per the Readme file, the driver's are working on an x86 machine, linux v4.12.
1. Kept all the firmware file in /lib/firmware/brcm/ path of filesystem
2. Installed Ubuntu 18.04 on an x86 machine, changed the running kernel to linux 4.12,by rebuilding vanilla kernel source
3. Extracted the Backported drivers
v4.14.77-backports
4. Successfully configured, build and installed v4.14.77-backports on x86.
5. Once the SDIO module is detected by the laptop, inserted drivers and its dependent modules.
Below is the log message relevant to the sdio device.
[ 42.115029] mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
[ 42.116770] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[ 42.118876] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[ 42.125249] mmc0: queuing unknown CIS tuple 0x80 (13 bytes)
[ 42.128414] mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
[ 42.241351] mmc0: Tuning timeout, falling back to fixed sampling clock
[ 42.247769] mmc0: new ultra high speed SDR104 SDIO card at address 0001
[ 42.302155] Bluetooth: Generic Bluetooth SDIO driver ver 0.1
[ 44.369093] mmc0: Tuning timeout, falling back to fixed sampling clock
[ 44.425118] mmc0: Tuning timeout, falling back to fixed sampling clock
[ 45.501433] brcmfmac: brcmf_sdiod_regrw_helper: failed to read data F1@0x08000, err: -110
[ 45.501444] brcmfmac: brcmf_chip_recognition: chip backplane type 15 is not supported
[ 45.501450] brcmfmac: brcmf_sdio_probe_attach: brcmf_chip_attach failed!
[ 45.501455] brcmfmac: brcmf_sdio_probe: brcmf_sdio_probe_attach failed
[ 45.501654] brcmfmac: brcmf_ops_sdio_probe: F2 error, probe failed -19...
[ 45.501814] usbcore: registered new interface driver brcmfmac (edited)
Please help in solving this issue.
Show LessHi,
Our product is unable to connect to WiFi channels 12 and higher. Out build is using the 1DX with v5.4.18-2020_0402 firmware and the latest Linux kernel supported by murata GitHub - murata-wireless/meta-murata-wireless (branch imx-sumo-manda).
Using "iw get reg" this returns the country of the AP successfully. If the country is changed in the AP our product quickly follows suit.
Using "iw list" shows all the channels that are enabled and disabled; these follow the selected country.
When GB is selected in the AP only channel 14 is disabled in iw list as you'd expect. However forcing the AP to use channels 12 or 13 fails to connect. It feels like the driver is stuck on US but is stating it's GB.
If iw reg set GB and wl country GB are used after all this then it connects, but if beforehand the country was GB why set it again and why must both iw and wl be used?
Thanks.
Show LessHi everyone:
I am porting wifi module on my customed-board with imx8Quad chip,the board I am using is highly similar to imx8QuadXPlus. The wifi module is ublox JODY-W163 series,and I have succeeded in porting this wifi module on my board under yocto 4.14.78.1.0.0 project,but when I update yocto project to 4.14.98.2.3.0,the brcmfmac-sdio driver doesn't work as I expected.The main kernel dts changes can be seen in attached files .
when booting kernel ,the 4.14.78 log about brcmfmac-sdio driver shows below:
[ 2.854654] mmc0: SDHCI controller on 5b010000.usdhc [5b010000.usdhc] using A
[ 2.867220] sdhci-esdhc-imx 5b020000.usdhc: allocated mmc-pwrseq
[ 2.873323] sdhci-esdhc-imx 5b020000.usdhc: assigned as wifi host
[ 2.881726] mmc_pwrseq_simple_pre_power_on--> 1
[ 2.910638] mmc_pwrseq_simple_post_power_on--> 0
[ 2.964874] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[ 2.970461] mmc0: new HS200 MMC card at address 0001
[ 4.114331] mmc1: new high speed SDIO card at address 0001
[ 4.120320] SDIO brcmf_ops_sdio_probe Enter-->
ffs.utp0[ 4.125063] SDIO brcmf_ops_sdio_probe Enter-->
whie booting kernel with yocto project 4.14.98.2.3.0,the log only shows:
[ 2.197300] mmc1: SDHCI controller on 5b020000.usdhc [5b020000.usdhc] using A
After bring-up,the wifi modules(compat.ko cfg80211.ko brcmutil.ko brcmfmac.ko) are successfully insmod,but the wlan0 interface doesn't show up
How should I make wifi module detected by SDIO driver? Or any suggestions about which porting procedure may cause this problem?Any suggestion will be appreciated.
Show LessHi Sir,
Hi Sir,
我用的平台是IMX6 ,LINUX环境,DHD driver,CYW43438运行在STA 模式。
目前考虑到功耗问题,想要通过调节DTIM的值,改变监听的间隔,从而达到省电的目的,但是在DHD driver里面改了一些参数,没有起到作用,也尝试通过wl dtim命令设置,发现在连接AP之后,DTIM会自动改变,应该是AP侧的DTIM值。
所以,想咨询下CYW43438在STA模式下,是否可以通过驱动修改DTIM值,如何修改呢?谢谢~
BR,
Leo
Show LessI'm using RPi4 (which utilizes CYW43455) for communicating with a BLE peripherial devices via gatttool:
# gatttool -b OTHERWORKINGDEVICE --characteristics
handle = 0x0002, char properties = 0x0a, char value handle = 0x0003, uuid = 00002a00-0000-1000-8000-00805f9b34fb
...
I have at least 3 peripherial devices which I can query with gatttool.
But there is one device which timeouts 9 times of 10 during connection:
# gatttool -b NOTWORKINGDEVICE --characteristics
connect error: Connection timed out (110)
Now I could consider the "notworkingdevice" faulty. But "unfortunately" it is working from other devices (phones, with nRF Connect application) without any issues.
So I have hooked up a Bluetooth Link Layer Sniffer and took some measurements during the Pi tries to connect:
Some legend:
- Orange-filled box is the "faulty" device (BLE Peripherial)
- Red-filled box is the Pi (BLE Central)
- Red rectangles: marks channel change
I believe those Client Rx MTU requests are coming from the Peripherial (based on their Signal dBm).
However I tried running btmon on the Pi during the connection and it is simply not showing these MTU Requests. It seems Pi sends out a "LE Read Remote Used Features" and timeouts while waiting for the answer (I also tried increasing the timeout, but it did not help):
< HCI Command: LE Read Remote Used... (0x08|0x0016) plen 2 #11 [hci0] 7.477210
Handle: 64
> HCI Event: Command Status (0x0f) plen 4 #12 [hci0] 7.479342
LE Read Remote Used Features (0x08|0x0016) ncmd 1
Status: Success (0x00)
> HCI Event: Command Complete (0x0e) plen 14 #13 [hci0] 7.479357
LE Read Remote Used Features (0x08|0x0016) ncmd 1
Status: Success (0x00)
00 00 00 00 00 00 00 00 00 00 ..........
> HCI Event: LE Meta Event (0x3e) plen 12 #14 [hci0] 7.993969
LE Read Remote Used Features (0x04)
Status: Connection Timeout (0x08)
Handle: 64
Features: 0x2d 0x00 0x00 0x00 0x00 0x00 0x00 0x00
LE Encryption
Extended Reject Indication
Slave-initiated Features Exchange
LE Data Packet Length Extension
I also tried to put the peripherial very close (<1.5m) to the Pi and nothing has changed.
RPi's firmware is updated, it's on 5.4.47-v7l+.
I took multiple sniffs and the communication is always the same: only requests, no response. The periperial tries to ask for MTU change but never gets reply. And the Pi is waiting for LE Read Remote Used Features but never gets reply and timeouts.
Given the above facts, what are my options to further investigate what causes the problem?
Is it possible to update the Cypress module itself? Or query it's version?
Thank you.
Show LessHi,
We have a number of customers using Meraki routers that our product containing a 1DX cannot connect to unless they turn 20/40MHz coexistence off. We experience the same issue with our Netgear having to turn 20/40MHz coexistence off. I have carefully searched though the BCM43430 / 1DX documentation and cannot see any mention of 20/40MHz capability.
So does the 1DX ( currently using v5.4.18-2020_0402 firmware - and latest Linux kernel supported by murata GitHub - murata-wireless/meta-murata-wireless (branch imx-sumo-manda). ) have this capability?
If not, is there any work-around, setting etc that could be used to connect to these routers so customers don't have to sacrifice bandwidth for one product?
If is does, what could be causing a failure to connect?
Thanks.
Show LessHello,
We are experiencing a very similar issue to the unanswered ticket below:
Problem With Disconnecting 1DX when signal stregths is weak
Build is the latest Linux kernel supported by murata GitHub - murata-wireless/meta-murata-wireless (branch imx-sumo-manda). The board is a custom board based of the imx7dsabresd SDK with 1DX module ( Linux version 4.14.98 ).
We've updated to the latest FMAC version: v5.4.18-2020_0402 as proposed by the above ticket.
All wpa_supplicant family of tools are version 2.9
There are no issues connecting to an AP, but in a mesh system with all APs having the same SSID and passphrase we also get the brcmfmac "warn_slowpath_null" dmesg message unwind. Monitoring the signal strength and the "connected to AP MAC" of the APs within the mesh, the wpa_supplicant setting bgscan="simple:30:-50:300" has no effect. Between two AP's monitoring which one we're connect to the connection does not jump when the non-connected AP get stronger than -50. The change is only when the current connection goes out of range.
These maybe two separate issues - warn_slowpath, not disconnecting at -50 but there is certainly a relationship.
Exactly the same issues are seen on the earlier murata krogoth branch ( 4.9.88 ) using the very latest backport FMAC driver. The branch is still used in current production units so just as important.
Thanks.
Show Less