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

65

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: [email protected]
           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: [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)

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

Il pacchetto driver più recente 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?

    
posta Byte Commander 12.08.2016 - 15:29

3 risposte

54

Il pacchetto driver è un po 'in ritardo sul kernel. Nel mio caso il firmware mancante non ha importanza perché non ho un processore SkyLake, ma nel tuo caso potrebbe essere importante. Puoi 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.

EDIT 2: questa risposta dovrebbe essere applicabile ad alcuni altri requisiti del nuovo firmware che sono venuti dopo che questa risposta è stata originariamente scritta. Ad 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
    
risposta data Doug Smythies 12.08.2016 - 16:41
12

Aggiornamento 26 maggio 2018

Recentemente Intel è passata a scaricare file chiamati blob che sta per B inary L arge OB ject ( BLOB).

Per vedere i nuovi metodi di installazione del driver i915, consulta questa risposta aggiornata oggi.

Firmware Skylake (skl)

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

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.

Manca il firmware 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.

Le domande rimangono sui messaggi di avviso generati da sudo update-initramfs -u quando la versione del kernel & gt; 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

In 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 mancati avvisi firmware

Disattiva i messaggi di avviso

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

Per far sparire il messaggio di avviso, 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

Voila! 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 della grafica Linux ) che presenta questa schermata:

Digita Ubuntu 16.04 nel campo di ricerca e fai clic sul pulsante Filter .

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:

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

Il prossimo passo è aprire il terminale e usare:

cd Downloads
sudo dpkg -i intel*.deb

NOTA: Intel usa il carattere ancients ttf e l'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 lo strumento Intel Graphics for Linux Updater mentre questa schermata mostra:

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
    
risposta data WinEunuuchs2Unix 03.02.2017 - 02:12
2

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 impedito di 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 premi Shift per accedere al menu di grub;
  2. Seleziona la tua versione di linux precedente dal menu. Nel mio caso *4.4.0-21-generic e premi Enter ;
  3. Una volta che Ubuntu è di nuovo attivo, disinstalla l'immagine di linux rotta. Nel mio caso *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 ottenuto il KabyLake kbl DMC - Ver 1.01 ;
  5. Infine, installa nuovamente il kernel linux *4.4.0-59-generic (nel mio caso) o solo linux-generic per l'ultimo kernel Linux completo completo.

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

Cordiali saluti!

    
risposta data Matt Mello 17.01.2017 - 03:50

Leggi altre domande sui tag