「W:initramfsの更新時にモジュールi915_bpoのファームウェアが見つからない可能性があります」


75

16.04でカーネルまたはNVIDIAドライバーの更新を実行すると、initramfsの再構築がトリガーされ、以下の警告が出力されます。

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

NVIDIA GeForce 940MとIntel i5-6200Uの統合グラフィックスの2つのグラフィックスチップを搭載したノートブックがあります。

使用中のデバイスは私の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

以下はlshw -c video、そのドライバーを使用するIntelグラフィックチップに対応するの出力です。

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

警告のファイルは存在せず、次のもののみが存在します。

$ 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

ただし、最新のドライバーパッケージはインストールされているようです。

$ 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

この警告は正確に何を意味し、どのように修正できますか?


3
私が手に入れたのはW: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1.bin for module i915_bpo、CPUがIntel HDを搭載したSKylakeです。
チャバトス

さらに、メインラインではなくパッケージの1.158バージョンを使用しています。これは、WiFi(キラーワイヤレス)で動作するファームウェアを提供するものだけだからです。linux-firmware1.157
Csaba Toth

3
@CsabaToth kblは、スカイレイクの後継者であるKabylakeの略です。このようなCPUがないため、警告を無視するか、Doug Smythiesの回答にある同じリンクからKabylakeドライバーをインストールするだけです。
バイトコマンダー

正しい、i7のの6820hkだけSkylakeマイクロアーキテクチャである、Kaby湖は、次の世代である
チャバ・トス

回答:


62

ドライバーパッケージはカーネルにやや遅れています。私の場合、SkyLakeプロセッサを持っていないので、ファームウェアがなくても問題ありませんが、あなたの場合は問題になるかもしれません。ここから新しいファームウェアを入手できます

編集1:リンクが変更されたことに注意してください。ただし、読者は新しいリンクで必要なものを見つけることができますが、探しているものを正確に知ることが難しい場合があります。

編集2:この回答は、この回答が最初に書かれてから来た他のいくつかの新しいファームウェア要件に適用できるはずです。例えば:

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

編集3:gitを使用しているユーザーの場合、この回答もうまく機能します。


3
SkylakeのGuCドライバーとDMCドライバーの両方を正常にインストールしましたが、警告は消えたはずです。ありがとう。
バイトコマンダー

4
ああ、見つけた。新しいカーネルの更新により、新しいKabylake Intelプロセッサのサポートが追加されたように見えますが、これらのモジュールドライバーも必要になりました。私はKabylake CPUを持っていないのでおそらく余分ですが、警告を取り除くために、リンクしたサイトからkbl DMCドライバーもダウンロードしてインストールしました。再び元気になりました。
バイトコマンダー

2
「問題」とはどういう意味ですか?新しいカーネルは起動できませんか、警告メッセージ以外に目に見える実際の影響はありませんか?
マスク

3
@musiKk:不足しているファームウェアファイルのいずれかを必要とするプロセッサではない場合、それは「問題」ではありません。つまり、不足していることによる影響はありません。たとえば、Skylakeプロセッサのみが「skl」ファームウェアを必要とします。
ダグスミティーズ

1
@FeryArdiant:はい、ファームウェアを持っているかどうかにかかわらず、警告は実際に使用しているプロセッサとは関係ありません。
ダグスミティーズ16

18

2019年5月20日更新

質問に答えるために、実行していないプロセッサのドライバを更新する必要はありませんが、実行すると警告が消えることがわかります。

今日、私はこれらの警告を受け取りました:

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

次のセクションで説明するブロブをダウンロードしてから使用しました。

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

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

現在、Sky Lakeskl)ドライバーは最新であり、インターネットで推奨される最新のカーネルパラメーターを試すことができます。将来のプロセッサであるKaby Lakekbl)、Cannon Lakecnl)、Ice Lakeicl)の警告メッセージはなくなり、人生のストレスが軽減されました。


2018年5月26日更新

2018年8月6日のマイナーリビジョン。

「blobs」の新しいダウンロード画面

最近、Intelは新しいダウンロードページと新しいWebページレイアウトを作成しました。

Intel i915ファームウェアBLOB

ダウンロードファイルは、ファームウェアブロブと呼ばれるようになりました。これは、ファームウェアドライバーの新語です。それの略B inary Lの ARGEのOB JECT(BLOB)。

ドライバーはプロセッサー別にソートされます。

  • bxt Broxton、2016年にキャンセル、Cherry Trailプロセッサーの後継
  • kbl Kabylake、第7世代、たとえばi7-7700
  • skl Skylake、第6世代、たとえばi7-6700

次に、ドライバーはサブグループごとに整理されます(完全な説明はこちら)。

  • GUC -GuCは、さまざまなグラフィックスパラレルエンジンでグラフィックスワークロードスケジューリングを実行するように設計されています。
  • DMC -DMCは、追加のグラフィックス低電力アイドル状態を提供します。
  • HUC -HuCは、メディア機能の一部をCPUからGPUにオフロードするように設計されています。

エラーメッセージを必要なドライバーに一致させる

受信しているエラーメッセージを比較するupdate-initramfsupdate-grub、見つからないドライバーを見つけます。あなたの例では、メッセージは「/lib/firmware/i915/kbl_guc_ver9_14.bin」であったためkbl_guc_ver9_14.bin、上記のWebページにKabylake GuCという名前がありません。新しいものは必要ありません。kbl_guc_ver9_39.bin

ドライバーのダウンロードが必要

過去のバージョンのようなインストールスクリプトはありません。不足しているドライバー(blob)を強調表示してクリックします。次の画面が表示されます。

Intel i915ドライバーdownload.png

最初は「hexダンプ」のみが表示されますが、plainというリンクをクリックすると、上記の図のようなダウンロードウィンドウが表示されます。

「ファイルを保存」をクリックします

単純なsudo cp(コピーコマンド)でドライバーをインストールする

ダウンロード後、インストールは簡単でsudo cp(コピーコマンド)、複雑なtarコマンドはありません。または./script_nameインストール手順。

クイックインストール

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

重要:交換するkbl_guc_ver9_14.binと、bxt_guc_ver8_7.binあなたがダウンロードした不足しているドライバ名で上記の。

ボイラ!新しいドライバーがインストールされます。Intel i915ドライバーがない場合の以前のインストール方法よりもはるかに簡単です!

TL; DR探索的インストール

ドライバーは既にインストールされています。この長いインストール方法により、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

llocateの代わりに下記のLocateコマンドを使用します


2017年2月14日-Intelはドライバーをリリースしました

このバグレポート今日(につきとしてW:モジュールi915のための可能な欠落しているファームウェア/lib/firmware/i915/kbl_guc_ver9_14.bin)Intelは、必要なリリースしましたKabylakeBroxtonその(上のドライバをhttps://01.org/linuxgraphics/downloads/ファームウェア)Webページ:

Linuxドライバー用インテルグラフィックス

KabylakeGuC-Ver 9.14)および(DMC-Ver 1.01)およびBroxtonGuC-Ver 8.7)の不足しているドライバーをダウンロードします。これらはである.tar.gz.tar.bz2フォーマット。

「tar」形式でドライバーをインストールする

install.shスクリプトを実行できますが、これらの手順が最も簡単です。

ダウンロードディレクトリに移動し、ファイルがあることを確認します。

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

圧縮されたtarファイルを解凍します。

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

ファイルをコピーして、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

エラー(警告)メッセージが消えていることに注意してください!

作業ファイルを削除する

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

参照用の履歴(オリジナル)投稿

カーネル4.6.3、4.7.1、4.7.2、4.7.3および4.7.5のi915ドライバーが見つからないという2つの警告メッセージがありました。私はそれらを無視しましたが、私のHD4000 Intel Integrated Graphicsで問題はありませんでした。NvidiaとNouvaeuについても同じことが言えるといいのですが。

リンクの回答の1つにあるように、IntelのWebサイトにアクセスして、最新のLinux Graphicsドライバーをintel-linux-graphics-firmwaresで入手できます。しかし、数週間前にそのサイトを読んだとき、さまざまなシナリオでうまくいかない可能性のあるすべてのことを心配していたので、オプトアウトしました。

9月24日から4.8リリース候補6をインストールしましたか?これが、Ubuntuでの最新版だと思います。答える必要はありませんが、なぜ4.7.5ではなく4.8を使用したのか、つまり、問題を修正するためにどのような違いが必要なのか興味があります。

編集-2016年10月19日

カーネルバージョン4.8.1(実際のバージョンであり、リリース候補ではない)を1週間以上使用しており、問題なく動作しています。ただし、これはUbuntu 16.04の下です。Ubuntu 16.10は10月13日にリリースされ、カーネルバージョン4.8.0を使用しています。

この答えを更新し続けることは私の計画ではありませんが、4.8リリース候補には問題があるかもしれないという推論を休ませたいと思いました。実際のバージョンはそうではありません。

編集-2017年2月2日

現在、カーネルバージョン4.9.5メインラインバージョンを実行していますが、この時点でUbuntu 16.04はカーネルを4.4.0-59に更新しました。インテルは、Intel Graphics for Linuxのリンクを変更しましたドライバー、上記の新しいリンクを更新しました。

sudo update-initramfs -uカーネルバージョン> 4.8(Ubuntu 16.10および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

バグレポート(bugs.launchpad.net-linux firmware bug)に記載されているように、ドライバーは単に存在せず、「kaby lake」と呼ばれる将来のチップがリリースされるまで存在しません。

警告メッセージを消す

警告メッセージを消すために、次のことを行いました。

$ 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

出来上がり!これ以上の警告メッセージはありません。

プログラム「hello」は、「Hello World!」と言う504バイトのアセンブラープログラムです。エラーメッセージで指定されたファームウェアバイナリに小さな実行可能ファイルをコピーできます。Intelが最終的にそれらをリリースすると、ソフトウェアアップデーターはそれらを実際のバージョンに置き換えます。

Intel Graphics for Linux Webサイトをナビゲートする方法

この画面を表示する新しいIntel Webサイト(01.org-Linux Graphics Downloads)内をナビゲートする方法をコメントで尋ねました。

Linux用Intelグラフィックス1

Ubuntu 16.04検索フィールドに入力して、Filterボタンをクリックします。

Ubuntu 16.10の場合、最初の結果を選択します。この場合、Ubuntu 16.04で2番目の結果INTEL GRAPHICS UPDATE TOOL FOR LINUX* OS V2.0.2を選択すると、次の画面が表示されます。

Intel Graphics for Linux 2

私の場合、ファイルintel-graphics-update-tool_2.0.2_amd64.debを自分の~/DownloadsディレクトリにダウンロードしたUbuntu 16.04 64ビットを選択しました。

次のステップは、ターミナルを開いて次を使用することです。

cd Downloads
sudo dpkg -i intel*.deb

注: IntelはAncients ttfフォントを使用しており、システムにない場合、インストールは失敗します。この時点で、次を使用する必要があります。

sudo apt -f install
sudo apt update
sudo apt upgrade

Intel Graphics for Linux Updaterこの画面が示すように、ツールを実行できます。

Intel Graphics for Linux 3

UbuntuにIntel署名を追加する

次のapt-get updateような警告/エラーメッセージが表示されます。

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.

次を使用してIntelの署名を追加する必要があります。

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

次に、Ubuntuで更新します。

sudo apt update
sudo apt upgrade

2

Ubuntu Gnome 16.04 "ソフトウェア"アプリ(ネイティブパッケージマネージャー)からカーネルを更新し、更新中にクラッシュしたため、同様の問題に直面しました。

そのため、linux-imageの生成に失敗したため、Ubuntuの再起動が禁止されました。

その時点からそれを解決するために、私は次のことをしました:

  1. Linuxを再起動し、マザーボード画面を押しShiftてすぐにgrubメニューに入ります。
  2. メニューから以前のLinuxバージョンを選択します。私の場合*4.4.0-21-generic、押しEnterます。
  3. Ubuntuが再び起動したら、壊れたlinux-imageをアンインストールします。私の場合、*4.4.0-59-generic(Synapticパッケージマネージャーを使用しました);
  4. Intelページから不足しているファームウェアをダウンロードしてインストールします(Doug Smythiesと同じ)。私の場合、私はKabyLake kbl DMC - Ver 1.01;
  5. そして最後に、Linuxカーネル*4.4.0-59-generic(私の場合)を再度インストールするかlinux-generic、最新の完全な汎用Linuxカーネルのみをインストールします。

成功!カーネルは最新であり、すべてのファームウェアは正常に動作しています!

宜しくお願いします!


グラフィックファームウェアへのリンクはもう機能しません。誰が今ファームウェアを入手できるか知っていますか?
ニコライ・レショフ

本当に?ここでまだ開けることができます。:しかし、また次のリンクしようとgit.kernel.org/cgit/linux/kernel/git/firmware/...
マット・メロ

1

debian(私はDebian GNU / Linuxバスターを持っています)を実行している場合は、次の手順に従ってください。

  1. フォルダーを作成します。

    sudo mkdir -p /lib/firmware/i915
    
  2. https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915からこのフォルダーにすべてのファイルをコピーします

  3. initramfs-toolsパッケージを再構成します。

    sudo dpkg-reconfigure initramfs-tools
    

Ubuntuのコマンドは次のようなものですsudo update-initramfs -uが、私は電話をしているので確認できません。Debianの質問はここではトピック外であるため、あなたの答えが多くの人々に影響を与えることはほとんどありません。
WinEunuuchs2Unix
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.