Domanda "W: Possibile firmware mancante per il modulo i915_bpo" durante l'aggiornamento di initramfs


Quando eseguo un kernel o un aggiornamento del driver NVIDIA sul mio 16.04, questo innesca una ricostruzione di initramfs che emette il seguente avviso:

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

Ho un notebook con due chip grafici, una NVIDIA GeForce 940M e la grafica integrata di Intel i5-6200U.

Il dispositivo in uso è la mia scheda 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

Ecco l'output di lshw -c video, corrispondente al mio chip grafico Intel che dovrebbe usare quel driver:

    *-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)

Il file nell'avviso non esiste, solo quelli:

$ 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

L'ultimo pacchetto di driver sembra essere installato però:

$ 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

Che cosa significa esattamente questo avvertimento e come posso risolverlo?


66
2017-08-12 13:29


origine


ho ottenuto W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1.bin for module i915_bpo e la mia CPU è SKylake con Intel HD al suo interno. - Csaba Toth
Inoltre, sto usando il 1.158 versione del linux-firmware pacchetto invece della linea principale 1.157 perché solo quello forniva il firmware funzionante per il mio wifi (killer wireless). - Csaba Toth
@CsabaToth kbl sta per Kabylake, che è il successore di Skylake. Dato che non hai una tale CPU, puoi ignorare l'avviso o semplicemente installare il driver Kabylake dallo stesso link fornito nella risposta di Doug Smythies. - Byte Commander
Corretto, i7 6820hk è solo SkyLake, Kaby Lake è la prossima generazione - Csaba Toth


risposte:


Il pacchetto driver è in qualche modo in ritardo rispetto al kernel. Nel mio caso il firmware mancante non ha importanza perché non ho un processore SkyLake, ma nel tuo caso potrebbe essere importante. È possibile ottenere il nuovo firmware da Qui.

MODIFICA 1: nota che il collegamento è cambiato, ma i lettori dovrebbero essere ancora in grado di trovare ciò di cui hanno bisogno nel nuovo collegamento, anche se a volte può essere difficile sapere esattamente che cosa stai cercando.

MODIFICA 2: questa risposta dovrebbe essere applicabile ad alcuni altri requisiti del nuovo firmware che sono venuti da quando questa risposta è stata originariamente scritta. Per esempio:

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

55
2017-08-12 14:41



Ho installato entrambi i driver GuC e DMC per Skylake con successo e penso che l'avviso dovrebbe essere sparito ora. Grazie. - Byte Commander
Ah, l'ho trovato. Sembra che il nuovo aggiornamento del kernel abbia aggiunto il supporto per i nuovi processori Intel Kabylake e ora vorrebbe anche avere un driver di modulo per quelli. Probabilmente è superfluo in quanto non ho una CPU Kabylake, ma solo per togliere l'avviso, ho anche scaricato e installato il driver DMC kbl dal sito che hai collegato. Adesso sembra di nuovo bene. - Byte Commander
Cosa significa "importa"? Il nuovo kernel non sarà in grado di avviarsi o non vi è alcun impatto reale visibile oltre ad alcuni messaggi di avviso? - musiKk
@musiKk: se il tuo processore non è uno che ha bisogno di uno dei file firmware mancanti, allora non "importa", il che significa che non ci saranno conseguenze a causa della sua mancanza. Ad esempio, solo un processore Skylake avrebbe bisogno del firmware "skl". - Doug Smythies
@FeryArdiant: Sì, gli avvertimenti non sono correlati a quale processore stai effettivamente utilizzando, solo se hai il firmware o meno. - Doug Smythies


26 maggio 2018 Aggiornamento

Recentemente Intel è passata a scaricare i file chiamati blob che sta per Bfabbrica di alcune componenti Large OBject (BLOB).

Per vedere i nuovi metodi di installazione del driver i915, vedere questo risposta aggiornato oggi


Skylake (skl) Firmware

C'è un nuovo link per accedere al firmware Skylake (skl) per quelli con quel motore grafico trovato qui (01.org - Download di firmware per la grafica di Linux). Segue una schermata campione.

Intel Graphics for Linux 4

Se provi a selezionare il firmware Kabylake (kbl) o Broxton (bxt) riceverai un messaggio di errore poiché questi driver non sono ancora stati rilasciati al pubblico.

Firmware mancante di Kabylake (kbl) e Broxton (bxt)

Il vecchio collegamento richiede un collegamento speciale. Intel ha cambiato il proprio link al sito Web per il resto di noi.

Rimangono ancora delle domande sui messaggi di avviso generati da sudo update-initramfs -u quando la versione del kernel> 4.8 (Ubuntu 16.10 e 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

Una volta il bug report (bugs.launchpad.net - bug del firmware di Linux) ha detto che i driver semplicemente non esistono e non lo saranno fino a quando non verrà rilasciato un chip futuro chiamato "Kaby Lake". A partire da febbraio 2017 tuttavia è possibile installare questi driver seguendo queste istruzioni: Aggiornamento del kernel a 4.8 ora mancano gli avvisi del firmware

Fai sparire i messaggi di avvertimento

A partire da febbraio 2017 ignora questa sezione e segui le istruzioni nell'ultimo paragrafo sopra.

Per rendere il messaggio di avviso andare via ho fatto quanto segue:

$ 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

Ecco! Niente più messaggi di avvertimento.

Il programma "ciao" è un programma assemblatore di 504 byte che dice "Hello World!". È possibile copiare qualsiasi piccolo eseguibile nei file binari del firmware indicati nei messaggi di errore. Quando Intel alla fine li rilascia, il programma di aggiornamento del software li sostituirà con le versioni reali.

Come navigare nel sito Web di Intel Graphics per Linux

È stato chiesto tramite commenti come navigare all'interno del nuovo sito Web Intel (01.org - Download di grafica per Linux) che presenta questa schermata:

Intel Graphics for Linux 1

genere Ubuntu 16.04 nel campo di ricerca e fare clic su Filter pulsante.

Per Ubuntu 16.10 seleziona il primo risultato. Nel nostro caso, Ubuntu 16.04 seleziona il secondo risultato INTEL GRAPHICS UPDATE TOOL FOR LINUX* OS V2.0.2 e appare questa schermata:

Intel Graphics for Linux 2

Nel mio caso ho selezionato Ubuntu 16.04 64-bit che ha scaricato il file intel-graphics-update-tool_2.0.2_amd64.deb al mio ~/Downloads directory.

Il prossimo passo è aprire il terminale e usare:

cd Downloads
sudo dpkg -i intel*.deb

NOTA: Intel usa il antichi font ttf e la tua installazione fallirà se non è sul tuo sistema. A questo punto devi usare:

sudo apt -f install
sudo apt update
sudo apt upgrade

Ora puoi eseguire il Intel Graphics for Linux Updater strumento come questo schermo mostra:

Intel Graphics for Linux 3

Aggiungi le firme Intel per Ubuntu

Durante apt-get update puoi vedere messaggi di avviso / errore come questo:

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.

Dovrai aggiungere le firme di Intel usando:

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

Quindi aggiorna su Ubuntu:

sudo apt update
sudo apt upgrade

12
2018-02-03 01:12





Ho anche affrontato un problema simile perché ho aggiornato il kernel dall'app Ubuntu Gnome 16.04 "Software" (gestore pacchetti nativo) e si è bloccato durante l'aggiornamento.

Quindi, mi è stato vietato riavviare Ubuntu perché l'immagine di linux è stata generata senza successo.

Per risolverlo da quel punto ho fatto quanto segue:

  1. Riavvia linux e subito dopo la schermata della scheda madre Shift entrare nel menu di grub;
  2. Seleziona la tua versione di linux precedente dal menu. Nel mio caso *4.4.0-21-generic e premere Enter;
  3. Una volta che Ubuntu è di nuovo attivo, disinstalla l'immagine di linux rotta. Nel mio caso il *4.4.0-59-generic (Ho usato il gestore di pacchetti Synaptic per questo);
  4. Scarica e installa il firmware mancante da Pagina Intel (uguale a Doug Smythies). Nel mio caso, ho avuto il KabyLake kbl DMC - Ver 1.01;
  5. E infine, installa nuovamente il kernel linux *4.4.0-59-generic (nel mio caso) o semplicemente linux-generic per l'ultimo kernel Linux completo generico.

Successo! Il kernel è aggiornato e tutti i firmware funzionano bene!

I migliori saluti!


2
2018-01-17 02:50



Il collegamento ai firmware grafici non funziona più. Qualcuno sa dove si possono ottenere firmwares ora? - Nickolai Leschov
Veramente? Posso ancora aprirlo qui. Tuttavia, prova anche il seguente link: git.kernel.org/cgit/linux/kernel/git/firmware/... - Matt Mello