113

I am getting these warnings every time I update my initramfs image(-s) with update-initramfs on my Dell PowerEdge T20 server running GNU/Linux Debian Buster 10.0. Is there a fix?


W: Possible missing firmware /lib/firmware/i915/bxt_dmc_ver1_07.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_dmc_ver1_27.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_04.bin for module i915
W: Possible missing firmware /lib/firmware/i915/cnl_dmc_ver1_07.bin for module i915
W: Possible missing firmware /lib/firmware/i915/glk_dmc_ver1_04.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_39.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver9_29.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_guc_ver9_33.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_huc_ver02_00_1810.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_huc_ver01_07_1398.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_huc_ver01_07_1398.bin for module i915
2
  • 5
    Those messages are generated as update-initramfs looks at the modinfo <module> output to identify the firmware requirements of each module it's including. Normally, the appropriate firmware package like firmware-linuxwill fix them; but if using a backported or custom kernel, you might need a newer version of some firmware than is available in the distribution's firmware packages. If that's the case, go to the linux-firmware Git repository and find the version you need in there.
    – telcoM
    May 10, 2020 at 14:36
  • 9
    The GPU drivers like i915 or nouveau support many versions of the respective GPUs, and so they have no choice but to list in their modinfo data the firmware files for every possible chip version they support that needs firmware. But you actually only need just the firmware versions that correspond to the hardware your system has.
    – telcoM
    May 10, 2020 at 14:47

5 Answers 5

136

For a general solution, apt-file is your way to solve the Possible missing firmware... warning. E.g.:

apt-file search bxt_dmc

firmware-misc-nonfree: /lib/firmware/i915/bxt_dmc_ver1.bin
firmware-misc-nonfree: /lib/firmware/i915/bxt_dmc_ver1_07.bin

Showing that the package firmware-misc-nonfree provides the missing firmware.

Installing the firmware-linux package solves the problem because firmware-linux depends on firmware-linux-nonfree which depends on firmware-misc-nonfree.


Detailed instructions:

For Debian 10, add non-free to your /etc/apt/sources.list:

deb http://deb.debian.org/debian buster main contrib non-free
deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free 
deb http://deb.debian.org/debian buster-updates main contrib non-free 

For Debian 12, add non-free-firmware to your /etc/apt/sources.list as instructed:

deb http://deb.debian.org/debian bookworm main non-free-firmware
deb http://deb.debian.org/debian-security/ bookworm-security main non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main non-free-firmware 

Note: the non-free repo is irrelevant for such packages, keep it if it's already there.

Install apt-file:

sudo apt update
sudo apt install apt-file
sudo apt-file update

Debian: apt-file

7
  • 29
    Thank you for teaching people to fish rather than giving them fishsticks.
    – dragon788
    Dec 24, 2020 at 0:38
  • 1
    You can also use dpkg-search -S i915/bx_dmc to locate them, if you already have that installed.
    – Anders
    Feb 24, 2022 at 4:23
  • Another way to "Add non-free to your /etc/apt/sources.list" - use: sudo apt edit-sources
    – qxotk
    Sep 14, 2022 at 18:34
  • 1
    @Scott Please ask a new question, because this appears not to belong here directly. Jan 9, 2023 at 9:37
  • 1
    @VlastimilBurián how so? I get the messages on my system, but the errors in the message all refer to firmware for devices that don't match the one I have in my machine. Do I need to worry about these messages or not?
    – Scott
    Jan 19, 2023 at 16:06
32

You may download them from here and copy downloaded files to /lib/firmware/i915/, then update-initramfs -u -k all.

(then sudo apt-get update -y)

2
  • 1
    It is probably better to install the proper package, as some other sollutions have pointed out. Best is to actually search for the package that owns the files. That can be done with apt-file search or dpkg-search -S and add part of the filename, like i915/bxc_dcm which is mentioned in the logs.
    – Anders
    Feb 24, 2022 at 4:27
  • @Anders , probably yes but I myself have the linux-firware installed and the file I need adlp_dmc.bin is nowhere to be found on my system. I had to download the file manually as @Dr.Eissa suggested to fix my issue. Thanks @Dr.Eissa!
    – Ruben
    Sep 14, 2023 at 2:00
31

It appears the answer was the whole time in front of my eyes.

I have finally found the right package: firmware-linux, which installs most of the missing firmware. Install it with:

Debian and derivatives:

sudo apt-get install firmware-linux

Ubuntu and derivatives:

sudo apt-get install linux-firmware

Those warnings might be gone afterward. And if not, there is AFAIK no package to solve it, therefore you may have to download and install separate firmware files as in the other answer.


On my machine with Linux Mint 21, these files when unpacked, take up around 1GB of disk space, so it is a huge package, be aware of that:

$ du -sh /lib/firmware/
921M    /lib/firmware/
4
  • And a more general solution is to use apt-file search or dpkg-search -S to locate those packages that own those firmware files.
    – Anders
    Feb 24, 2022 at 4:24
  • 1
    @Anders This requires having apt-file installed and prepared/updated. Jan 9, 2023 at 7:28
  • Yes, it does. Like apt install apt-file. Stil, dpkg-search -S I believe doesn't need that.
    – Anders
    Jan 25, 2023 at 21:44
  • For anyone using Ubuntu, installing linux-firmware but still having the same warnings of missing firmware, this post helped me solving it.
    – Leon
    Dec 27, 2023 at 15:18
0

all you need firmwares is easy to download directly from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/refs/

1
  • You do not say what happens after kernel update/upgrade! Jan 9, 2023 at 8:57
0

Your Mileage Might Vary, but 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 necessary 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:

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .