107

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
Vlastimil Burián
  • 27,586
  • 56
  • 179
  • 309
  • 4
    Those messages are generated as `update-initramfs` looks at the `modinfo ` output to identify the firmware requirements of each module it's including. Normally, the appropriate firmware package like `firmware-linux`will 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](https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/) and find the version you need in there. – telcoM May 10 '20 at 14:36
  • 8
    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 '20 at 14:47

5 Answers5

131

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:

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

Install apt-file:

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

Debian: apt-file

Toby Speight
  • 8,460
  • 3
  • 26
  • 50
GAD3R
  • 63,407
  • 31
  • 131
  • 192
  • 27
    Thank you for teaching people to fish rather than giving them fishsticks. – dragon788 Dec 24 '20 at 00:38
  • 1
    You can also use `dpkg-search -S i915/bx_dmc` to locate them, if you already have that installed. – Anders Feb 24 '22 at 04:23
  • Another way to "Add non-free to your /etc/apt/sources.list" - use: `sudo apt edit-sources` – qxotk Sep 14 '22 at 18:34
  • do you have to worry about it if your model is not included in the list of the missing? – Scott Dec 02 '22 at 17:09
  • 1
    @Scott Please ask a new question, because this appears not to belong here directly. – Vlastimil Burián Jan 09 '23 at 09: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 '23 at 16:06
30

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/
Vlastimil Burián
  • 27,586
  • 56
  • 179
  • 309
28

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)

Kusalananda
  • 320,670
  • 36
  • 633
  • 936
Dr.Eissa
  • 397
  • 3
  • 4
  • 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 '22 at 04:27
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/

Alex
  • 356
  • 3
  • 10
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.
user83536
  • 15
  • 4