it-swarm.com.de

"W: Möglicherweise fehlende Firmware für Modul i915_bpo" beim Aktualisieren von initramfs

Wenn ich auf meinem 16.04 ein Kernel- oder NVIDIA-Treiberupdate ausführe, löst dies eine initramfs-Neuerstellung aus, die die folgende Warnung ausgibt:

Processing triggers for initramfs-tools (0.122ubuntu8.1) ...
update-initramfs: Generating /boot/initrd.img-4.4.0-34-generic
W: Possible missing firmware /lib/firmware/i915/skl_guc_ver6.bin for module i915_bpo

Ich habe ein Notebook mit zwei Grafikchips, einer NVIDIA GeForce 940M und der integrierten Grafik des Intel i5-6200U.

Das verwendete Gerät ist meine NVIDIA-Karte:

$ inxi -G
Graphics:  Card-1: Intel Sky Lake Integrated Graphics
           Card-2: NVIDIA GM108M [GeForce 940M]
           Display Server: X.Org 1.18.3 driver: nvidia Resolution: [email protected]
           GLX Renderer: GeForce 940M/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 367.35

Hier ist die Ausgabe von lshw -c video, die meinem Intel-Grafikchip entspricht, der diesen Treiber verwenden sollte:

    *-display         
         description: VGA compatible controller
         product: Sky Lake Integrated Graphics
         vendor: Intel Corporation
         physical id: 2
         bus info: [email protected]:00:02.0
         version: 07
         width: 64 bits
         clock: 33MHz
         capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
         configuration: driver=i915_bpo latency=0
         resources: irq:125 memory:a2000000-a2ffffff memory:b0000000-bfffffff ioport:5000(size=64)

Die Datei in der Warnung existiert nicht, nur diese:

$ ll /lib/firmware/i915/
total 336
drwxr-xr-x  2 root root   4096 Aug 11 13:24 ./
drwxr-xr-x 74 root root  32768 Aug 11 13:24 ../
-rw-r--r--  1 root root   5872 Jul 21 17:03 bxt_dmc_ver1_04.bin
-rw-r--r--  1 root root   5872 Jul 21 17:03 bxt_dmc_ver1_05.bin
-rw-r--r--  1 root root   8380 Jul 21 17:03 bxt_dmc_ver1_06.bin
-rw-r--r--  1 root root   8380 Jul 21 17:05 bxt_dmc_ver1_07.bin
lrwxrwxrwx  1 root root     19 Jul 21 17:05 bxt_dmc_ver1.bin -> bxt_dmc_ver1_07.bin
-rw-r--r--  1 root root   8824 Jul 21 17:03 skl_dmc_ver1_23.bin
-rw-r--r--  1 root root   8928 Jul 12 21:33 skl_dmc_ver1_26.bin
lrwxrwxrwx  1 root root     19 Jul 12 21:33 skl_dmc_ver1.bin -> skl_dmc_ver1_26.bin
-rw-r--r--  1 root root 109636 Jul 21 17:03 skl_guc_ver1_1059.bin
lrwxrwxrwx  1 root root     21 Jul 21 17:03 skl_guc_ver1.bin -> skl_guc_ver1_1059.bin
-rw-r--r--  1 root root 128320 Jul 21 17:03 skl_guc_ver4_3.bin
lrwxrwxrwx  1 root root     18 Jul 21 17:03 skl_guc_ver4.bin -> skl_guc_ver4_3.bin

Das neueste Treiberpaket scheint jedoch installiert zu sein:

$ apt-cache policy xserver-xorg-video-intel
xserver-xorg-video-intel:
  Installed: 2:2.99.917+git20160325-1ubuntu1
  Candidate: 2:2.99.917+git20160325-1ubuntu1
  Version table:
 *** 2:2.99.917+git20160325-1ubuntu1 500
        500 http://ftp.uni-stuttgart.de/ubuntu xenial/main AMD64 Packages
        100 /var/lib/dpkg/status

Was bedeutet diese Warnung genau und wie kann ich sie beheben?

74
Byte Commander

Das Treiberpaket hinkt dem Kernel etwas hinterher. In meinem Fall spielt die fehlende Firmware keine Rolle, da ich keinen SkyLake-Prozessor habe, aber in Ihrem Fall ist dies möglicherweise von Bedeutung. Die neuere Firmware erhalten Sie von hier .

BEARBEITEN 1: Beachten Sie, dass der Link geändert wurde, aber die Leser in der Lage sein sollten, das zu finden, was sie in dem neuen Link benötigen, obwohl es manchmal schwierig sein kann, genau zu wissen, wonach Sie suchen.

BEARBEITEN 2: Diese Antwort sollte auf einige andere neue Firmware-Anforderungen zutreffen, die seit der ursprünglichen Erstellung dieser Antwort hinzugekommen sind. Zum Beispiel:

W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_01.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915

EDIT 3: Für Benutzer, die git verwenden, funktioniert diese Antwort auch gut.

61
Doug Smythies

20. Mai 2019 Aktualisierung

Um Ihre Frage zu beantworten, müssen Sie die Treiber für einen Prozessor, auf dem Sie nicht arbeiten, nicht aktualisieren, aber es ist schön zu sehen, dass die Warnungen dabei verschwinden.

Heute habe ich diese Warnung erhalten:

update-initramfs: Generating /boot/initrd.img-5.0.1-050001-generic
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/icl_dmc_ver1_07.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

Ich habe die Blobs heruntergeladen (beschrieben im nächsten Abschnitt) und dann verwendet:

$ Sudo cp ~/Downloads/*.bin /lib/firmware/i915/

$ Sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.0.1-050001-generic

Jetzt sind meine Sky Lake (skl) Treiber auf dem neuesten Stand und ich kann die neuesten im Internet empfohlenen Kernel-Parameter ausprobieren. Warnmeldungen für zukünftige Prozessoren Kaby Lake (kbl), Cannon Lake (cnl) und Ice Lake (icl) machen das Leben weniger stressig.


Update vom 26. Mai 2018

Kleinere Überarbeitung 6. August 2018.

Neuer Download-Bildschirm von "Blobs"

Kürzlich hat Intel ein neues Download-Seite und ein neues Webseiten-Layout erstellt:

Intel i915 firmware blobs

Die Download-Dateien heißen jetzt Firmware-Blobs , was für Firmware-Treiber neu ist. -). Es steht für B inary L arge OB ject (BLOB).

Treiber sind nach Prozessor sortiert:

  • bxt Broxton, 2016 eingestellt, Nachfolger der Cherry Trail-Prozessoren
  • kbl Kabylake, 7. Generation, z. B. i7-7700
  • skl Skylake, 6. Generation, z. B. i7-6700

Dann sind die Fahrer nach Untergruppen gegliedert (vollständige Erklärung hier ):

  • GUC - GuC dient zum Planen der Grafik-Workloads auf den verschiedenen Grafik-Parallel-Engines.
  • DMC - DMC bietet zusätzliche Grafik-Leerlaufzustände mit geringem Stromverbrauch.
  • HUC - Mit HuC können einige Medienfunktionen von der CPU auf die GPU verlagert werden.

Passen Sie die Fehlermeldung an den benötigten Treiber an

Vergleichen Sie die Fehlermeldung, die Sie von update-initramfs oder update-grub erhalten, um den fehlenden Treiber zu finden. In Ihrem Beispiel lautete die Meldung "/lib/firmware/i915/kbl_guc_ver9_14.bin", daher fehlt die Kabylake GuC mit dem Namen: kbl_guc_ver9_14.bin auf der oben gezeigten Webseite. Du willst nicht den neueren: kbl_guc_ver9_39.bin

Download Treiber benötigt

Es gibt kein Installationsskript mehr wie in früheren Versionen. Markieren Sie einfach den fehlenden Treiber (Blob) und klicken Sie darauf. Dieser Bildschirm erscheint:

Intel i915 drivers download.png

Anfangs sehen Sie nur den "Hex-Dump", aber nachdem Sie auf den Link mit dem Titel geklickt haben, wird das oben abgebildete Download-Fenster angezeigt.

Klicken Sie auf Datei speichern"

Treiber mit einfachem Sudo cp installieren (Kopierbefehl)

Nach dem Herunterladen ist die Installation ein einfacher Sudo cp (Kopierbefehl) und es gibt keine komplizierten tar Befehle oder ./script_name Installationsschritte.

Schnellinstallation

cd ~/Downloads
Sudo cp kbl_guc_ver9_14.bin /lib/firmware/i915
Sudo cp bxt_guc_ver8_7.bin /lib/firmware/i915

WICHTIG: Ersetzen Sie kbl_guc_ver9_14.bin und bxt_guc_ver8_7.bin durch die fehlenden Treibernamen, die Sie heruntergeladen haben.

VOILA! Es wurde ein neuer Treiber installiert. Viel einfacher als frühere Installationsmethoden für fehlende Intel i915-Treiber!

TL; DR Erkundungsinstallation

Ich hatte den Treiber bereits installiert. Diese langwierige Installationsmethode gibt Ihnen einen Überblick über Vorher-Nachher-Effekte beim Kopieren des -BLOBS:

$ Sudo updatedb
$ llocate kbl_guc_ver9_14.bin
ACCESS      OWNER  GROUP  SIZE    MODIFIED    NAME (updatdb last ran: 2018-05-26 12:07:57)
-rw-rw-r--  rick   rick   142656  2018-05-26  /home/rick/Downloads/kbl_guc_ver9_14.bin
-rw-rw-r--  rick   rick   142656  2017-02-24  /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin
-rw-r--r--  root   root   142656  2017-10-26  /lib/firmware/i915/kbl_guc_ver9_14.bin
$ diff /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin /lib/firmware/i915/kbl_guc_ver9_14.bin
# Blank line appears here signifying no differences from previous version
$ Sudo cp /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin /lib/firmware/i915
$ llocate kbl_guc_ver9_14.bin
ACCESS      OWNER  GROUP  SIZE    MODIFIED    NAME (updatdb last ran: 2018-05-26 12:07:57)
-rw-rw-r--  rick   rick   142656  2018-05-26  /home/rick/Downloads/kbl_guc_ver9_14.bin
-rw-rw-r--  rick   rick   142656  2017-02-24  /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin
-rw-r--r--  root   root   142656  2018-05-26  /lib/firmware/i915/kbl_guc_ver9_14.bin

Verwenden Sie den folgenden Befehl locate anstelle von llocate .


14. Februar 2017 - Intel hat Treiber veröffentlicht

Laut diesem Fehlerbericht von heute ( W: Möglicherweise fehlende Firmware /lib/firmware/i915/kbl_guc_ver9_14.bin für Modul i915 ) hat Intel das erforderliche Kabylake und Broxton Treiber auf ihren ( https://01.org/linuxgraphics/downloads/firmware =) Webseite:

Intel Graphics for Linux Drivers

Laden Sie die fehlenden Treiber für Kabylake ( GuC - Ver 9.14 ) und ( DMC - Ver 1.01 herunter ) und Broxton ( GuC - Ver 8.7 ). Diese sind im .tar.gz und .tar.bz2 Format.

Installieren Sie die Treiber im "tar" -Format

Obwohl Sie die Skripte install.sh ausführen können, sind diese Anweisungen am einfachsten.

Wechseln Sie in das Download-Verzeichnis und überprüfen Sie, ob Dateien vorhanden sind:

:~$ cd Downloads

:~/Downloads$ ll *tar*
-rw-rw-r-- 1 rick rick 69329 Feb 14 21:05 bxtgucver87.tar.gz
-rw-rw-r-- 1 rick rick  4338 Feb 14 21:06 kbldmcver101.tar.bz2
-rw-rw-r-- 1 rick rick 70402 Feb 14 21:06 kblgucver914.tar.gz

Extrahieren Sie die komprimierten TAR-Dateien:

:~/Downloads$ tar -zxvf bxtgucver87.tar.gz
firmware/bxt/guc/bxt_guc_ver8_7/
firmware/bxt/guc/bxt_guc_ver8_7/install.sh
firmware/bxt/guc/bxt_guc_ver8_7/ReleaseNotes.txt
firmware/bxt/guc/bxt_guc_ver8_7/bxt_guc_ver8_7.bin

:~/Downloads$ tar -xjvf kbldmcver101.tar.bz2
kbl_dmc_ver1_01/
kbl_dmc_ver1_01/kbl_dmc_ver1_01.bin
kbl_dmc_ver1_01/install.sh
kbl_dmc_ver1_01/ReleaseNotes.txt

:~/Downloads$ tar -zxvf kblgucver914.tar.gz
firmware/kbl/guc/kbl_guc_ver9_14/
firmware/kbl/guc/kbl_guc_ver9_14/install.sh
firmware/kbl/guc/kbl_guc_ver9_14/kbl_guc_ver9_14.bin
firmware/kbl/guc/kbl_guc_ver9_14/ReleaseNotes.txt

Kopieren Sie die Dateien und aktualisieren Sie initramfs

:~/Downloads$ Sudo cp -t /lib/firmware/i915/ firmware/bxt/guc/bxt_guc_ver8_7/bxt_guc_ver8_7.bin kbl_dmc_ver1_01/kbl_dmc_ver1_01.bin firmware/kbl/guc/kbl_guc_ver9_14/kbl_guc_ver9_14.bin
:~/Downloads$ Sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.9.9-040909-generic

Beachten Sie, dass die Fehlermeldungen (Warnungen) verschwunden sind!

Arbeitsdateien entfernen

:~/Downloads$ rm -r firmware kbl_dmc_ver1_01 *.tar.*

Historischer (Original-) Beitrag als Referenz

Ich habe zwei Warnmeldungen zu fehlenden i915-Treibern für Kernel 4.6.3, 4.7.1, 4.7.2, 4.7.3 und 4.7.5 erhalten. Ich habe sie ignoriert und mit meiner HD4000 Intel Integrated Graphics war alles in Ordnung. Ich wünschte, dasselbe könnte über Nvidia und Nouvaeu gesagt werden.

In einer Antwort in Ihrem Link heißt es, dass Sie auf der Website von Intel die neuesten Linux-Grafiktreiber finden können: intel-linux-graphics-firmwares . Als ich diese Site jedoch vor ein paar Wochen las, beschäftigte ich mich mit allen möglichen Dingen, die unter verschiedenen Szenarien schief gehen können, also habe ich mich dagegen entschieden.

Haben Sie 4.8 Release Candidate 6 vom 24. September installiert? Das ist meines Erachtens die aktuellste Version in Ubuntu. Sie müssen nicht antworten, aber ich bin gespannt, warum Sie 4.8 statt 4.7.5 gewählt haben, dh welche Unterschiede Sie benötigen, um die Dinge zu reparieren.

Bearbeiten - 19. Oktober 2016

Jetzt mit Kernel-Version 4.8.1 (echte Version und kein Release Candidate) für mehr als eine Woche und die Dinge funktionieren gut. Dies ist jedoch unter Ubuntu 16.04. Ubuntu 16.10 wurde am 13. Oktober veröffentlicht und verwendet, glaube ich, die Kernel-Version 4.8.0.

Es ist nicht mein Plan, diese Antwort weiter zu aktualisieren, aber ich wollte den Schluss ziehen, dass 4.8-Release-Kandidaten Probleme haben könnten. Die echte Version nicht.

Bearbeiten - 2. Februar 2017

Jetzt läuft die Hauptversion von Kernel Version 4.9.5, die zu diesem Zeitpunkt von Ubuntu 16.04 auf den Kernel 4.4.0-59 aktualisiert wurde. Intel hat den Link für Intel Graphics für Linux Treiber geändert und ich habe den neuen Link oben aktualisiert.

Es bleiben noch Fragen zu den von Sudo update-initramfs -u generierten Warnmeldungen, wenn die Kernel-Version> 4.8 (Ubuntu 16.10 und Ubuntu 17.04) ist:

W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_01.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915

Wie im Fehlerbericht ( bugs.launchpad.net - linux firmware bug ) angegeben, existieren die Treiber einfach nicht und werden es erst tun, wenn ein zukünftiger Chip namens "kaby lake" veröffentlicht wird.

Lassen Sie die Warnmeldungen verschwinden

Damit die Warnmeldung verschwindet, habe ich Folgendes getan:

$ Sudo cp Assembly/hello /lib/firmware/i915/kbl_dmc_ver1_01.bin
$ Sudo cp Assembly/hello /lib/firmware/i915/kbl_guc_ver9_14.bin
$ Sudo cp Assembly/hello /lib/firmware/i915/bxt_guc_ver8_7.bin
$ Sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.9.5-040905-generic

Voila! Keine Warnmeldungen mehr.

Das Programm "Hallo" ist ein 504-Byte-Assembler-Programm, das "Hallo Welt!" Sie können jede kleine ausführbare Datei in die in den Fehlermeldungen angegebenen Firmware-Binärdateien kopieren. Wenn Intel sie irgendwann veröffentlicht, ersetzt der Software-Updater sie durch die realen Versionen.

So navigieren Sie auf der Intel Graphics for Linux-Website

In Kommentaren wurde gefragt, wie innerhalb der neuen Intel-Website ( 1.org - Linux Graphics Downloads ) navigiert werden soll, auf der dieser Bildschirm angezeigt wird:

Intel Graphics for Linux 1

Geben Sie Ubuntu 16.04 in das Suchfeld ein und klicken Sie auf die Schaltfläche Filter.

Wählen Sie für Ubuntu 16.10 das erste Ergebnis. In unserem Fall Ubuntu 16.04 wählen Sie das zweite Ergebnis INTEL GRAPHICS UPDATE TOOL FOR LINUX* OS V2.0.2 und dieser Bildschirm erscheint:

Intel Graphics for Linux 2

In meinem Fall habe ich Ubuntu 16.04 64-Bit ausgewählt, das die Datei intel-graphics-update-tool_2.0.2_AMD64.deb in mein ~/Downloads -Verzeichnis heruntergeladen hat.

Der nächste Schritt ist, das Terminal zu öffnen und Folgendes zu verwenden:

cd Downloads
Sudo dpkg -i intel*.deb

HINWEIS: Intel verwendet die Schriftart ancients ttf, und Ihre Installation schlägt fehl, wenn sie nicht auf Ihrem System ausgeführt wird. An dieser Stelle müssen Sie Folgendes verwenden:

Sudo apt -f install
Sudo apt update
Sudo apt upgrade

Jetzt können Sie das Tool Intel Graphics for Linux Updater wie folgt ausführen:

Intel Graphics for Linux 3

Fügen Sie Intel-Signaturen für Ubuntu hinzu

Während apt-get update können Sie Warnungen/Fehlermeldungen wie diese sehen:

W: GPG error: https://download.01.org/gfx/ubuntu/16.04/main xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 56A3DEF863961D39
E: The repository 'https://download.01.org/gfx/ubuntu/16.04/main xenial InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Sie müssen die Signaturen von Intel wie folgt hinzufügen:

wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg-4 -O - | \
Sudo apt-key add -

Dann aktualisiere in Ubuntu:

Sudo apt update
Sudo apt upgrade
16

Ich habe auch ein ähnliches Problem, weil ich den Kernel von der Ubuntu Gnome 16.04 "Software" -Anwendung (nativer Paketmanager) aktualisiert habe und er beim Aktualisieren abgestürzt ist.

Daher durfte ich Ubuntu nicht erneut starten, da das Linux-Image nicht erfolgreich generiert wurde.

Um es von diesem Punkt aus zu lösen, habe ich Folgendes getan:

  1. Starten Sie Linux neu und drücken Sie direkt nach dem Start des Motherboard-Bildschirms Shift, um das Grub-Menü aufzurufen.
  2. Wählen Sie Ihre vorherige Linux-Version aus dem Menü. In meinem Fall *4.4.0-21-generic und drücken Sie Enter;
  3. Sobald Ubuntu wieder aktiv ist, deinstalliere das defekte Linux-Image. In meinem Fall der *4.4.0-59-generic (ich habe Synaptic Package Manager dafür verwendet);
  4. Laden Sie die fehlende Firmware von Intel-Seite (wie Doug Smythies) herunter und installieren Sie sie. In meinem Fall habe ich den KabyLake kbl DMC - Ver 1.01;
  5. Zum Schluss installieren Sie noch einmal den Linux-Kernel *4.4.0-59-generic (in meinem Fall) oder einfach linux-generic für den neuesten vollständigen generischen Linux-Kernel.

Erfolg! Der Kernel ist auf dem neuesten Stand und alle Firmwares funktionieren einwandfrei!

Freundliche Grüße!

2
Matt Mello

Wenn Sie Debian ausführen (ich habe Debian GNU/Linux Buster), folgen Sie einfach diesen Schritten:

  1. erstelle den Ordner:

    Sudo mkdir -p /lib/firmware/i915
    
  2. kopieren Sie alle Dateien von https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915 in diesen Ordner

  3. Konfigurieren Sie das initramfs-tools-Paket neu:

    Sudo dpkg-reconfigure initramfs-tools
    
0
Christian Noack