Re: Re: Trying to understand firmware for bwfm driver
Matthew Widup <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.arm |
|---|---|
| Message-ID | <dRnswOhUXoCFjdXZVmKRKW2y_EancloS3Fwm9nWT2Q_hrAJ285dbumJOUEdiMMASurClAi7OLRkiMB_jQEyGXVpKXAcWd18ZQYnB9lYHhkg=@proton.me> |
Are you using this? https://pkgsrc.se/sysutils/bcmfw Sent from Proton Mail Android -------- Original Message -------- On 6/11/24 12:57 PM, <[email protected]> wrote: > [email protected] (Joel) writes: > > >[ 7.050526] kern.module.path=/stand/evbarm/10.0/modules > >[ 7.050526] bwfm0: Firmware file default: brcmfmac43455-sdio.bin > >[ 7.050526] bwfm0: Firmware file model-spec: brcmfmac43455-sdio.pine64,pinebook-pro.bin > >[ 7.060526] bwfm0: Found Firmware file: brcmfmac43455-sdio.bin > > > >[ 7.080526] bwfm0: NVRAM file default: brcmfmac43455-sdio.txt > >[ 7.080526] bwfm0: NVRAM file model-spec: brcmfmac43455-sdio.pine64,pinebook-pro.txt > >[ 7.080526] bwfm0: autoconfiguration error: NVRAM file not available > > > >[ 7.080526] bwfm0: CLM file default: brcmfmac43455-sdio.clm_blob > >[ 7.080526] bwfm0: CLM file model-spec: brcmfmac43455-sdio.pine64,pinebook-pro.clm_blob > > > Firmware selection works like this: > > You need 2 (.bin, .txt) or 3 files (.bin, .txt, .clm_blob). > > The wifi chip is identified as a 43455 and your system model > identifies itself as pine64,pinebook-pro. The driver will therefore > try to load > > brcmfmac{chip}-sdio.{model}.bin > brcmfmac{chip}-sdio.{model}.txt > brcmfmac{chip}-sdio.{model}.clm_blob > > and falls back to > > brcmfmac{chip}-sdio.bin > brcmfmac{chip}-sdio.txt > brcmfmac{chip}-sdio.clm_blob > > You always need the .bin (firmware) and .txt (board-specific parameter) > files. > > Some .bin files also require the .clm_blob (Country Locale Matrix), > others have the data already embedded. All of the release files should > have the data embedded, but files from other sources may not, and then > the interface will not work without the .clm_blob file. > > Most but not all chips that identify themselves as e.g. 43455 take the > same firmware. So it's usually fine to use one brcmfmac43455-sdio.bin > for each such chip. Some chips are different, then providing a model > specific file can help. > > The parameter file (also called NVRAM file) is more specific, but > to some degree they also all work. However, some might tune the chip > to e.g. a specific antenna so that, with the wrong parameters, you may > violate regulations or get receive errors. > > > The driver uses two steps to identify a chip: > > 1. By vendor and product to decide if the driver attaches: > > Vendor 0x02d0 Product 0xa9bf is seen as 43455 > > the Wifi chip in an RPI4 reports 0x02d0/0xa9a6, the chip is > identified as a bcm43430, which is good enough to attach. > > > 2. By id and revision to select the firmware: > > Id 0x4345 rev <= 8 is seen as 43455 > Id 0x4345 rev 9 is seen as 43456 > Id 0x4345 rev >= 10 is again seen as 43455 > > the Wifi chip in the RPI4 here reports id 0x4345 rev 6, so the > driver loads the firmware for a 43455, first it looks for rpi4 > specific files, then for generic files as described above. > > > https://forum.pine64.org/showthread.php?tid=16456 says that at > least some pinebooks come with a 43456 (id 0x4345 rev 9), but > yours apparently doesn't since 0x4345/9 would be identified > as 43456 by our driver. > > >