"W: Можлива відсутність вбудованого програмного забезпечення для модуля i915_bpo" під час оновлення initramfs


75

Коли я запускаю оновлення драйвера ядра або NVIDIA 16.04, це запускає перезавантаження 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.

Використовуваний пристрій - моя карта 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і мій процесор - SKylake з Intel HD в ньому.
Csaba Toth

Крім того, я використовую 1.158версію linux-firmwareпакету замість основної лінії, 1.157тому що лише ця програма надала робочу прошивку для мого wifi (вбивця бездротового зв'язку).
Csaba Toth

3
@CsabaToth kblрозшифровується як Kabylake, яка є спадкоємцем Skylake. Оскільки у вас немає такого процесора, ви можете або проігнорувати попередження, або просто встановити драйвер Kabylake за тим же посиланням, яке вказано у відповіді Дуга Сміті.
Командир байтів

Правильно, i7 6820hk - це просто SkyLake, наступне покоління
Csaba Toth

Відповіді:


62

У пакеті драйверів дещо відстає ядро. У моєму випадку відсутня прошивка не має значення, оскільки у мене немає процесора SkyLake, але у вашому випадку це може мати значення. Ви можете отримати новішу прошивку тут .

РЕДАКТУРА 1: Зверніть увагу, що посилання змінилося, але читачам все-таки слід мати можливість знайти те, що їм потрібно в новому посиланні, хоча іноді може бути важко точно знати, що ви шукаєте.

EDIT 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

EDIT 3: Для користувачів, які використовують git, ця відповідь також добре працює.


3
Я встановив як драйвери GuC, так і DMC для Skylake успішно, і я думаю, що попередження має бути відсутнє. Дякую.
Байт-командир

4
А, я знайшов це. Виглядає, що нове оновлення ядра додало підтримку нових процесорів Kabylake Intel, і тепер також хотілося б мати для них драйвер модулів. Напевно, це зайве, оскільки у мене немає процесора Kabylake, але, щоб уникнути попередження, я також завантажив і встановив драйвер kbl DMC з веб-сайту, на який ви зв’язувались. Зараз це знову добре виглядає.
Байт-командир

2
Що означає "матерія"? Чи не зможе нове ядро ​​завантажитися чи немає реального видимого впливу, окрім деяких попереджувальних повідомлень?
musiKk

3
@musiKk: Якщо ваш процесор не той, якому потрібен один з файлів прошивки, що відсутній, він не має значення ", це означає, що наслідків його відсутності не буде. Наприклад, лише процесору Skylake потрібна прошивка "skl".
Doug Smythies

1
@FeryArdiant: Так, попередження не стосуються того, який процесор ви фактично використовуєте, лише якщо у вас є прошивка чи ні.
Doug Smythies

18

Оновлення 20 травня 2019 року

Щоб відповісти на своє запитання, вам не потрібно оновлювати драйвери для процесора, на якому ви не працюєте, але приємно бачити, як попередження зникають.

Сьогодні я отримав таке попередження:

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 Lake ( skl) оновлені, і я можу випробувати останні параметри ядра, рекомендовані в Інтернеті. Попереджувальні повідомлення майбутніх процесорів Kaby Lake ( kbl), Cannon Lake ( cnl) та Ice Lake ( icl) втрачають життя, роблячи життя менш напруженим.


26 травня 2018 р. Оновлення

Незначна доопрацювання 6 серпня 2018 року.

Новий екран завантаження "краплі"

Нещодавно Intel створила нову сторінку завантаження та новий макет веб-сторінки:

Прошивки прошивки Intel i915

Ці завантаження файли тепер називаються мікропрограмні згустки , який є новим -говорить прошивки драйверів . Він розшифровується як 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 призначений для завантаження деяких засобів масової інформації з процесора на GPU.

Потрібно відповідати повідомлення про помилку драйверу

Порівняйте повідомлення про помилку, яке ви отримуєте від update-initramfsабо update-grubзнайдіть відсутній драйвер. У вашому прикладі повідомлення було " /lib/firmware/i915/kbl_guc_ver9_14.bin", отже, ви не вистачаєте під назвою Kabylake GuC: kbl_guc_ver9_14.binна веб-сторінці, показаній вище. Ви не хочете, щоб новіший:kbl_guc_ver9_39.bin

Потрібно завантажити драйвер

Більше немає сценарію встановлення, як у попередніх версіях. Просто виділіть відсутній драйвер (крапку) і натисніть на нього. З'явиться цей екран:

Драйвери Intel i915 download.png

Спочатку ви бачите лише "шістнадцятковий дамп", але після натискання на посилання під назвою звичайне вікно завантаження з'являється, як показано вище.

Натисніть "Зберегти файл"

Встановити драйвер просто 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

Використовуйте команду locate нижче замість llocate .


14 лютого 2017 року - Intel випустила драйвери

Відповідно до цього звіту про помилки сьогодні ( W: Можлива відсутність прошивки /lib/firmware/i915/kbl_guc_ver9_14.bin для модуля i915 ) Intel випустила необхідні драйвери Kabylake та Broxton на своїх ( https://01.org/linuxgraphics/downloads/ веб-сторінка прошивки ):

Intel Graphics для драйверів Linux

Завантажте відсутні файли драйверів для Kabylake ( GuC - Ver 9.14 ) та ( DMC - Ver 1.01 ) та Broxton ( GuC - 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

Витягніть стислі файли смоли:

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

Історична (оригінальна) довідка

У мене було два попереджувальні повідомлення про відсутніх драйверів i915 для Kernel 4.6.3, 4.7.1, 4.7.2, 4.7.3 та 4.7.5. Я проігнорував їх, і все було в порядку з моєю інтегрованою графікою HD4000 Intel. Я б хотів, щоб те ж саме можна було сказати і про Нвідію та Нувае.

Як зазначено в одній відповіді у вашому посиланні, ви можете зайти на веб-сайт Intel, щоб отримати найсучасніші драйвери Linux Graphics за адресою: intel-linux-graphics-firmwares . Однак коли я прочитав цей сайт кілька тижнів тому, я переймався всіма можливими речами, які можуть піти не так у різних сценаріях, тому я відмовився.

Ви встановили 4.8 випуску кандидата 6 з 24 вересня? Це найбільш актуальне в Ubuntu, я вважаю. Вам не потрібно відповідати, але мені цікаво, чому ви пішли з 4.8 замість 4.7.5, тобто які відмінності вам потрібні, щоб виправити речі.

Редагування - 19 жовтня 2016 року

Тепер ядро ​​використовує версію 4.8.1 (реальна версія та не випускає кандидата) більше тижня, і все працює добре. Хоча це під Ubuntu 16.04, хоча. Ubuntu 16.10 був випущений 13 жовтня, і він використовує Kernel версії 4.8.0 Я вважаю.

Це не мій план продовжувати оновлювати цю відповідь, але я хотів відмовитися від висновку про те, що кандидати з релізів у 4,8 можуть мати проблеми. Реальна версія - ні.

Редагування - 2 лютого 2017 року

Зараз запущена основна версія версії 4.9.5, яка на даний момент Ubuntu 16.04 оновила своє ядро ​​до 4.4.0-59. Intel змінила своє посилання на Intel Graphics для драйверів Linux, і я оновила нове посилання вище.

Залишаються питання щодо попереджувальних повідомлень, створених, sudo update-initramfs -uколи версія Kernel> 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 ), драйверів просто не існує і не буде, поки не вийде майбутній чіп під назвою "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

Вуаля! Більше немає попереджувальних повідомлень.

Програма "привіт" - це програма з 504-байтних асемблерів, яка говорить "Hello World!". Ви можете скопіювати будь-який невеликий виконуваний файл у бінарні файли програмного забезпечення, наведені в повідомленнях про помилки. Коли Intel врешті-решт випустить їх, оновлення програмного забезпечення замінить їх реальними версіями.

Як орієнтуватися на Intel Graphics для веб-сайту Linux

Через коментарі йому було задано питання про навігацію на новому веб-сайті Intel ( 01.org - Linux Graphics Downloads ), на якому представлений цей екран:

Intel Graphics для Linux 1

Введіть Ubuntu 16.04у поле пошуку та натисніть Filterкнопку.

Для Ubuntu 16.10 виберіть перший результат. У нашому випадку Ubuntu 16.04 виберіть другий результат, INTEL GRAPHICS UPDATE TOOL FOR LINUX* OS V2.0.2і на цьому екрані з'явиться:

Intel Graphics для Linux 2

У моєму випадку я вибрав 64-розрядний Ubuntu 16.04, який завантажив файл intel-graphics-update-tool_2.0.2_amd64.debу свою ~/Downloadsкаталог.

Наступним кроком є ​​відкриття терміналу та використання:

cd Downloads
sudo dpkg -i intel*.deb

ПРИМІТКА: Intel використовує шрифт стародавнього ttf, і ваша установка не вдасться, якщо її немає у вашій системі. У цей момент вам потрібно скористатися:

sudo apt -f install
sudo apt update
sudo apt upgrade

Тепер ви можете запустити Intel Graphics for Linux Updaterінструмент, як показано на цьому екрані:

Intel Graphics для Linux 3

Додайте підписи Intel для Ubuntu

Під час 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 (власний менеджер пакунків), і воно вийшло з ладу під час оновлення.

Таким чином, мені було заборонено завантажувати Ubuntu знову, тому що linux-образ був невдало генерований.

Щоб вирішити це з цього моменту, я зробив наступне:

  1. Перезавантажте Linux і відразу після екрану материнської плати натисніть, Shiftщоб увійти в меню grub;
  2. Виберіть у меню попередню версію Linux. У моєму випадку *4.4.0-21-genericі натисніть Enter;
  3. Як тільки Ubuntu знову запущено, видаліть зірваний linux-образ. В моєму випадку *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 buster), просто виконайте наступні дії:

  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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.