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
Hello all
Is there a Linux command to view the power output of the CYW43438 chip?
Hello
I am using Android 10, I have BLE connected, CYW4343W
I would like to control the BLE TX power and frequency
I think the best way to do that is via HCI commands
can you provide the relevant commands?
Show LessDear
i have some question about wpa_supplicant and wl command
1: how many AP that can get from wl scan and wl scanresults
i only can get 16 APs after exec wl scan and wl scanresults but there are 30 AP in my office
2: i get some error after use wpa_supplicant but i can use wl command to connect AP success (wl join AP open)
netlink: Operstate: ifindex=3 linkmode=-1 (no change), operstate=5 (IF_OPE[dhd-wlan0] wl_escan_set_scan : LEGACY_SCAN
R_DORMANT)
Daemonize..
[dhd-wlan0] ESCAN-ERROR) wl_escan_set_scan : Escan set error (-16)
[dhd-wlan0] ESCAN-ERROR) wl_escan_set_scan : error (-16), cnt=1
[dhd-wlan0] wl_escan_set_scan : LEGACY_SCAN
[dhd-wlan0] ESCAN-ERROR) wl_escan_set_scan : Escan set error (-16)
[dhd-wlan0] ESCAN-ERROR) wl_escan_set_scan : error (-16), cnt=2
[dhd-wlan0] wl_escan_set_scan : LEGACY_SCAN
[dhd-wlan0] ESCAN-ERROR) wl_escan_set_scan : Escan set error (-16)
[dhd-wlan0] ESCAN-ERROR) wl_escan_set_scan : error (-16), cnt=3
[dhd-wlan0] wl_escan_set_scan : LEGACY_SCAN
[dhd-wlan0] ESCAN-ERROR) wl_escan_set_scan : Escan set error (-16)
[dhd-wlan0] ESCAN-ERROR) wl_escan_set_scan : error (-16), cnt=4
[dhd-wlan0] ESCAN-ERROR) wl_escan_set_scan : Send disassoc to break the busy
[dhd-wlan0] wl_escan_set_scan : LEGACY_SCAN
[dhd-wlan0] wl_escan_set_scan : LEGACY_SCAN
[dhd-wlan0] wl_escan_set_scan : LEGACY_SCAN
thanks
james
Show Less
Hi Devs,
I am using Cypress CYW4373E chip on a hardware. The chip is connected via M.2 connector as a USB interface.
Here is the [link] for the module.
After installing the backports drivers, I kept getting the error
[ 10.669404] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4373 for chip BCM4373/0
[ 10.669525] usbcore: registered new interface driver brcmfmac
[ 11.006299] usb 1-1.3.1: USB disconnect, device number 4
[ 11.106544] brcmfmac: brcmf_usb_dl_cmd: usb_submit_urb failed -19
The complete dmesg output is here:
Backports and firmware link:
https://github.com/LairdCP/Sterling-LWB-and-LWB5-Release-Packages/releases
Driver: backports-laird-10.54.0.13.tar.bz2
Firmware: laird-lwb5plus-usb-div-firmware-10.54.0.13.tar.bz2
Please help
Thank you
Best
Shubham
Show LessHello friends,
We are using TI AM3351 processor with WiFi/BT module BCM43455 over SDIO interface.
TI SDK : ti-processor-sdk-linux-am335x-evm-04.01.00.06
Linux Kernel is 4.9.41-ge3a80a1c5c
Wlan driver is brcmfmac :
brcmfmac: F1 signature read @0x18000000=0x15264345
Firmware version = wl0: Mar 1 2015 07:29:38 version 7.45.18 (r538002) FWID 01-6a2c8ad4)
When device is connected using wpa_supplicant, to a AP of 5GHz, it is getting disconnected repeatedly after every reconnection with the 5GHz AP.
Attached log I'm seeing when wpa_supplicant is run in debug mode: log.txt
As I can see in the log, an event NL80211_CMD_DISCONNECT is received, I suspect this event is causing this issue.
But strangely this issue is not observed with the 2.5GHz WiFi APs, Working fine with 2.5GHz APs.
Can you guys help me resolving this issue.
Help is much appreciated.
Thanks,
aniket jesu
Show LessHi,
Infineon's exports, could you help explain the difference between version v5.15.58-2022_1223 and version v5.15.58-2023_0222. fix some bug? or improve the performance of the module?
Show LessHi Team,
Can you please confirm Cypress Android 10 Release [2020-10-12] is the latest folder which contains updated patch set for android 12 (Android 0S for imx applications processors) ???
we have checked the android 12 source code and patch set is not updated (contains older patch set)
it will be helpful for our current project(integration of pcie and sdio patch set on android 12 for imx processor)
Thanks & Regards
Prashantha T
Show Less
Hi All,
We are using CYW43012 chipset and here are our details:
Firmware version:
1.21 RC0.0
wl0: Feb 21 2022 07:19:28 version 13.10.271.283 (211da63 CY) FWID 01-18f4ac2
Driver Version:
Backported Linux Version v5.10.9-2022_0321-0-ga0971bc0b123
wl clmver:
API: 18.2
Data: 9.10.0
Compiler: 1.36.1
ClmImport: 1.34.1
Creation: 2019-12-13 03:26:37
As part of our device reboot process, we reset the wlan gpio to reset the power to our chipset CYW43012 without removing driver modules for proper mmc detection on the next boot.
We have observed the following errors whenever we issue reboot and the device waits continuously without rebooting:
Error #1:
brcmfmac: brcmf_sdio_read_control: read 1536 control bytes failed: -84
[ 95.450000] brcmfmac: brcmf_sdio_rxfail: abort command, terminate frame, send NAK
[ 98.000000] brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout
[ 322.430000] brcmfmac: brcmf_sdio_rxfail: count never zeroed: last 0xffff
[ 322.440000] brcmfmac: brcmf_sdio_readframes: RXHEADER FAILED: -110
[ 322.450000] brcmfmac: brcmf_sdio_rxfail: abort command, terminate frame, send NAK
[ 558.220000] brcmfmac: brcmf_sdio_rxfail: count never zeroed: last 0xffff
[ 558.230000] brcmfmac: brcmf_sdio_readframes: RXHEADER FAILED: -110
[ 558.340000] brcmfmac: brcmf_sdio_rxfail: abort command, terminate frame, send NAK
[ 787.010000] brcmfmac: brcmf_sdio_rxfail: count never zeroed: last 0xffff
[ 787.020000] brcmfmac: brcmf_sdio_readframes: RXHEADER FAILED: -110
We have also seen cases where device reboots but will take lot of time, atleast a minute, for the device to reboot as it waits most of the time in the below types of error cases:
Error #2:
[ 197.250000] brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
[ 197.260000] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[ 197.280000] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[ 197.310000] brcmfmac: brcmf_sdio_txfail: sdio error, abort command and terminate frame
[ 197.330000] brcmfmac: brcmf_sdio_dpc: sdio ctrlframe tx failed err=-110
[ 197.330000] ieee80211 phy0: brcmf_proto_bcdc_query_dcmd: brcmf_proto_bcdc_msg failed w/status -110
Error #3:
[ 219.340000] brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
[ 219.350000] brcmfmac: brcmf_sdio_dpc: failed backplane access over SDIO, halting operation
[ 219.440000] brcmfmac: brcmf_sdio_bus_sleep: error while changing bus sleep state -110
[ 219.450000] brcmfmac: brcmf_sdio_dpc: failed backplane access over SDIO, halting operation
We do observe that these issues doesn't occur if we rmmod all the modules before we reset the wlan gpio.
We would like to understand if this is a bug or is there a way to handle the sudden wlan power off scenario without any issues.
@raks_99 @GauravS_31 @VinayakS_26
Regards,
Rupesh
Show LessHello,
I am working on development of a teleconferencing product that incorporates the Laird Sterling-LWB WiFi/Bluetooth module based on the CYW4343W device. This module is integrated into a Variscite iMX 8M Plus (imx8mp) System-on-Module.
In addition to WiFi and Bluetooth this product also features an LTE interface. At this moment we are battling a system noise problem that is causing interference with one of the LTE bands and is preventing LTE certification to pass. Specifically the noise peak is at 750 MHz and the LTE band that is failing is at 751 MHz. I have found that the source of the generated noise is the WiFi module or signals attached or in close proximity with it; if I disable the brcmfmac driver, the noise peak disappears and the LTE performance is acceptable.
Here is the version of the brcmfmac driver that is currently being used:
09-16 15:14:28.946 0 0 I brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
09-16 15:14:28.958 0 0 I brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Feb 16 2020 22:39:24 version 7.45.98.97 (r724416 CY) FWID 01-bf41ed64
Here is what I would like to find out (either one would help):
(1) Is there a provision in the brcmfmac driver that can allow a user space application to disable the driver and re-enable it? I have noticed in the device tree these signals that seem to indicate that software is able to control the power to the module and enable/disable it:
&usdhc1 {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_wifi>;
pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_wifi>;
pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_wifi>;
bus-width = <4>;
non-removable;
keep-power-in-suspend;
status = "okay";
brcmf: bcrmf@1 {
reg = <1>;
compatible = "brcm,bcm4329-fmac";
};
};
pinctrl_wifi: wifigrp {
fsl,pins = <
MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07 0xc1 /* WIFI_EN */
MX8MP_IOMUXC_SD1_DATA6__GPIO2_IO08 0xc1 /* WIFI_PWR */
>;
};
However, I am not finding in the brcmfmac driver code how these signals are managed.
(2) Is there a way to control the timing configuration in the module to possibly shift the 750 MHz component to a different frequency? I am not sure what the source of this component is. There is probably a clock operating at a rate that is a factor of this frequency, such as 50 MHz or 250 MHz. I know from the data sheet that there is (should be) a clock operating at 37.4 MHz; but that would cause a peak at 748 MHz, not 750 MHz.
Thanks for any help you may be able to provide.
--ken
Show Less
Hi All,
With bsa stack, the discovery results doesn't show if the BT headset supports 16Khz sampling rate(HFP version >= 1.6 uses wide band audio) or 8Khz sampling rate .
I have two headsets,one with HFP version 1.5 (Plantronics discovery 975) and HFP v1.6 (Plantronics Explorer E50).
Based on above models ,Plantronics E50 should be able to support 16Khz audio,but i could hear audio as choppy if the app_ag_register is not set with with BTA_AG_FEAT_CODEC (i.e 0x00000200 /* Codec Negotiation */). And in this case i could hear 8Khz audio clearly. It looks like the stack is enabling wide band audio based on BTA_AG_FEAT_CODEC macro.
Is there any settings in bsa_server.txt which makes the code negotiation happen automatically ?Or do i need to get that info from scan results and set any params?
In the BT discovery results i dont see any info wrt HFP version or sampling rate supported by BT headset. Below is a sample discovery result for Plantronis E50.Any pointers would be appreciated.
Discovery result
Name:PLT_E50
ClassOfDevice:24:04:04 => Audio/Video
Services:0x00000000 ()
Rssi:-42
DeviceType:Unknown InquiryType:Unknown AddressType:Public
Extended Information:
FullName: PLT_E50
Complete Service [UUID16]:
0x1108 [Headset]
0x111E [Handsfree]
0x110B [Audio Sink]
0x110E [A/V Remote Control]
0x1101 [Serial Port]
Discovery complete