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

Re: Bug#1029843: live-boot: Devices Requiring Firmware: multiple requested files in single line overlapping / special characters


James Addison <jay@jp-hosting.net> (2023-05-03):
> I think that the vendor name is coming from a DMI fallback:
> https://sources.debian.org/src/linux/6.1.25-1/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c/?hl=487#L487

I smiled. :)

The (still quick) glance I had earlier stopped when I reached “DMI”
which I wasn't sure was valid for ARM devices. :)

> Whether the model name is from DMI or from the DTS file's 'model'
> field is less clear to me:
> https://sources.debian.org/src/linux/6.1.25-1/arch/arm/boot/dts/bcm2711-rpi-400.dts/#L7
> I'll try to rebuild the kernel module and test some changes 'soon'
> (within the next few days, most likely).

I'm not sure how many things rely on this particular model field in the
DT (and how badly it could break the boot sequence among other things),
but it might be much quicker for you to confirm whether the DTB is
relevant, before thinking about patching the module, and figuring out
whether that involves vmlinuz, the initramfs, etc.

In a linux tree (maybe prepared from the src:linux git tree, cf. kernel
handbook for details), with a proper .config in place (e.g. copied from
your /boot):

    # you might need some linux build-deps, but that one is for
    # crossbuilding from another arch:
    sudo apt-get install gcc-aarch64-linux-gnu
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- dtbs

Then make your change in the DTS, re-run, you should see only a single
file get updated, deploy it in /boot/firmware, profit (hopefully).

(Beware of the raspi-firmware hook, that will redeploy DTBs from the
linux-image packages when you least expect it; but that becomes an ally
to scratch your local test files and restore the packaged ones once you
keep its existence in mind.)

Another way can be to use device-tree-compiler's dtc to turn the DTB
into a DTS, run sed, then run dtc again to get an updated DTB from the
updated DTS.

> Also, to clarify an error/thinko in my previous message: the style of
> filename we agreed to map to, and that both linux-firmware.git and the
> RPi operating system distro[1] use, is
> "brcmfmac43456-sdio.raspberrypi,400.txt" (not the short-format
> "brcmfmac43455-sdio.txt" that I mentioned).  We should include
> specificity for vendor and model in the filename, all lowercased, and
> without spaces.

I didn't comment on that part in my previous reply but that definitely
looks better (or at least what I'd naïvely expect to be needed, i.e.
supporting possible per-model settings).

> The RPi 400 model firmware files are not yet represented in
> linux-firmware.git, although they do appear in the RPi operating
> system distro.

So many things that are there and only there…

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

Attachment: signature.asc
Description: PGP signature

Reply to: