“W: Firmware manquant possible pour le module i915_bpo” lors de la mise à jour d'initramfs

75

Lorsque j'exécute une mise à jour du noyau ou du pilote NVIDIA sur mon 16.04, cela déclenche une reconstruction d'initramfs qui génère l'avertissement ci-dessous:

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

J'ai un ordinateur portable avec deux puces graphiques, une carte graphique NVIDIA GeForce 940M et la carte graphique intégrée de l'Intel i5-6200U.

Le périphérique utilisé est ma carte NVIDIA:

$ 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

Voici la sortie de lshw -c video, correspondant à ma puce graphique Intel qui devrait utiliser ce pilote:

    *-display         
         description: VGA compatible controller
         product: Sky Lake Integrated Graphics
         vendor: Intel Corporation
         physical id: 2
         bus info: pci@0000: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)

Le fichier dans l'avertissement n'existe pas, seulement ceux:

$ 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

Le dernier package de pilote semble être installé cependant:

$ 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

Que signifie exactement cet avertissement et comment puis-je le résoudre?

Byte Commander
la source
3
Je suis W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1.bin for module i915_bpoet mon processeur est SKylake avec Intel HD en elle.
Csaba Toth
De plus, j'utilise la 1.158version du linux-firmwarepaquet au lieu de la ligne principale 1.157car seule celle qui fournissait un firmware fonctionnel pour mon réseau wifi (killer wireless).
Csaba Toth
3
@CsabaToth kblsignifie Kabylake, le successeur de Skylake. Comme vous ne disposez pas d'un tel processeur, vous pouvez ignorer cet avertissement ou simplement installer le pilote Kabylake à partir du même lien indiqué dans la réponse de Doug Smythies.
Byte Commander
Correct, i7 6820hk est juste SkyLake, Kaby Lake est la prochaine génération
Csaba Toth

Réponses:

62

Le package de pilotes est quelque peu à la traîne par rapport au noyau. Dans mon cas, le firmware manquant n'a pas d'importance, car je n'ai pas de processeur SkyLake, mais dans votre cas, cela peut être important. Vous pouvez obtenir le nouveau firmware à partir d' ici .

EDIT 1: Notez que le lien a changé, mais les lecteurs devraient toujours être en mesure de trouver ce dont ils ont besoin dans le nouveau lien, même s’il peut parfois être difficile de savoir exactement ce que vous recherchez.

EDIT 2: Cette réponse devrait s’appliquer à certaines autres nouvelles exigences relatives au microprogramme apparues depuis la rédaction de cette réponse. Par exemple:

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: Pour les utilisateurs qui utilisent git, cette réponse fonctionne également bien.

Doug Smythies
la source
3
J'ai installé les pilotes GuC et DMC pour Skylake avec succès et je pense que l'avertissement devrait disparaître maintenant. Merci.
Byte Commander
4
Ah, je l'ai trouvé. On dirait que la nouvelle mise à jour du noyau a ajouté le support pour les nouveaux processeurs Kabylake Intel et maintenant, il aimerait également avoir un pilote de module pour ceux-ci. C'est probablement superflu car je n'ai pas de processeur Kabylake, mais juste pour éviter cet avertissement, j'ai également téléchargé et installé le pilote kbl DMC à partir du site que vous avez lié. Cela a l'air bien à nouveau maintenant.
Byte Commander
2
Que veut dire "matière"? Le nouveau noyau ne pourra-t-il pas démarrer ou n'y a-t-il aucun impact visible visible en dehors de certains messages d'avertissement?
musiKk
3
@musiKk: Si votre processeur n'a pas besoin de l'un des fichiers de firmware manquants, cela n'a aucune importance, ce qui signifie qu'il n'y aura aucune conséquence du fait qu'il manque. Par exemple, seul un processeur Skylake aurait besoin du micrologiciel "skl".
Doug Smythies
1
@FeryArdiant: Oui, les avertissements ne sont pas liés au processeur que vous utilisez réellement, juste si vous avez le firmware ou non.
Doug Smythies
18

Mise à jour du 20 mai 2019

Pour répondre à votre question, vous n'avez pas besoin de mettre à jour les pilotes d'un processeur que vous n'exécutez pas, mais il est agréable de voir les avertissements disparaître lorsque vous le faites.

Aujourd'hui, j'ai reçu ces avertissements:

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

J'ai téléchargé les blobs (décrits dans la section suivante), puis utilisé:

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

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

Maintenant, mes pilotes Sky Lake ( skl) sont à jour et je peux essayer les derniers paramètres de noyau recommandés sur Internet. Les messages d'avertissement destinés aux futurs transformateurs, Kaby Lake ( kbl), Cannon Lake ( cnl) et Ice Lake ( icl), ont rendu la vie moins stressante.


Mise à jour du 26 mai 2018

Révision mineure le 6 août 2018.

Nouvel écran de téléchargement de "blobs"

Récemment, Intel a créé une nouvelle page de téléchargement et une nouvelle présentation de page Web:

Blobs du micrologiciel Intel i915

Les fichiers de téléchargement sont maintenant appelés blobs de firmware, ce qui est nouveau pour les pilotes de firmware . Cela signifie B inary L arge OB ject (BLOB).

Les pilotes sont triés par processeur:

  • bxt Broxton, annulé en 2016, successeur des processeurs Cherry Trail
  • kbl Kabylake, 7ème génération, par exemple i7-7700
  • skl Skylake, 6ème génération, par exemple i7-6700

Ensuite, les pilotes sont organisés par sous-groupe (explication complète ici ):

  • GUC -GuC est conçu pour effectuer la planification de la charge de travail graphique sur les différents moteurs graphiques parallèles.
  • DMC - DMC fournit des graphiques supplémentaires des états d'inactivité à faible consommation d'énergie.
  • HUC - HuC est conçu pour décharger certaines fonctions multimédia du processeur vers le processeur graphique.

Faire correspondre le message d'erreur au pilote requis

Comparez le message d'erreur que vous recevez update-initramfsou update-grubtrouvez le pilote manquant. Dans votre exemple, le message était " /lib/firmware/i915/kbl_guc_ver9_14.bin". Il vous manque donc le GuC Kabylake appelé: kbl_guc_ver9_14.bindans la page Web indiquée ci-dessus. Vous ne voulez pas le plus récent:kbl_guc_ver9_39.bin

Télécharger le pilote nécessaire

Il n'y a plus de script d'installation comme dans les versions précédentes. Sélectionnez simplement le pilote manquant (blob) et cliquez dessus. Cet écran apparaît:

Pilotes Intel i915 download.png

Initialement, vous ne voyez que le "vidage hexadécimal", mais après avoir cliqué sur le lien intitulé en clair, une fenêtre de téléchargement apparaît comme illustré ci-dessus.

Cliquez sur "Enregistrer le fichier"

Installer le pilote avec simple sudo cp(commande de copie)

Après le téléchargement, l'installation est simple sudo cp(commande de copie) et il n'y a pas de tarcommandes compliquées ni d' ./script_nameétapes d'installation.

Installation rapide

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

IMPORTANT: remplacez kbl_guc_ver9_14.binet bxt_guc_ver8_7.binci - dessus par les noms de pilote manquants que vous avez téléchargés.

VOILA! Le nouveau pilote est installé. Beaucoup plus simple que les méthodes d'installation précédentes pour les pilotes Intel i915 manquants!

Installation exploratoire TL; DR

J'ai déjà eu le pilote installé. Cette longue méthode d'installation vous donne une idée des effets avant et après la copie du BLOB :

$ 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

Utilisez la commande de localisation ci-dessous à la place de llocate .


14 février 2017 - Intel a publié les pilotes

Selon ce rapport de bogue d’aujourd’hui ( W: Possible firmware manquant /lib/firmware/i915/kbl_guc_ver9_14.bin pour le module i915 ), Intel a publié les pilotes requis pour Kabylake et Broxton ( https://01.org/linuxgraphics/downloads/). firmware ) page Web:

Intel Graphics pour les pilotes Linux

Téléchargez les pilotes manquants pour Kabylake ( GuC - Ver 9.14 ) et ( DMC - Ver 1.01 ) et Broxton ( GuC - Ver 8.7 ). Ce sont en .tar.gzet .tar.bz2format.

Installer les pilotes au format "tar"

Bien que vous puissiez exécuter les install.shscripts, ces instructions sont les plus simples.

Accédez au répertoire de téléchargement et vérifiez que les fichiers sont présents:

:~$ 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

Extrayez les fichiers tar compressés:

:~/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

Copier les fichiers et mettre à jour 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

Notez que les messages d'erreur (avertissement) ont disparu!

Supprimer les fichiers de travail

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

Poste historique (original) pour référence

J'ai reçu deux messages d'avertissement sur les pilotes i915 manquants pour les versions 4.6.3, 4.7.1, 4.7.2, 4.7.3 et 4.7.5 du noyau. Je les ai ignorées et les choses se sont bien passées avec mon processeur graphique intégré Intel HD4000. J'aimerais que l'on puisse dire la même chose de Nvidia et de Nouvaeu.

Une des réponses de votre lien indique que vous pouvez vous rendre sur le site Web d’Intel pour obtenir les pilotes les plus à jour pour Linux Graphics à l’ adresse suivante : intel-linux-graphics-firmwares . Cependant, lorsque j'ai lu ce site il y a quelques semaines, je m'inquiétais de tout ce qui pouvait aller de travers dans différents scénarios. J'ai donc choisi de ne pas participer.

Avez-vous installé la version 4 du candidat 6 à partir du 24 septembre? C'est le plus courant dans Ubuntu, je crois. Vous n'avez pas à répondre, mais je suis curieux de savoir pourquoi vous avez opté pour la version 4.8 au lieu de la version 4.7.5, c.-à-d. Quelles sont les différences dont vous avez besoin pour régler le problème.

Edit - 19 octobre 2016

Maintenant, j'utilise la version 4.8.1 du noyau (version réelle et non candidate à la publication) pendant plus d'une semaine et les choses fonctionnent correctement. Ceci est cependant sous Ubuntu 16.04. Ubuntu 16.10 est sorti le 13 octobre et utilise la version 4.8.0 du noyau, je crois.

Ce n'est pas mon plan de continuer à mettre à jour cette réponse, mais je voulais mettre fin à l'inférence que les candidats à la version 4.8 pourraient avoir des problèmes. La vraie version ne le fait pas.

Edit - 2 février 2017

Utilise maintenant la version principale du noyau version 4.9.5 qui, pour le moment, Ubuntu 16.04 a mis à jour son noyau vers la version 4.4.0-59. Intel a changé son lien pour les pilotes Intel Graphics for Linux et j'ai mis à jour le nouveau lien ci-dessus.

Des questions demeurent concernant les messages d'avertissement générés sudo update-initramfs -ulorsque la version du noyau> 4.8 (Ubuntu 16.10 et Ubuntu 17.04):

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

Comme indiqué dans le rapport de bogue ( bugs.launchpad.net - bogue du firmware de Linux ), les pilotes n'existent tout simplement pas et n'existeront pas jusqu'à ce qu'une future puce appelée "kaby lake" soit publiée.

Faire disparaître les messages d'avertissement

Pour que le message d'avertissement disparaisse, j'ai procédé comme suit:

$ 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! Pas plus de messages d'avertissement.

Le programme "hello" est un programme assembleur de 504 octets qui dit "Hello World!". Vous pouvez copier n'importe quel petit exécutable dans les fichiers binaires du microprogramme indiqués dans les messages d'erreur. Lorsque Intel les publiera éventuellement, le programme de mise à jour du logiciel les remplacera par les versions réelles.

Comment naviguer sur le site Web Intel Graphics for Linux

Il a été demandé via des commentaires comment naviguer dans le nouveau site Web d’Intel ( 01.org - Téléchargements de Linux Graphics ) qui présente cet écran:

Intel Graphics pour Linux 1

Tapez Ubuntu 16.04dans le champ de recherche et cliquez sur le Filterbouton.

Pour Ubuntu 16.10, sélectionnez le premier résultat. Dans notre cas, Ubuntu 16.04 sélectionne le deuxième résultat INTEL GRAPHICS UPDATE TOOL FOR LINUX* OS V2.0.2et cet écran apparaît:

Intel Graphics pour Linux 2

Dans mon cas, j'ai sélectionné Ubuntu 16.04 64 bits qui a téléchargé le fichier intel-graphics-update-tool_2.0.2_amd64.debdans mon ~/Downloadsrépertoire.

La prochaine étape consiste à ouvrir le terminal et à utiliser:

cd Downloads
sudo dpkg -i intel*.deb

REMARQUE: Intel utilise la police d' anciens ttf et votre installation échouera si elle ne se trouve pas sur votre système. À ce stade, vous devez utiliser:

sudo apt -f install
sudo apt update
sudo apt upgrade

Maintenant, vous pouvez exécuter l' Intel Graphics for Linux Updateroutil comme indiqué sur cet écran:

Intel Graphics pour Linux 3

Ajouter des signatures Intel pour Ubuntu

Pendant que apt-get updatevous pouvez voir des messages d’avertissement / erreur comme ceci:

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.

Vous devrez ajouter les signatures d'Intel en utilisant:

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

Puis mettez à jour dans Ubuntu:

sudo apt update
sudo apt upgrade
WinEunuuchs2Unix
la source
2

J'ai également rencontré un problème similaire car j'ai mis à jour le noyau à partir de l'application "Software" d'Ubuntu Gnome 16.04 (gestionnaire de paquets natif) et il s'est bloqué lors de la mise à jour.

On m'a donc interdit de redémarrer Ubuntu parce que l'image linux n'a pas été générée.

Pour résoudre ce problème à partir de ce point, j'ai procédé comme suit:

  1. Redémarrez Linux et juste après l’écran de la carte mère, appuyez sur Shiftpour accéder au menu de démarrage;
  2. Sélectionnez votre version précédente de Linux dans le menu. Dans mon cas *4.4.0-21-genericet appuyez sur Enter;
  3. Une fois Ubuntu réactivé, désinstallez l’image linux cassée. Dans mon cas, le *4.4.0-59-generic(j'ai utilisé le gestionnaire de paquets Synaptic pour cela);
  4. Téléchargez et installez le firmware manquant à partir de la page Intel (identique à Doug Smythies) . Dans mon cas, j'ai eu le KabyLake kbl DMC - Ver 1.01;
  5. Et enfin, réinstallez le noyau Linux *4.4.0-59-generic(dans mon cas) ou simplement linux-genericle dernier noyau Linux générique complet.

Succès! Le noyau est à jour et tous les firmwares fonctionnent bien!

Meilleures salutations!

Matt Mello
la source
Le lien vers les firmwares graphiques ne fonctionne plus. Est-ce que quelqu'un sait où l'on peut obtenir des firmwares maintenant?
Nickolai Leschov
Vraiment? Je peux toujours l'ouvrir ici. Cependant, essayez également le lien suivant: git.kernel.org/cgit/linux/kernel/git/firmware/…
Matt Mello le
1

Si vous utilisez debian (j'ai Debian GNU / Linux buster), suivez ces étapes:

  1. créer le dossier:

    sudo mkdir -p /lib/firmware/i915
    
  2. copier tous les fichiers de https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915 dans ce dossier

  3. Reconfigurez le paquet initramfs-tools:

    sudo dpkg-reconfigure initramfs-tools
    
Christian Noack
la source
La commande pour Ubuntu ressemble à quelque chose du genre, sudo update-initramfs -umais je suis au téléphone, donc je ne peux pas confirmer. Les questions Debian sont hors sujet ici, il est donc peu probable que votre réponse influence beaucoup de gens.
WinEunuuchs2Unix