- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All,
I am seeking guidance to integrate with iMX286 and Kernel 2.X, understanding backport will be required.
The original design was with another chipset supplier, and that solution will be EOL. We are hoping to swap to CYW43438 based solution, without changing the host MPU, and kernel version.
I already checked with local Cypress support, and was advised to check with global community as well.
Also, is there manufacturing testing (MFG) firmware available for FCC testing?
Thanks,
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello:
For how to compile the fmac backport driver, we have a README file along with the release .
#### Build the cypress driver/backports modules
```bash
#1. Untar the Cypress backports package
tar zxvf cypress-backports-*.tar.gz
cd v4.12-backports
#2. (Native) compile local tools and generate .config (in a new terminal
# without sourcing Yoctol toolchain settings)
bash
MY_KERNEL=<the 4.1.15 kernel path>
make KLIB=$MY_KERNEL KLIB_BUILD=$MY_KERNEL defconfig-brcmfmac
#3. (Cross) compile kernel modules
source /opt/poky/1.8/environment-setup-cortexa7hf-vfp-neon-poky-linux-gnueabi
make KLIB=$MY_KERNEL KLIB_BUILD=$MY_KERNEL modules
#4. The kernel modules are available here
# compat/compat.ko
# net/wireless/cfg80211.ko
# drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko
# drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Mineronarrow,
Your Cypress driver Cypress Linux WiFi Driver Release (FMAC) [2020-09-25] Yes?/No?
you can ask your wifi-module supplier
how to porting wifi driver and Which get manufacturing test (MFG) firmware can be used for FCC testing?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi DS_Lin,
Thanks.
Yes. We use this version.
For the FCC test firmware, should I get it from Cypress? The module supplier had provided hcd and nvram file to me.
Cypress should provide me the MFG firmware, correct?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Mineronarrow,
For the MFG firmware,
you can ask your module supplier ==>module supplier ask Cypress
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi DS_Lin,
Thanks for the reply. I downloaded "cypress-backports-v5.4.18-2020_0925-module-src.tar" version.
In the sdio.c file, it does not have the chip "43438". Can you please suggest?
BRCMF_FW_DEF(43143, "brcmfmac43143-sdio");
BRCMF_FW_DEF(43241B0, "brcmfmac43241b0-sdio");
BRCMF_FW_DEF(43241B4, "brcmfmac43241b4-sdio");
BRCMF_FW_DEF(43241B5, "brcmfmac43241b5-sdio");
BRCMF_FW_DEF(4329, "brcmfmac4329-sdio");
BRCMF_FW_DEF(4330, "brcmfmac4330-sdio");
BRCMF_FW_DEF(4334, "brcmfmac4334-sdio");
CY_FW_DEF(43340, "cyfmac43340-sdio");
BRCMF_FW_DEF(4335, "brcmfmac4335-sdio");
CY_FW_DEF(43362, "cyfmac43362-sdio");
CY_FW_DEF(4339, "cyfmac4339-sdio");
BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
/* Note the names are not postfixed with a1 for backward compatibility */
CY_FW_DEF(43430A1, "cyfmac43430-sdio");
CY_FW_DEF(43455, "cyfmac43455-sdio");
BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
CY_FW_DEF(4354, "cyfmac4354-sdio");
CY_FW_DEF(4356, "cyfmac4356-sdio");
CY_FW_DEF(4359, "cyfmac4359-sdio");
CY_FW_DEF(4373, "cyfmac4373-sdio");
CY_FW_DEF(43012, "cyfmac43012-sdio");
static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
BRCMF_FW_ENTRY(BRCM_CC_43143_CHIP_ID, 0xFFFFFFFF, 43143),
BRCMF_FW_ENTRY(BRCM_CC_43241_CHIP_ID, 0x0000001F, 43241B0),
BRCMF_FW_ENTRY(BRCM_CC_43241_CHIP_ID, 0x00000020, 43241B4),
BRCMF_FW_ENTRY(BRCM_CC_43241_CHIP_ID, 0xFFFFFFC0, 43241B5),
BRCMF_FW_ENTRY(BRCM_CC_4329_CHIP_ID, 0xFFFFFFFF, 4329),
BRCMF_FW_ENTRY(BRCM_CC_4330_CHIP_ID, 0xFFFFFFFF, 4330),
BRCMF_FW_ENTRY(BRCM_CC_4334_CHIP_ID, 0xFFFFFFFF, 4334),
BRCMF_FW_ENTRY(BRCM_CC_43340_CHIP_ID, 0xFFFFFFFF, 43340),
BRCMF_FW_ENTRY(BRCM_CC_43341_CHIP_ID, 0xFFFFFFFF, 43340),
BRCMF_FW_ENTRY(BRCM_CC_4335_CHIP_ID, 0xFFFFFFFF, 4335),
BRCMF_FW_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362),
BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFE, 43430A1),
BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0x00000200, 43456),
BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0xFFFFFDC0, 43455),
BRCMF_FW_ENTRY(BRCM_CC_4354_CHIP_ID, 0xFFFFFFFF, 4354),
BRCMF_FW_ENTRY(BRCM_CC_4356_CHIP_ID, 0xFFFFFFFF, 4356),
BRCMF_FW_ENTRY(BRCM_CC_4359_CHIP_ID, 0xFFFFFFFF, 4359),
BRCMF_FW_ENTRY(CY_CC_4373_CHIP_ID, 0xFFFFFFFF, 4373),
BRCMF_FW_ENTRY(CY_CC_43012_CHIP_ID, 0xFFFFFFFF, 43012)
};
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Mineronarrow,
I could not provide MFG FW for brcmfmac on iMX286 here.
Could you create MyCase technical support?
Then ask to provide MFG FW for brcmfmac on iMX286
I think there are more recent MFG FW release versions.
1. Please visit MyCases site below.
https://www.cypress.com/mycases
2.Please select MyCases
3.Please select Technical Support, then you can create new MyCases.
If your account does not has Technical Support,
please report it on following link.
https://www.cypress.com/webform/website-support
Br,
DS
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi DS_Lin,
The module supplier had replied me they have the MFG firmware already.
Now, the question is now on the backporting.
Thanks for the reply. I downloaded "cypress-backports-v5.4.18-2020_0925-module-src.tar" version.
In the sdio.c file, it does not have the chip "43438". Can you please suggest?
BRCMF_FW_DEF(43143, "brcmfmac43143-sdio");
BRCMF_FW_DEF(43241B0, "brcmfmac43241b0-sdio");
BRCMF_FW_DEF(43241B4, "brcmfmac43241b4-sdio");
BRCMF_FW_DEF(43241B5, "brcmfmac43241b5-sdio");
BRCMF_FW_DEF(4329, "brcmfmac4329-sdio");
BRCMF_FW_DEF(4330, "brcmfmac4330-sdio");
BRCMF_FW_DEF(4334, "brcmfmac4334-sdio");
CY_FW_DEF(43340, "cyfmac43340-sdio");
BRCMF_FW_DEF(4335, "brcmfmac4335-sdio");
CY_FW_DEF(43362, "cyfmac43362-sdio");
CY_FW_DEF(4339, "cyfmac4339-sdio");
BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio");
/* Note the names are not postfixed with a1 for backward compatibility */
CY_FW_DEF(43430A1, "cyfmac43430-sdio");
CY_FW_DEF(43455, "cyfmac43455-sdio");
BRCMF_FW_DEF(43456, "brcmfmac43456-sdio");
CY_FW_DEF(4354, "cyfmac4354-sdio");
CY_FW_DEF(4356, "cyfmac4356-sdio");
CY_FW_DEF(4359, "cyfmac4359-sdio");
CY_FW_DEF(4373, "cyfmac4373-sdio");
CY_FW_DEF(43012, "cyfmac43012-sdio");
static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
BRCMF_FW_ENTRY(BRCM_CC_43143_CHIP_ID, 0xFFFFFFFF, 43143),
BRCMF_FW_ENTRY(BRCM_CC_43241_CHIP_ID, 0x0000001F, 43241B0),
BRCMF_FW_ENTRY(BRCM_CC_43241_CHIP_ID, 0x00000020, 43241B4),
BRCMF_FW_ENTRY(BRCM_CC_43241_CHIP_ID, 0xFFFFFFC0, 43241B5),
BRCMF_FW_ENTRY(BRCM_CC_4329_CHIP_ID, 0xFFFFFFFF, 4329),
BRCMF_FW_ENTRY(BRCM_CC_4330_CHIP_ID, 0xFFFFFFFF, 4330),
BRCMF_FW_ENTRY(BRCM_CC_4334_CHIP_ID, 0xFFFFFFFF, 4334),
BRCMF_FW_ENTRY(BRCM_CC_43340_CHIP_ID, 0xFFFFFFFF, 43340),
BRCMF_FW_ENTRY(BRCM_CC_43341_CHIP_ID, 0xFFFFFFFF, 43340),
BRCMF_FW_ENTRY(BRCM_CC_4335_CHIP_ID, 0xFFFFFFFF, 4335),
BRCMF_FW_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362),
BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339),
BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0),
BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFE, 43430A1),
BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0x00000200, 43456),
BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0xFFFFFDC0, 43455),
BRCMF_FW_ENTRY(BRCM_CC_4354_CHIP_ID, 0xFFFFFFFF, 4354),
BRCMF_FW_ENTRY(BRCM_CC_4356_CHIP_ID, 0xFFFFFFFF, 4356),
BRCMF_FW_ENTRY(BRCM_CC_4359_CHIP_ID, 0xFFFFFFFF, 4359),
BRCMF_FW_ENTRY(CY_CC_4373_CHIP_ID, 0xFFFFFFFF, 4373),
BRCMF_FW_ENTRY(CY_CC_43012_CHIP_ID, 0xFFFFFFFF, 43012)
};
I will submit a case in my case tech support as well.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi ErZo,
You can try add the following into sdio.c and rename mfg fw cyfmac43438-sdio
CY_FW_DEF(43438, "cyfmac43438-sdio");
static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = {
..
BRCMF_FW_ENTRY(CY_CC_43438_CHIP_ID, 0xFFFFFFFF, 43438)
..
};
Br,
DS
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi ErZo,
Do you have create a support request according to the precise instructions
How add the chip "43438" into sdio.c
I try add 4348 chip sdio.c have error
cypress-fmac-v5.4.18-2021_0114/cypress-backports-v5.4.18-2021_0114-module-src/v5.4.18-backports/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c:663:24: error: ‘CY_CC_43438_CHIP_ID’ undeclared here (not in a function); did you mean ‘CY_CC_4373_CHIP_ID’?
BRCMF_FW_ENTRY(CY_CC_43438_CHIP_ID, 0xFFFFFFFF, 43438)
^
cypress-fmac-v5.4.18-2021_0114/cypress-backports-v5.4.18-2021_0114-module-src/v5.4.18-backports/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h:43:4: note: in definition of macro ‘BRCMF_FW_ENTRY’
{ chipid, mask, BRCM_ ## name ## _FIRMWARE_BASENAME }
So I think it was not define CY43438 watermark expressed in number of words //sdio.c :142
Br,
DS
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi DS_Lin,
Thanks for the follow up. I am submitting the case now.
Thanks,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Mineronarrow,
You're welcome, if you get a solution, I hope you can share it with everyone .
Thank you for submitting the case.
Br,
DS
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi DS_Lin,
I got reply from my case already. I will let the developer to try and make sure it works first before posting it here.
Thanks for your advice.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
😁😁😁😁😁
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello:
For how to compile the fmac backport driver, we have a README file along with the release .
#### Build the cypress driver/backports modules
```bash
#1. Untar the Cypress backports package
tar zxvf cypress-backports-*.tar.gz
cd v4.12-backports
#2. (Native) compile local tools and generate .config (in a new terminal
# without sourcing Yoctol toolchain settings)
bash
MY_KERNEL=<the 4.1.15 kernel path>
make KLIB=$MY_KERNEL KLIB_BUILD=$MY_KERNEL defconfig-brcmfmac
#3. (Cross) compile kernel modules
source /opt/poky/1.8/environment-setup-cortexa7hf-vfp-neon-poky-linux-gnueabi
make KLIB=$MY_KERNEL KLIB_BUILD=$MY_KERNEL modules
#4. The kernel modules are available here
# compat/compat.ko
# net/wireless/cfg80211.ko
# drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko
# drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko