尽管安装了固件,但可能缺少固件

尽管安装了固件,但可能缺少固件

尽管已安装固件(在 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

我遵循了这个解决方案模块 i915 可能缺少固件 /lib/firmware/i915/*

apt-file searchfirmware-misc-nonfree对于上面缺少的所有行来说:

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

所以我安装了 firmware-linuxfirmware-linux-nonfree它们firmware-misc-nonfree确实丢失了。但安装后,这些消息并没有消失。

我在这里缺少什么?

答案1

固件仍然丢失,因为您安装的软件包的当前版本没有提供您的内核正在寻找的固件。例如,您的内核需要skl_guc_69.0.3.bin,但固件包只有最高版本skl_guc_62.0.0.bin

这意味着Bookworm中的固件包对于当前的Bookworm内核来说太旧了;这种情况有时会发生在 Debian 下一个版本的开发过程中。

最好的方法是在 上提交错误firmware-misc-nonfree,要求更新,包括您丢失的文件。考虑一下“交易”的这一部分,因为您正在运行 Debian 测试 — 您正在帮助 Debian 解决下一个版本中的问题(感谢您这样做!)。跑步

reportbug firmware-misc-nonfree

并按照提示操作。 (有人有已经做了这个,感谢 Artem S. Tashkinov 发现了这一点。)

在固件包更新之前,您还可以从上游存储库安装缺少的固件

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

还要注意,“缺少固件”消息涵盖了系统上加载的内核模块可以使用的所有可能的文件;它们不限于您的系统实际需要的文件。如果您的系统工作正常,那么您可以忽略它们。如果固件你需要如果确实缺失,您将在内核日志 ( ) 中看到“i915/skl_guc_69.0.3.bin 的直接固件加载失败,错误 -2”形式的错误sudo dmesg

答案2

错误报告已经存在:https://www.mail-archive.com/[电子邮件受保护]/msg1860784.html

要解决该问题,您可以:git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git以及sudo cp必要的文件。

答案3

更新后我收到这些“缺少固件/lib/firmware/i915/...file”消息。我的系统甚至没有 /lib/firmware/i915 目录。而且一切操作看起来都很正常。

我不顾一切地进行了最近的完整备份,决定尝试创建 update-initramfs 进程所抱怨的虚假空文件。我将其错误消息复制到一个临时文件(例如mytempfile,使用我的文本编辑器之一(例如 vi、mcedit、sed 等)更改了行,例如 W: Possible missing firmware /lib/firmware/i915/bxt_dmc_ver1_07.bin for module i915

sudo touch /lib/firmware/i915/bxt_dmc_ver1_07.bin对于每个出错的 .bin 文件。

然后我创建了必要的目录:

sudo mkdir /lib/firmware/i915

并获取我的临时文件:source mytempfile

并生成了一个新的intramfs:sudo update-initramfs -u

并没有观察到更多有关丢失 i915 .bin 文件的错误消息。

测试重新启动,一切正常。

一些警告:

  1. 有备份。
  2. 仅在完全更新系统后才执行此操作
  3. 确认您没有任何可能干扰的问题。
  4. 这对我有用。 YMMV。而且这个解决方法可能没有得到 poobahs 的“认可”。

(交叉发布是因为我讨厌看到问题的回答只包含另一个帖子中答案的链接......)

相关内容