Stack Exchange
Possible missing firmware although firmware is installed
I get missing firmware messages although firmware is installed (on Debian bookworm).
sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.18.0-2-amd64
W: Possible missing firmware /lib/firmware/i915/skl_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/glk_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/cml_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/icl_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/ehl_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/ehl_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/tgl_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/tgl_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/dg1_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/tgl_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/adlp_guc_69.0.3.bin for module i915
W: Possible missing firmware /lib/firmware/i915/adlp_dmc_ver2_14.bin for module i915

I followed this solution Possible missing firmware /lib/firmware/i915/* for module i915
apt-file search says for all lines above that firmware-misc-nonfree is missing:
apt-file search tgl_guc
apt-file search  skl_guc
apt-file search  bxt_guc
apt-file search  kbl_guc
apt-file search  glk_guc
apt-file search  kbl_guc
apt-file search  kbl_guc
apt-file search  cml_guc
apt-file search  icl_guc
apt-file search  ehl_guc
apt-file search  ehl_guc
apt-file search  tgl_guc
apt-file search  tgl_guc
apt-file search  dg1_guc
apt-file search  tgl_guc
apt-file search  adlp_guc
apt-file search  adlp_dmc_ver2_14.bin
firmware-misc-nonfree: /lib/firmware/i915/skl_guc_32.0.3.bin
firmware-misc-nonfree: /lib/firmware/i915/skl_guc_33.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/skl_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/skl_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/skl_guc_ver1.bin
firmware-misc-nonfree: /lib/firmware/i915/skl_guc_ver4.bin
firmware-misc-nonfree: /lib/firmware/i915/skl_guc_ver6.bin
firmware-misc-nonfree: /lib/firmware/i915/skl_guc_ver6_1.bin
firmware-misc-nonfree: /lib/firmware/i915/skl_guc_ver9_33.bin
firmware-misc-nonfree: /lib/firmware/i915/bxt_guc_32.0.3.bin
firmware-misc-nonfree: /lib/firmware/i915/bxt_guc_33.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/bxt_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/bxt_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/bxt_guc_ver8_7.bin
firmware-misc-nonfree: /lib/firmware/i915/bxt_guc_ver9_29.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_32.0.3.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_33.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_ver9_14.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_ver9_39.bin
firmware-misc-nonfree: /lib/firmware/i915/glk_guc_32.0.3.bin
firmware-misc-nonfree: /lib/firmware/i915/glk_guc_33.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/glk_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/glk_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_32.0.3.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_33.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_ver9_14.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_ver9_39.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_32.0.3.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_33.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_ver9_14.bin
firmware-misc-nonfree: /lib/firmware/i915/kbl_guc_ver9_39.bin
firmware-misc-nonfree: /lib/firmware/i915/cml_guc_33.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/cml_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/cml_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/icl_guc_32.0.3.bin
firmware-misc-nonfree: /lib/firmware/i915/icl_guc_33.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/icl_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/icl_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/ehl_guc_33.0.4.bin
firmware-misc-nonfree: /lib/firmware/i915/ehl_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/ehl_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/ehl_guc_33.0.4.bin
firmware-misc-nonfree: /lib/firmware/i915/ehl_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/ehl_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/tgl_guc_35.2.0.bin
firmware-misc-nonfree: /lib/firmware/i915/tgl_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/tgl_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/tgl_guc_35.2.0.bin
firmware-misc-nonfree: /lib/firmware/i915/tgl_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/tgl_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/dg1_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/dg1_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/tgl_guc_35.2.0.bin
firmware-misc-nonfree: /lib/firmware/i915/tgl_guc_49.0.1.bin
firmware-misc-nonfree: /lib/firmware/i915/tgl_guc_62.0.0.bin
firmware-misc-nonfree: /lib/firmware/i915/adlp_guc_62.0.3.bin

So I installed  firmware-linux, firmware-linux-nonfreeand firmware-misc-nonfree they were indeed missing. But after installing them, the messages does not go away.
What am I missing here?

The firmware is still missing because the current versions of the packages you installed don’t ship the firmware your kernel is looking for. For example, your kernel wants skl_guc_69.0.3.bin but the firmware packages only have versions up to skl_guc_62.0.0.bin.
This means that the firmware package in Bookworm is too old for the current Bookworm kernel; this sometimes happens during the development of the next release of Debian.
The best approach here is to file a bug on firmware-misc-nonfree, asking for an update including the files you’re missing. Consider this part of the “deal” since you’re running Debian testing — you’re helping Debian iron out the kinks in the next release (and thank you for doing so!). Run
reportbug firmware-misc-nonfree

and follow the prompts. (Someone has already done this, thanks Artem S. Tashkinov for finding this.)
Until the firmware packages are updated, you can also install the missing firmware from the upstream repository:
mkdir firmware
cd firmware
wget -r -nd -e robots=no -A '*.bin' --accept-regex '/plain/' https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915/
sudo mv *.bin /lib/firmware/i915/
sudo update-initramfs -c -k all

Note too that the “missing firmware” messages cover all possible files that the kernel modules loaded on your system can use; they’re not limited to the files your system actually needs. If your system is working fine then you can ignore them. If firmware you need is really missing, you’ll see errors of the form “Direct firmware load for i915/skl_guc_69.0.3.bin failed with error -2” in the kernel logs (sudo dmesg).

Finally an answer that actually works...

A bug report already exists: https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1860784.html
To resolve the issue you could: git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git and sudo cp the necessary files.

Mh, so it's time for Fedora maybe.

Fedora is excellent but requires a little bit more maintenance: new releases come every 9 months or so. But I've done in-place upgrades for over two decades now (starting with RedHat - yeah, that's a distro from the 90s) and everything works beautifully. Never needed to reinstall it even once. Regressions in Fedora however are inevitable but they are normally fixed quite fast.

I was getting these "missing firmware /lib/firmware/i915/...file" messages after an update.  My system didn't even have a /lib/firmware/i915 directory.  And all operations seemed normal.
Throwing caution to the winds and having a recent full backup I decided I'd try creating bogus null files that the update-initramfs process was complaining about.  I copied its error messages to a temporary file (e.g. mytempfile and using one of my text editors (think vi, mcedit, sed, etc.)
changed the lines from e.g.
W: Possible missing firmware /lib/firmware/i915/bxt_dmc_ver1_07.bin for module i915
to
sudo touch /lib/firmware/i915/bxt_dmc_ver1_07.bin for each erroring .bin file.
I then created the neccessary directory:
sudo mkdir /lib/firmware/i915
And sourced my tempory file: source mytempfile
And generated a new intramfs: sudo update-initramfs -u
And observed no more error messages about missing i915 .bin files.
A test reboot and everything came up OK.
Some words of caution:

Have a backup.
Only do this once you have fully updated your system
Verify you don't have any problems which may interfere.
This worked for me.  YMMV.  And this workaround is probably not 'approved' by the poobahs.

(Cross-posted because I hate seeing questions answered with only a link to an answer in a different post...)
