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
Looking for a comprehensive list of WPA Enterprise security modes that are supported by the CYW4343W when used with wpa_supplicant (using latest brcmfmac driver).
Are all Enterprise security modes supported that are listed by wpa_supplicant here?
Show LessHi All,
I am checking the README file content in FMAC Driver Package (v4.14.34-2018_0625)
I have some questions about Supported Feature with README file content .
[Question]
At v4.14 (Previous version), CLM Download feature is supported with 4373/43455/4343w/4354/4356.
On the other hand, at v4.14.34 the CLM Download feature is supported with 43455/4343w/4354/43012.
The 4373 and 4356 device are out of scope.
Why are these exempts ?
At P2P Feature ,43012 device is excepted.
Is there any reason for 43012 to be out of scope?
Best Regards,
Sakagami
Hi,
The defaule value of PCM clock is 512KHz, but we want to set 128KHz, so I config cyw43438 as follows:
1, Write_I2SPCM_Interface_Param
[MiniBoard]# hcitool cmd 0x3f 0x6D 0x01 0x01 0x00 0x00
< HCI Command: ogf 0x3f, ocf 0x006d, plen 4
01 01 00 00
> HCI Event: 0x0e plen 4
01 6D FC 00
2, Write_SCO_PCM_Int_Param
[MiniBoard]# hcitool cmd 0x3f 0x1C 0x00 0x00 0x00 0x01 0x01
< HCI Command: ogf 0x3f, ocf 0x001c, plen 5
00 00 00 01 01
> HCI Event: 0x0e plen 4
01 1C FC 00
3, Write_PCM_Data_Format_Param
[MiniBoard]# hcitool cmd 0x3f 0x1E 0x00 0x00 0x03 0x03 0x01
< HCI Command: ogf 0x3f, ocf 0x001e, plen 5
00 00 03 03 01
> HCI Event: 0x0e plen 4
01 1E FC 00
Then,I Read the cyw43438 config,
1, Read_SCO_PCM_Int_Param
[MiniBoard]# hcitool cmd 0x3f 0x1d
< HCI Command: ogf 0x3f, ocf 0x001d, plen 0
> HCI Event: 0x0e plen 9
01 1D FC 00 00 00 00 01 01
2, Read_PCM_Data_Format_Param
[MiniBoard]# hcitool cmd 0x3f 0x1f
< HCI Command: ogf 0x3f, ocf 0x001f, plen 0
> HCI Event: 0x0e plen 9
01 1F FC 00 00 00 03 03 01
[MiniBoard]#
The PCM/SCO is configed successfully, but the PCM_CLK is still 512KHz when I mesaure the PCM_CLK signals with an oscilloscope.
What should I do so that I can config cyw43438's PCM_CLK work at 128KHz?
Show LessHi All,
I am currently using BCM43340 module and I received the dhd driver and firmware with the following version numbers:
1.141 RC77.0
wl0: Jan 30 2015 19:22:32 version 6.20.190.3 (r530911) FWID 01-5b07cccc
I would like to know if there is an updated version of the firmware for this driver and if so, where can I find the latest downloadable links. I have gone through the forums and couldn't find firmware where as I could find latest driver.
Thanks in advance,
Regards,
Rupesh.
Show LessHello Folks,
For my MSc thesis, I am trying to develop directed antenna for wifi communication to save some power for IoT devices compared to onboard/external omni-directional antennas.
For that 2 questions:
1-) How can I modify the tx/rx power to an antenna? If it is possible of course.
More specifically I am interested in Particle-Photons, which they use Cypress WICED I believe.
2-) How can I modify the wifi subsystem to select specific antenna (assuming I have multiple directed antennas, like 4 of them towards North, South, East, West) ?
I guess it will be nice if I can put the antenna number somewhere. I also do not know if current wifi standard has something like "antenna number" in the packet format.
Please suggestions and ideas.....
All the best
Kemal Kilic
Dept. of Sustainable Environment And Energy Systems
Middle East Technical Univ. North Cyprus Campus
Güzelyurt - Cyprus
Show LessI have a customer trying to use the iMX7s-warp board, which has a type-1dx module (CYW4343W)
Our latest FMAC driver and firmware supports kernel 4.1.15 which has no MACHINE imx7s-warp
They imported the Yocto meta-layer for the imx7s-warp from another BSP but this overrides the preferred kernel and pulls in 4.1.32 in which then it becomes a kernel source/header file headache for FMAC.
The current Yocto BSPs all support the imx7s-warp ( 4.1.32 up ) and have the bcmdhd and brcmfmac drivers within, the brcmfmac doesn't actually work but as it's close to FMAC as far as I know - it may be a good starting point for a possible port?
Can we provide some guidance on how to enable this feature? for reference this works ok on the iMX7d board, just not the WARP one.
Show LessHi,
While doing suspend and resume with the battra release of fmac driver on IMX7 Platform Linux ver 4.9, I am seeing the following failure messages.
All iovar calls inside the brcmf_cfg80211_resume function are failing.
Has anyone else seen this issue? Is there a fix available from cypress for this?
I am calling suspend by "echo mem > /sys/power/state"
04/18/18 06:15:30.441045 kernel: PM: late suspend of devices complete after 1.061 msecs
04/18/18 06:15:30.441093 kernel: PM: noirq suspend of devices complete after 0.981 msecs
04/18/18 06:15:30.441216 kernel: Disabling non-boot CPUs ...
04/18/18 06:15:30.441945 kernel: CPU1: shutdown
04/18/18 06:15:30.441971 kernel: Turn off Mega/Fast mix in DSM
04/18/18 06:15:30.442128 kernel: Suspended for 5.546 seconds
04/18/18 06:15:30.442150 kernel: Enabling non-boot CPUs ...
04/18/18 06:15:30.442409 kernel: CPU1 is up
04/18/18 06:15:30.442433 kernel: PM: noirq resume of devices complete after 0.549 msecs
04/18/18 06:15:30.442482 kernel: imx-sdma 30bd0000.sdma: loaded firmware 4.2
04/18/18 06:15:30.442503 kernel: PM: early resume of devices complete after 1.224 msecs
04/18/18 06:15:30.442566 kernel: brcmfmac: brcmf_fil_cmd_data: bus is down. we have nothing to do.
04/18/18 06:15:30.442586 kernel: brcmfmac: brcmf_report_wowl_wakeind: Get wowl_wakeind failed, err = -5
04/18/18 06:15:30.442604 kernel: brcmfmac: brcmf_fil_cmd_data: bus is down. we have nothing to do.
04/18/18 06:15:30.442622 kernel: brcmfmac: brcmf_fil_cmd_data: bus is down. we have nothing to do.
04/18/18 06:15:30.442641 kernel: brcmfmac: brcmf_fil_cmd_data: bus is down. we have nothing to do.
04/18/18 06:15:30.442687 kernel: brcmfmac: brcmf_fil_cmd_data: bus is down. we have nothing to do.
04/18/18 06:15:30.442707 kernel: brcmfmac: brcmf_pktfilter_enable: disable packet filter id(100) failed, ret=-5
04/18/18 06:15:30.442747 kernel: brcmfmac: brcmf_fil_cmd_data: bus is down. we have nothing to do.
04/18/18 06:15:30.442864 kernel: sitronix_power_up
04/18/18 06:15:30.442884 kernel: PM: resume of devices complete after 32.789 msecs
04/18/18 06:15:30.442928 kernel: PM: resume devices took 0.030 seconds
04/18/18 06:15:30.442948 kernel: PM: Finishing wakeup.
Thanks and regards,
Aparna
Show LessHi everyone, I am trying to use bcm43438 on linux, and the wifi is working well. But when i use Bluez on linux to test the bluetooth, it doesn't work.
Firstly i use command 'hciattach /dev/ttymxc2 bcm43xx 3000000 flow -t 10' to init the device, but it will get time out, then I digged into the process, and I found the command will call function bcm43xx_init:
``````
int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
const char *bdaddr)
{
char chip_name[20];
char fw_path[PATH_MAX];
printf("bcm43xx_init\n");
if (bcm43xx_reset(fd))
return -1;
printf("reset successfully\n"); //whether program can get here
if (bcm43xx_read_local_name(fd, chip_name, sizeof(chip_name)))
return -1;
printf("read local name successfully\n"); //whether program can get here
if (bcm43xx_locate_patch(FIRMWARE_DIR, chip_name, fw_path)) {
fprintf(stderr, "Patch not found, continue anyway\n");
} else {
if (bcm43xx_set_speed(fd, ti, speed))
return -1;
if (bcm43xx_load_firmware(fd, fw_path))
return -1;
.....
`````````````````````
I add two 'printf' to indicate where is wrong, and the result shows it can reset successfully then get time out. So it gets time out in bcm43xx_read_local_name, the code is like this:
````````````````````````
static int bcm43xx_read_local_name(int fd, char *name, size_t size)
{
unsigned char cmd[] = { HCI_COMMAND_PKT, 0x14, 0x0C, 0x00 };
unsigned char *resp;
unsigned int name_len;
resp = malloc(size + CC_MIN_SIZE);
if (!resp)
return -1;
tcflush(fd, TCIOFLUSH);
if (write(fd, cmd, sizeof(cmd)) != sizeof(cmd)) {
fprintf(stderr, "Failed to write read local name command\n");
goto fail;
}
// it is stucked here
if (read_hci_event(fd, resp, size) < CC_MIN_SIZE) {
fprintf(stderr, "Failed to read local name, invalid HCI event\n");
goto fail;
}
if (resp[4] != cmd[1] || resp[5] != cmd[2] || resp[6] != CMD_SUCCESS) {
fprintf(stderr, "Failed to read local name, command failure\n");
goto fail;
}
`````
After I tried many times, I found it is stucked in read_hci_event function, the host can not get response from device. But it can get response in bcm43xx_reset(), so i think it is the problem of hci command, then i changed the hci command many times, it turned out the device only response to the reset hci command. I don't know why is it so.
The Bluez version is 5.37 and the linux kernel is 4.1.38.
Please give me some advice, thanks very much.
Show LessWe are using BCM4343w in our custom board. Below are question regarding bluetooth pcm audio
1) Is there any bcm4343w bluetooth audio pcm driver is available or I can use the generic bt-sco driver. I'm using linux kernel 4.1
2) And also, on the host interface, we don't have option to generate exact bit clock for bluetooth codec. So we need to configure the bcm4343w codec into master mode. Whether this can be done by HCI commands, if so please provide me the steps to configure bcm4343w codec as master.
Show LessHi,
The battra driver release (here) includes a set of patches for hostapd 2.6 (filename cypress-hostap_2_6-2018_0312.tar.gz). Where and how are these patches applied? I'm using Yocto Rocko release which pulls hostapd v2.6 by default. The build fails when these patches are applied via .bbappend.
Regards,
Andrew
vnak
Show Less