86 votes

"W : Possible firmware manquant pour le module i915_bpo" lors de la mise à jour des initramfs

Lorsque j'exécute une mise à jour du noyau ou des pilotes NVIDIA sur ma version 16.04, cela déclenche une reconstruction 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 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: 1920x1080@60.03hz
           GLX Renderer: GeForce 940M/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 367.35

Voici le résultat 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 paquet de pilotes semble pourtant être installé :

$ 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 corriger ?

66voto

Doug Smythies Points 12803

Le paquet de pilotes est quelque peu en retard sur le 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 pourrait avoir de l'importance. Vous pouvez obtenir le nouveau firmware à partir de 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 si parfois il peut être difficile de savoir exactement ce que vous recherchez.

EDIT 2 : Cette réponse devrait être applicable à d'autres nouvelles exigences de firmware qui sont apparues depuis que cette réponse a été initialement écrite. 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.

25voto

WinEunuuchs2Unix Points 91128

Mise à jour du 20 mai 2019

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

Aujourd'hui, j'ai reçu cet avertissement :

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) et ensuite utilisé :

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

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

Maintenant, mon Sky Lake ( skl ) les pilotes sont à jour et je peux essayer les derniers paramètres du noyau recommandés sur Internet. Messages d'avertissement pour les futurs processeurs Lac Kaby ( kbl ), Lac Cannon ( cnl ) et Lac de glace ( icl ) sont partis, rendant la vie moins stressante.


Mise à jour du 26 mai 2018

Révision mineure le 6 août 2018.

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

Récemment, Intel a créé un nouveau page de téléchargement et nouvelle mise en page du site web :

Intel i915 firmware blobs

Les fichiers de téléchargement sont maintenant appelés firmware blobs ce qui est un nouveau langage pour le micrologiciel conducteurs . Il s'agit de B inary L arge OB ject (BLOB).

Les pilotes sont classés par processeur :

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

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

  • GUC - GuC est conçu pour réaliser l'ordonnancement de la charge de travail graphique sur les différents moteurs graphiques parallèles.
  • DMC - Le DMC fournit des états d'inactivité à faible consommation graphique supplémentaires.
  • HUC - HuC est conçu pour décharger certaines des fonctions médias du CPU vers le GPU.

Faire correspondre le message d'erreur au pilote nécessaire

Comparez le message d'erreur que vous recevez en update-initramfs o update-grub pour trouver le conducteur manquant. Dans votre exemple, le message était " /lib/firmware/i915/kbl_guc_ver9_14.bin " donc il vous manque le Kabylake GuC appelé : kbl_guc_ver9_14.bin dans la page Web illustrée ci-dessus. Vous ne voulez pas de la plus récente : kbl_guc_ver9_39.bin

Télécharger le pilote nécessaire

Il n'y a plus d'installation script comme dans les versions précédentes. Il suffit de mettre en évidence le pilote manquant (blob) et de cliquer dessus. Cet écran apparaît :

Intel i915 drivers download.png

Au départ, vous ne voyez que le "dump hex" mais après avoir cliqué sur le lien intitulé simple une fenêtre de téléchargement apparaît comme illustré ci-dessus.

Cliquez sur "Enregistrer le fichier".

Installer le pilote avec une 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 tar ou ./script_name étapes de l'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 : Remplacer kbl_guc_ver9_14.bin et bxt_guc_ver8_7.bin ci-dessus avec les noms des pilotes manquants que vous avez téléchargés.

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

TL;DR Installation exploratoire

J'avais déjà installé le pilote. Cette longue méthode d'installation vous donne une idée des effets avant et après de 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 le localiser ci-dessous à la place de la commande llocaliser .


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

Selon ce rapport de bogue d'aujourd'hui ( W : Firmware possiblement manquant /lib/firmware/i915/kbl_guc_ver9_14.bin pour le module i915 ) Intel a publié la version requise Kabylake et Broxton les conducteurs sur leur ( https://01.org/linuxgraphics/downloads/firmware ) :

Intel Graphics for Linux Drivers

Téléchargez les pilotes manquants pour Kabylake ( GuC - Ver 9.14 ) et ( DMC - Ver 1.01 ) et Broxton ( GuC - Ver 8.7 ). Ceux-ci sont en .tar.gz et .tar.bz2 format.

Installer les pilotes au format "tar".

Bien que vous puissiez exécuter le install.sh scripts ces instructions sont les plus faciles.

Passez dans le répertoire de téléchargement et vérifiez que les fichiers s'y trouvent :

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

Remarquez que les messages d'erreur (d'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 noyaux 4.6.3, 4.7.1, 4.7.2, 4.7.3 et 4.7.5. Je les ai ignorés et tout s'est bien passé avec ma carte graphique intégrée HD4000 d'Intel. J'aimerais que l'on puisse dire la même chose de Nvidia et de Nouvaeu.

Comme l'indique une réponse dans votre lien, vous pouvez vous rendre sur le site Web d'Intel pour obtenir les pilotes graphiques Linux les plus récents : intel-linux-graphics-firmwares . Cependant, lorsque j'ai lu ce site il y a quelques semaines, j'ai été préoccupé par toutes les choses qui pouvaient mal tourner dans différents scénarios et j'ai donc choisi de ne pas y participer.

Avez-vous installé la version 4.8 release candidate 6 du 24 septembre ? C'est la version la plus récente d'Ubuntu, je crois. Vous n'êtes pas obligé de répondre mais je suis curieux de savoir pourquoi vous avez choisi la 4.8 au lieu de la 4.7.5, c'est-à-dire quelles sont les différences dont vous avez besoin pour corriger certaines choses.

Edit - 19 octobre 2016

J'utilise maintenant la version 4.8.1 du noyau (la version réelle et non la version candidate) depuis plus d'une semaine et les choses fonctionnent bien. Mais c'est sous Ubuntu 16.04. Ubuntu 16.10 est sortie le 13 octobre et utilise la version 4.8.0 du noyau, je crois.

Je n'ai pas l'intention de continuer à mettre à jour cette réponse, mais je voulais mettre un terme à l'insinuation selon laquelle les versions candidates de la 4.8 pourraient avoir des problèmes. La vraie version n'en a pas.

Edit - 2 février 2017

J'utilise maintenant la version 4.9.5 du noyau, qui a été mise à jour en 4.4.0-59 pour Ubuntu 16.04. Intel a changé son lien pour Graphiques Intel pour Linux et j'ai mis à jour le nouveau lien ci-dessus.

Des questions subsistent quant aux messages d'avertissement générés par sudo update-initramfs -u lorsque 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 - bug du firmware linux ) les pilotes n'existent tout simplement pas et n'existeront pas avant la sortie d'une future puce appelée "kaby lake".

Faire disparaître les messages d'avertissement

Pour faire disparaître le message d'avertissement, j'ai fait ce qui 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 ! 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 binaires de firmware donnés dans les messages d'erreur. Quand Intel les publiera, le logiciel de mise à jour les remplacera par les vraies versions.

Comment naviguer sur le site Web de Intel Graphics for Linux ?

Il a été demandé dans les commentaires comment naviguer sur le nouveau site Web d'Intel ( 01.org - Téléchargements de graphiques pour Linux ) qui présente cet écran :

Intel Graphics for Linux 1

Type Ubuntu 16.04 dans le champ de recherche et cliquez sur le bouton Filter botón.

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

Intel Graphics for Linux 2

Dans mon cas j'ai choisi Ubuntu 16.04 64-bit qui a téléchargé le fichier intel-graphics-update-tool_2.0.2_amd64.deb à mon ~/Downloads répertoire.

L'étape suivante consiste à ouvrir le terminal et à utiliser :

cd Downloads
sudo dpkg -i intel*.deb

NOTE : Intel utilise le Anciens ttf et votre installation échouera si elle n'est pas présente sur votre système. À ce stade, vous devez utiliser :

sudo apt -f install
sudo apt update
sudo apt upgrade

Vous pouvez maintenant exécuter le Intel Graphics for Linux Updater comme le montre cet écran :

Intel Graphics for Linux 3

Ajouter les signatures Intel pour Ubuntu

Pendant apt-get update vous pouvez voir des messages d'avertissement / d'erreur comme celui-ci :

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 -

Ensuite, mettez à jour dans Ubuntu :

sudo apt update
sudo apt upgrade

2voto

Mobius Points 1

J'ai également été confronté à 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 planté lors de la mise à jour.

Ainsi, je n'ai pas pu redémarrer Ubuntu car l'image linux n'a pas été générée.

Pour le résoudre à partir de là, j'ai fait ce qui suit :

  1. Redémarrez linux et juste après l'écran de la carte mère appuyez sur Shift pour entrer dans le menu Grub ;
  2. Sélectionnez votre version précédente de linux dans le menu. Dans mon cas *4.4.0-21-generic et appuyez sur Enter ;
  3. Une fois qu'Ubuntu est de nouveau opérationnel, 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 micrologiciel manquant à partir de Page Intel (identique à celle de Doug Smythies) . Dans mon cas, j'ai obtenu le KabyLake kbl DMC - Ver 1.01 ;
  5. Et enfin, installer à nouveau le noyau linux *4.4.0-59-generic (dans mon cas) ou simplement linux-generic pour le dernier noyau Linux complet et générique.

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

Meilleures salutations !

1voto

Christian Noack Points 11

Si vous utilisez debian (j'ai Debian GNU/Linux buster), suivez simplement 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/plain/i915 dans ce dossier

  3. Reconfigurer le paquet initramfs-tools :

    sudo dpkg-reconfigure initramfs-tools

0voto

thebookkeeper Points 1

Le firmware-blob-variant avec sudo cp est sale, ce n'est pas une installation propre.

Une installation propre comme celle-ci :

Téléchargez la dernière version de linux-firmware à partir de ici et installez le paquet sauvegardé via le terminal avec apt :

$ cd Downloads

$ sudo apt install ./linux-firmware_1.190_all.deb

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X