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

Bug#1030636: Debian Installer complains about missing firmware in ath10k, even when using image with firmware included



Hi Cyril,

> That's not what it does. It is there to determine whether it's a bad
> idea to reload a module. That's quite a different story… And no, between
> two mainloop iterations, that part wouldn't change anyway.

indeed.
I thought the device would be configured after upnics at the beginning or reloading the module + upnics.
sorry for the inconvenience :)

> If we maintain a module/file mapping, we could:
>  - decide which modules need to be reloaded, instead of iterating on all
>    of them (that's part of the reason why I had this idea in mind in the
>    first place, looking around how to “reload dance” was implemented:
>    walking through all modules unconditionally);
>  - decide that a module is “good to go” as soon as it's been reloaded
>    once, i.e. some of the files it requested have been found.

The needed files for my WiFi module BCM43340 / CYW43340 / AP6234 are basically a worst case scenario:
brcmfmac43340-sdio.bin -> required firmware file
(reload)
brcmfmac43340-sdio.txt -> required NVRAM file
(reload)
brcmfmac43340-sdio.clm_blob -> optional and not available for 43340

Depending on the Kernel version the brcmfmac module requests each file first as
brcmfmac43340-sdio.[ManufacturerName]-[ProductName].bin / .txt / .clm_blob
and then as fallback:
brcmfmac43340-sdio.bin / .txt / .clm_blob
-> Debian 11.6: only .txt in [ManufacturerName]-[ProductName] format
-> Debian 12: all three files in [ManufacturerName]-[ProductName] format

My manufacturer was kinda lazy and left the ManufacturerName in BIOS as "To be filled by O.E.M"
-> brcmfmac43340-sdio.To be filled by O.E.M.-Z83.bin
(this is where the spaces came from)

There will be some more prominent devices like the Raspberry Pi 3A / 3B / 4B / M2 / M3 affected with the new Debian version,
here's the file list of the firmware-brcm80211 package:
https://packages.debian.org/bullseye/all/firmware-brcm80211/filelist

I guess it's best to keep the reload dance.


Am Mo., 6. Feb. 2023 um 10:38 Uhr schrieb Cyril Brulebois <kibi@debian.org>:
Alexander Dalm <a.dalm2807@googlemail.com> (2023-02-06):
> But there is actually a function nic_is_configured() that is used to
> determine if the module has to be removed and reloaded after files are
> installed.

That's not what it does. It is there to determine whether it's a bad
idea to reload a module. That's quite a different story… And no, between
two mainloop iterations, that part wouldn't change anyway.

> This function technically could be used before asking, so either:
> a) optional files wouln't be displayed at all
> b) optional files would be marked as optional
> c) all files should be displayed regardless
>
> I think Cyril will step in to answer this question ;)

See other reply.


Cheers,
--
Cyril Brulebois (kibi@debian.org)            <https://debamax.com/>
D-I release manager -- Release team member -- Freelance Consultant

Reply to: