Возможно отсутствует прошивка /lib/firmware/i915
Я обновил свой ноутбук до версии 4.8, и во время этого процесса появились следующие предупреждения.
update-initramfs: Generating /boot/initrd.img-4.8.0-040800-generic
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
Они кажутся мне немного странными, так как мой процессор i7-6700HQ, который является скайлайком, и я понимаю, что это для разных процессоров? Я следовал инструкциям здесь ранее, так как в прошлом у меня были предупреждения относительно моего семейства процессоров.
Являются ли эти предупреждения вещами, которые я должен просто игнорировать, или я должен установить драйверы guc / dmc для этих семейств процессоров?
6 ответов
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
Теперь мое Скай Лейк (skl
Драйверы обновлены, и я могу попробовать последние параметры ядра, рекомендованные в Интернете. Предупреждающие сообщения для будущих процессоров Kaby Lake (kbl
), Кэннон Лейк (cnl
) и Ледяное озеро (icl
ушли, делая жизнь менее стрессовой.
26 мая 2018 Обновление
Незначительная редакция 6 августа 2018 года.
Новый экран загрузки "BLOB-объектов"
Недавно Intel создала новую страницу загрузки и новый макет веб-страницы:
Файлы для загрузки теперь называются микропрограммными каплями, что является новинкой для драйверов микропрограмм. Он обозначает B inary L arge OB ject (BLOB).
Драйвера отсортированы по процессору:
bxt
Брокстон, Отменен в 2016 году, преемник процессоров Cherry Trailkbl
Kabylake, 7-го поколения, например, i7-7700skl
Skylake, 6-го поколения, например, i7-6700
Затем драйверы организуются по подгруппам (полное объяснение здесь):
- GUC - GuC предназначен для выполнения графиков рабочей нагрузки на различных графических параллельных движках.
- DMC - DMC предоставляет дополнительные графические режимы с низким энергопотреблением.
- HUC - HuC предназначен для разгрузки некоторых функций мультимедиа из CPU в 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
Требуется скачать драйвер
Установочного скрипта больше нет, как в предыдущих версиях. Просто выделите отсутствующий драйвер (blob) и нажмите на него. Этот экран появляется:
Первоначально вы видите только "шестнадцатеричный дамп", но после нажатия на ссылку под названием 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
выше с отсутствующими именами драйверов, которые вы скачали.
VOILA! Новый драйвер установлен. Намного проще, чем предыдущие способы установки отсутствующих драйверов 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/firmware) веб-страница:
Загрузите недостающие драйверы для Kabylake ( GuC - версия 9.14) и ( DMC - версия 1.01) и Broxton ( GuC - версия 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.*
Историческая (оригинальная) запись для справки
У меня было два предупреждающих сообщения об отсутствующих драйверах i915 для ядра 4.6.3, 4.7.1, 4.7.2, 4.7.3 и 4.7.5. Я проигнорировал их, и все было в порядке с моей интегрированной графикой HD4000 Intel. Я бы хотел, чтобы то же самое можно было сказать о Nvidia и Nouvaeu.
Как говорится в одном из ответов в вашей ссылке, вы можете перейти на веб-сайт Intel, чтобы получить самые последние версии драйверов для графической системы Linux по адресу: 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 октября, и она использует версию ядра 4.8.0.
Я не планирую постоянно обновлять этот ответ, но я хотел бы сделать вывод, что у кандидатов в версии 4.8 могут быть проблемы. Реальной версии нет.
Изменить - 2 февраля 2017 г.
Сейчас запущена основная версия Kernel версии 4.9.5, которая в настоящее время обновляет ядро до версии 4.4.0-59 в Ubuntu 16.04. Intel изменила свою ссылку на драйверы Intel Graphics для 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), драйверов просто не существует, и их не будет, пока не будет выпущен будущий чип под названием "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" - это 504-байтовая ассемблерная программа с надписью "Hello World!". Вы можете скопировать любой небольшой исполняемый файл в двоичные файлы прошивки, указанные в сообщениях об ошибках. Когда Intel в конечном итоге выпустит их, программа обновления программного обеспечения заменит их реальными версиями.
Как ориентироваться на сайте Intel Graphics для Linux
В комментариях меня спросили, как перемещаться по новому веб-сайту Intel ( https://01.org/linuxgraphics/downloads), где представлен этот экран:
Тип Ubuntu 16.04
в поле поиска и нажмите Filter
кнопка.
Для Ubuntu 16.10 выберите первый результат. В нашем случае Ubuntu 16.04 выберет второй результат INTEL GRAPHICS UPDATE TOOL FOR LINUX* OS V2.0.2
и появляется этот экран:
В моем случае я выбрал Ubuntu 16.04 64-bit, который скачал файл intel-graphics-update-tool_2.0.2_amd64.deb
к моему ~/Downloads
каталог.
Следующим шагом является открытие терминала и использование:
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 подписи для 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
Вы можете загрузить недостающее встроенное ПО ядра с веб-сайта Intel https://01.org/linuxgraphics/downloads/firmware
- Загрузите необходимые файлы
- Разверните файлы, используя
tar -xvf
- Установите драйверы, используя
sudo bash ./install --install
Повторите для всех упомянутых прошивок и затем перезагрузите
Intel снова изменила сайт и теперь перенаправляет его на git.kernel.org.
Посмотрите на ваши предупреждения, используя окно терминала (терминал, PuTTY и т. Д. Или на локальном компьютере), а затем для каждого нажмите ссылку на странице Intel Git с помощью веб-браузера (который вызывает шестнадцатеричный дамп файла), скопируйте Расположение ссылки от простой кнопки над дампом, вернитесь к терминалу и получите эту ссылку.
Как только вы получите файлы, соответствующие каждому предупреждению, cp
или же sudo cp
их /lib/firmware/i915
,
Я получил это и исправил это с помощью тестирования.
После каждой команды попробуйте перезагрузиться, чтобы узнать, не нужны ли дальнейшие команды.
Проверьте, работает ли это. Оба или один из пакетов
sudo apt install firmware-b43-installer
Он также устанавливает и использует b43-fwcutter.
Может кому-то нужно не это, а
sudo apt install firmware-b43legacy-installer
затем
modprobe b43
Я думаю, что это исправило это, если после перезагрузки не работает.
может еще раз после перезагрузки проверю- ошибки для каких-то других драйверов показывают, но ваш драйвер будет уже установлен
sudo update-initramfs -u -k all
Из моего тестирования в
Решение
Сначала установите или обновите пакет
sudo apt install linux-firmware
Убедитесь, что прошивка отсутствует.
sudo update-initramfs -u
Если какая-либо прошивка по-прежнему отсутствует, следуйте , чтобы установить ее вручную.
Подробности
Раньше я решал эту проблему, вручную загружая недостающую прошивку и копируя ее на место, как ответу WinEunuuchs2Unixпредложил WinEunuuchs2Unix .
Только сегодня увидел это сообщение:
update-initramfs: Generating /boot/initrd.img-6.2.0-31-generic
W: Possible missing firmware /lib/firmware/i915/dg2_huc_gsc.bin for module i915
Но я заметил, что после обновления это исчезло. Конечно же, этот файл находится в пакете:
$ apt-file list linux-firmware | grep /lib/firmware/i915/dg2_huc_gsc.bin
linux-firmware: /lib/firmware/i915/dg2_huc_gsc.bin
На самом деле, только для i915 существует более сотни файлов:
apt-file list linux-firmware | grep i915 | wc -l
123
А всего тысячи файлов прошивок:
$ apt-file list linux-firmware | grep /lib/firmware | wc -l
3069
Возможно, прошивка может отсутствовать, если она еще не была добавлена, но, по крайней мере, на моей машине в данный момент (с процессором Intel 11-го поколения) вся нужная мне прошивка находится вlinux-firmware
.
После обновления я получал сообщения «отсутствует прошивка /lib/firmware/i915/...file». В моей системе даже не было каталога /lib/firmware/i915. И все операции казались нормальными.
Отбросив осторожность и имея недавнюю полную резервную копию, я решил попробовать создать фиктивные нулевые файлы, на которые жаловался процесс update-initramfs. Я скопировал сообщения об ошибках во временный файл (например,mytempfile
и с помощью одного из моих текстовых редакторов (например, vi, mcedit, sed и т. д.) изменил строки, например,W: Possible missing firmware /lib/firmware/i915/bxt_dmc_ver1_07.bin for module i915
к
sudo touch /lib/firmware/i915/bxt_dmc_ver1_07.bin
для каждого файла .bin с ошибкой.
Затем я создал необходимый каталог:
sudo mkdir /lib/firmware/i915
И получил мой временный файл:source mytempfile
Затем сгенерировал новый интрамфс:sudo update-initramfs -u
И больше не наблюдалось сообщений об отсутствии файлов .bini915.
Пробная перезагрузка и все прошло нормально.
Этот процесс создаст нулевой файл нулевого размера для каждого из отсутствующих файлов .bin. Когда/если будет отправлено обновление, содержащее новые обновленные файлы .bin, оно перезапишет только что созданные нулевые файлы.
Несколько слов предостережения:
- Имейте резервную копию.
- Делайте это только после полного обновления вашей системы.
- Убедитесь, что у вас нет проблем, которые могут помешать.
- Это сработало для меня. ЮММВ. И этот обходной путь, вероятно, не «одобрен» дураками.
(Перекрестная публикация, потому что я ненавижу видеть ответы на вопросы, содержащие только ссылку на ответ в другом сообщении...)