Comment 11 for bug 2013027

Revision history for this message
Sergio Callegari (callegar) wrote (last edit ):

I have diagnosed the problem as follows.

My broadcom 43455 adapter needs:

1. a different brcmfmac43455-sdio.txt file from the one supplied in ubuntu, which is a cypress provided version.

2. a different brcmfmac43455-sdio.bin file from the one supplied in ubuntu, that again is a cypress provided version

3. a different brcmfmac43455-sdio.clm_blob file from the one supplied in ubuntu

Now, 1 and 2 are no issue: I can supply the files needed by my hardware and put them side to side to the ubuntu supplied ones. This is because the system will seek `brcmfmac43455-sdio.AZW-Z83 II.{txt, bin} first.
Incidentally, the txt file can be easily taken from the nvram of my system, while the bin file is the one that is supplied in armbian, libreelec etc, that for some reason is not the same as the cypress one found in ubuntu.

The real problem is 3. And this is because without the file made for my hardware, the wifi will work in the 2.4 GHz band, but not in the 5GHz band. However the file name for this does not appear to be adapted to my system. Namely, if I put a 'brcmfmac43455-sdio.AZW-Z83 II.clm_blob' file side to side to 'brcmfmac43455-sdio.clm_blob' the former will be ignored.

This makes it impossible to place board specific brcm files *side to side* the those currently specified by the distro (unless I miss something). If this is the case, then there are two possible workarounds:

1. Make a local diversion for the clm_blob file or build a deb file with it
2. Use the brcmfmac module option `alternative_fw_path` to specify and alternative firmware path for my brcm hardware and put my bin, txt and clm_blob files there

However, I really tend to think that these are just ugly workarounds for what is ultimately an issue with the brcmfmac kernel module. If the module can determine that for my board the filename should be `brcmfmac43455-sdio.AZW-Z83 II.{txt,bin}` for the txt and bin pieces of the firmware, then why cannot it look at `brcmfmac43455-sdio.AZW-Z83 II.clm_blob` before falling back to `brcmfmac43455-sdio.clm_blob`? That would make it easy to put different firmwares in the the brcm firmware directory side by side and make the framework that is already there for the txt and bin files actually useful.

Please consider reopening the issue, passing it to the brcmfmac maintainers.