Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Re: Trying to understand firmware for bwfm driver



Are you using this?  https://pkgsrc.se/sysutils/bcmfw

Sent from Proton Mail Android


-------- Original Message --------
On 6/11/24 12:57 PM,  <mlelstv%serpens.de@localhost> wrote:

>  joelp%sdf.org@localhost (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.
>  
>  
>


Home | Main Index | Thread Index | Old Index