“W: Possível falta de firmware para o módulo i915_bpo” ao atualizar o initramfs

69

Quando executo uma atualização de driver do kernel ou NVIDIA no 16.04, isso ativa uma reconstrução do initramfs que gera o aviso abaixo:

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

Eu tenho um notebook com dois chips gráficos, uma placa gráfica integrada NVIDIA GeForce 940M e Intel i5-6200U.

O dispositivo em uso é meu cartão 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

Aqui está a saída de lshw -c video , correspondente ao meu chip gráfico Intel que deve usar esse 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)

O arquivo no aviso não existe, apenas aqueles:

$ 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

O pacote de drivers mais recente parece estar instalado:

$ 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

O que esse aviso significa exatamente e como posso corrigi-lo?

    
por Byte Commander 12.08.2016 / 15:29

3 respostas

57

O pacote do driver está um pouco atrasado no kernel. No meu caso, o firmware ausente não importa, porque eu não tenho um processador SkyLake, mas no seu caso, isso pode ser importante. Você pode obter o firmware mais recente em aqui .

EDIT 1: Observe que o link foi alterado, mas os leitores ainda devem conseguir encontrar o que precisam no novo link, embora às vezes possa ser difícil saber exatamente o que você está procurando.

EDIT 2: Esta resposta deve ser aplicável a alguns outros novos requisitos de firmware que surgiram desde que esta resposta foi originalmente escrita. Por exemplo:

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
    
por Doug Smythies 12.08.2016 / 16:41
13

26 de maio de 2018 Atualização

Recentemente, a Intel mudou para baixar arquivos chamados blobs , que significa B inary L arge OB ject ( BLOB).

Para ver os novos métodos de instalação do driver i915, consulte esta resposta atualizada hoje.

Firmware Skylake (skl)

Existe um novo link para acessar o firmware Skylake (skl) para aqueles com aquele mecanismo gráfico encontrado aqui ( 01.org - Linux Graphics Downloads de firmware ). Uma amostra de captura de tela é exibida.

SevocêtentarselecionarofirmwareKabylake(kbl)ouBroxton(bxt),receberáumamensagemdeerro,poisessesdriversaindanãoforamliberadosparaopúblico.

FaltandooFirmwareKabylake(kbl)eBroxton(bxt)

Olinkantigorequerconexãoespecial.AIntelmudouolinkdositeparaorestodenós.

Aindarestamdúvidassobreasmensagensdeavisogeradasporsudoupdate-initramfs-uquandoaversãodokernel>4.8(Ubuntu16.10eUbuntu17.04):

W:Possiblemissingfirmware/lib/firmware/i915/kbl_dmc_ver1_01.binformodulei915W:Possiblemissingfirmware/lib/firmware/i915/kbl_guc_ver9_14.binformodulei915W:Possiblemissingfirmware/lib/firmware/i915/bxt_guc_ver8_7.binformodulei915

Deumasóvez,orelatóriodeerros( bugs.launchpad.net - erro de firmware do linux ) disse que os drivers simplesmente não existem e não serão lançados até que um futuro chip chamado "kaby lake" seja lançado. A partir de fevereiro de 2017, no entanto, você pode instalar esses drivers seguindo estas instruções: O kernel atualizado para 4.8 agora está faltando avisos de firmware

Faça as mensagens de aviso desaparecerem

A partir de fevereiro de 2017, ignore esta seção e siga as instruções do último parágrafo acima.

Para fazer a mensagem de aviso desaparecer, fiz o seguinte:

$ 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! Não há mais mensagens de aviso.

O programa "hello" é um programa assembler de 504 bytes que diz "Hello World!". Você pode copiar qualquer executável pequeno para os binários de firmware fornecidos nas mensagens de erro. Quando a Intel eventualmente os liberar, o atualizador de software os substituirá pelas versões reais.

Como navegar no site da Intel Graphics for Linux

Foi perguntado por meio de comentários como navegar no novo site da Intel ( 01.org - Linux Graphics Downloads ) que apresenta esta tela:

DigiteUbuntu16.04nocampodepesquisaecliquenobotãoFilter.

ParaoUbuntu16.10,selecioneoprimeiroresultado.Nonossocaso,oUbuntu16.04selecionaosegundoresultadoINTELGRAPHICSUPDATETOOLFORLINUX*OSV2.0.2eestatelaaparece:

NomeucasoeuselecioneioUbuntu16.0464-bitquebaixouoarquivointel-graphics-update-tool_2.0.2_amd64.debparaomeudiretório~/Downloads.

Opróximopassoéabriroterminaleusar:

cdDownloadssudodpkg-iintel*.deb

OBSERVAÇÃO:AIntelusaafontettfancientsesuainstalaçãofalharásenãoestiveremseusistema.Nesteponto,vocêprecisausar:

sudoapt-finstallsudoaptupdatesudoaptupgrade

AgoravocêpodeexecutaraferramentaIntelGraphicsforLinuxUpdatercomoestatelamostra:

Adicione assinaturas Intel para o Ubuntu

Durante apt-get update você pode ver mensagens de aviso / erro como esta:

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.

Você precisará adicionar as assinaturas da Intel usando:

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

Em seguida, atualize no Ubuntu:

sudo apt update
sudo apt upgrade
    
por WinEunuuchs2Unix 03.02.2017 / 02:12
2

Eu também enfrentei um problema semelhante porque atualizei o kernel do aplicativo "Software" do Ubuntu Gnome 16.04 (gerenciador de pacotes nativo) e ele travou durante a atualização.

Então, eu fui barrado para inicializar o Ubuntu novamente porque a imagem do Linux foi gerada sem sucesso.

Para resolver isso, fiz o seguinte:

  1. Reinicialize o linux e logo após a tela da placa-mãe, pressione Shift para entrar no menu do grub;
  2. Selecione sua versão anterior do linux no menu. No meu caso *4.4.0-21-generic e pressione Enter ;
  3. Uma vez que o Ubuntu esteja ativo novamente, desinstale a imagem do linux quebrada. No meu caso, o *4.4.0-59-generic (eu usei o gerenciador de pacotes Synaptic para ele);
  4. Faça o download e instale o firmware ausente da página da Intel (igual a Doug Smythies) . No meu caso, eu tenho o KabyLake kbl DMC - Ver 1.01 ;
  5. E, finalmente, instale novamente o kernel do linux *4.4.0-59-generic (no meu caso) ou apenas linux-generic para o kernel Linux genérico completo mais recente.

Sucesso! O Kernel está atualizado e todos os firmwares estão funcionando bem!

Atenciosamente!

    
por Matt Mello 17.01.2017 / 03:50