View previous topic :: View next topic |
Author |
Message |
y351 Apprentice
Joined: 21 May 2017 Posts: 195
|
Posted: Mon Sep 17, 2018 10:28 am Post subject: Failed to load DMC firmware i915/kbl_dmc_ver1_04. [Resolved] |
|
|
Hi,
I get an error about this error from the boot.
Code: |
[ 0.689615] i915 0000:00:02.0: Direct firmware load for i915/kbl_dmc_ver1_04.bin failed with error -2
[ 0.689617] i915 0000:00:02.0: Failed to load DMC firmware i915/kbl_dmc_ver1_04.bin. Disabling runtime power management.
|
It existe :
Code: | ll /lib/firmware/i915/kbl_dmc_ver1_04.bin |
Code: |
-rw-r--r-- 1 root root 8840 17 sept. 10:42 /lib/firmware/i915/kbl_dmc_ver1_04.bin
|
I can not say whether it is serious or not.
Code: |
[ 0.685015] [drm] Replacing VGA console driver
[ 0.687679] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 0.687680] [drm] Driver supports precise vblank timestamp query.
[ 0.689572] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[ 0.689615] i915 0000:00:02.0: Direct firmware load for i915/kbl_dmc_ver1_04.bin failed with error -2
[ 0.689617] i915 0000:00:02.0: Failed to load DMC firmware i915/kbl_dmc_ver1_04.bin. Disabling runtime power management.
[ 0.689619] i915 0000:00:02.0: DMC firmware homepage: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915
[ 0.701351] [drm] Initialized i915 1.6.0 20180514 for 0000:00:02.0 on minor 0
[ 0.704860] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no)
|
Code: |
Portage 2.3.49 (python 2.7.15-final-0, default/linux/amd64/17.0/systemd, gcc-7.3.0, glibc-2.26-r7, 4.18.7-gentoo x86_64)
=================================================================
System uname: Linux-4.18.7-gentoo-x86_64-Intel-R-_Core-TM-_i5-7200U_CPU_@_2.50GHz-with-gentoo-2.4.1
KiB Mem: 8025508 total, 116396 free
KiB Swap: 8388604 total, 8387580 free
Timestamp of repository gentoo: Mon, 17 Sep 2018 08:00:01 +0000
Head commit of repository gentoo: 859d78589eeb645ed87ef2a74e2cfea260381bb2
sh bash 4.4_p12
ld GNU ld (Gentoo 2.30 p2) 2.30.0
ccache version 3.3.4 [enabled]
app-shells/bash: 4.4_p12::gentoo
dev-java/java-config: 2.2.0-r4::gentoo
dev-lang/perl: 5.24.3-r1::gentoo
dev-lang/python: 2.7.15::gentoo, 3.5.5::gentoo, 3.6.5::gentoo
dev-util/ccache: 3.3.4-r1::gentoo
dev-util/cmake: 3.9.6::gentoo
dev-util/pkgconfig: 0.29.2::gentoo
sys-apps/baselayout: 2.4.1-r2::gentoo
sys-apps/openrc: 0.34.11::gentoo
sys-apps/sandbox: 2.13::gentoo
sys-devel/autoconf: 2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake: 1.11.6-r3::gentoo, 1.15.1-r2::gentoo
sys-devel/binutils: 2.30-r2::gentoo
sys-devel/gcc: 7.3.0-r3::gentoo
sys-devel/gcc-config: 1.8-r1::gentoo
sys-devel/libtool: 2.4.6-r3::gentoo
sys-devel/make: 4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.17::gentoo (virtual/os-headers)
sys-libs/glibc: 2.26-r7::gentoo
Repositories:
gentoo
location: /usr/portage
sync-type: rsync
sync-uri: rsync://rsync.gentoo.org/gentoo-portage
priority: -1000
sync-rsync-verify-jobs: 1
sync-rsync-verify-metamanifest: yes
sync-rsync-extra-opts:
sync-rsync-verify-max-age: 24
pixlra
location: /var/lib/layman/pixlra
masters: gentoo
priority: 50
swegener
location: /var/lib/layman/swegener
masters: gentoo
priority: 50
zugaina
location: /var/lib/layman/zugaina
masters: gentoo
priority: 50
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -fforce-addr -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/davmail-4.8.0/conf /usr/share/gnupg/qualified.txt /var/rancid/.cloginrc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo"
CXXFLAGS="-march=native -O2 -fforce-addr -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--jobs=4 --load-average=4.0 --keep-going=y --with-bdeps=y"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans unprivileged userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="fr_FR.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X acl amd64 berkdb bindist bzip2 cli crypt cryptsetup cxx dri ffmpeg fortran gdbm gnutls iconv ipv6 jpg libtirpc logrotate mmx modplug modules multilib ncurses nls nptl openmp pam pcre perl png pulseaudio python readline seccomp secure_delete sse sse2 ssl systemd tcpd udev unicode wavpack webrsync-gpg xattr xml zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon plan sheets stage words" COLLECTD_PLUGINS="load memory syslog" CPU_FLAGS_X86="mmx sse sse2 mmxext" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" QEMU_SOFTMMU_TARGETS="alpha arm i386 mips mips64 mips64el mipsel ppc ppc64 s390x sh4 sh4eb sparc sparc64 x86_64" QEMU_USER_TARGETS="alpha arm armeb i386 mips mipsel ppc ppc64 ppc64abi32 s390x sh4 sh4eb sparc sparc32plus sparc64 x86_64" RUBY_TARGETS="ruby23" USERLAND="GNU" VIDEO_CARDS="intel i915" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
|
[Moderator edit: changed [quote] tags to [code] tags to preserve output layout; removed spurious extra close-quote tag. -Hu]
Last edited by y351 on Tue Sep 18, 2018 10:14 am; edited 1 time in total |
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6098 Location: Dallas area
|
Posted: Mon Sep 17, 2018 10:45 am Post subject: |
|
|
If you use an initramfs
From an archlinux forum reply
Quote: | The firmware for built-in modules is loaded from initramfs. You need to edit your /etc/mkinitcpio.conf and add the /usr/lib/firmware/i915/kbl_dmc_ver1_04.bin to the FILES array there. Once done, regenerate your initramfs by running mkinitcpio. |
_________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54232 Location: 56N 3W
|
Posted: Mon Sep 17, 2018 10:46 am Post subject: |
|
|
y351,
Code: | [ 0.689615] i915 0000:00:02.0: Direct firmware load for i915/kbl_dmc_ver1_04.bin failed with error -2 |
At that time, root is not yet mounted so /lib/firmware/ cannot be read.
With i915 built into the kernel, all the required firmware must be included in the kernel too.
There is an example of how to do this on the wiki _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
bunder Bodhisattva
Joined: 10 Apr 2004 Posts: 5934
|
Posted: Mon Sep 17, 2018 10:48 am Post subject: |
|
|
https://wiki.gentoo.org/wiki/Linux_firmware
The wiki article isn't 100% clear how to install the firmware into the kernel, but you'll want something like this...
Code: | CONFIG_EXTRA_FIRMWARE="intel-ucode/06-9e-09 i915/kbl_dmc_ver1.bin i915/kbl_dmc_ver1_01.bin i915/kbl_dmc_ver1_04.bin i915/kbl_guc_ver9_14.bin i915/kbl_guc_ver9_39.bin i915/kbl_huc_ver02_00_1810.bin intel/dsp_fw_kbl.bin intel/dsp_fw_kbl_v2042.bin intel/dsp_fw_kbl_v2630.bin intel/dsp_fw_kbl_v3266.bin intel/dsp_fw_kbl_v3420.bin intel/ibt-hw-37.8.bseq intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq iwlwifi-3168-21.ucode iwlwifi-3168-22.ucode iwlwifi-3168-27.ucode iwlwifi-3168-29.ucode rtl_nic/rtl8411-1.fw rtl_nic/rtl8411-2.fw" |
_________________
Neddyseagoon wrote: | The problem with leaving is that you can only do it once and it reduces your influence. |
banned from #gentoo since sept 2017 |
|
Back to top |
|
|
y351 Apprentice
Joined: 21 May 2017 Posts: 195
|
Posted: Mon Sep 17, 2018 2:47 pm Post subject: |
|
|
Thanks for yours advices.
Yes, i use initramfs to boot from crypted device : so, in fact, from the initramfs boot, the root mount was not been mounted yet...
I did not remember whether i build into the kernel with the firmware...
This error is new...and since when compiling new kernel, i use to do
to import the old config kernel, i did not noticed any sort of error from before.
Right now, when checking, the option of the kernel here is :
Code: | Build named firmware blobs into the kernel binary |
So, it must be better to define into this option, the path of the firmware : /lib/firmware
What do you think about this option ?
Last edited by y351 on Mon Sep 17, 2018 3:15 pm; edited 1 time in total |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54232 Location: 56N 3W
|
Posted: Mon Sep 17, 2018 3:02 pm Post subject: |
|
|
y351,
When you put a file name in there, you will get a new option appear for a directory to prepend to the file names.
That's the method though.
For intel video, it comes with a warning that built in may prevent suspend to RAM from working. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
P.Kosunen Guru
Joined: 21 Nov 2005 Posts: 309 Location: Finland
|
Posted: Mon Sep 17, 2018 4:45 pm Post subject: |
|
|
bunder wrote: | The wiki article isn't 100% clear how to install the firmware into the kernel, but you'll want something like this... |
Code: | CONFIG_EXTRA_FIRMWARE="intel-ucode/06-8e-09 i915/kbl_dmc_ver1_04.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware" |
I had same error, just added i915/kbl_dmc_ver1_04.bin to menuconfig Device Drivers -> Generic Driver Options -> Firmware loader -> Build named firmware blobs into the kernel binary and its gone. |
|
Back to top |
|
|
y351 Apprentice
Joined: 21 May 2017 Posts: 195
|
Posted: Tue Sep 18, 2018 10:13 am Post subject: |
|
|
Yes, after compiling again with the suggestion above, and reboot, the failed message is gone.
Thanks again for your return. |
|
Back to top |
|
|
buratino2015 n00b
Joined: 16 Apr 2015 Posts: 14
|
Posted: Thu Oct 04, 2018 7:55 pm Post subject: |
|
|
NeddySeagoon wrote: |
With i915 built into the kernel, all the required firmware must be included in the kernel too.
There is an example of how to do this on the wiki
|
I follow the article but I still have the same issue.
So in my kernel config I checked item "Include in-kernel firmware blobs in kernel binary" and specified required blobs in the item "External firmware blobs to build into the kernel binary".
But dmesg still report the error (I've also checked the item "Driver Core verbose debug messages" for detailed log):
Code: | 1926 [ 0.219836] firmware_class: __allocate_fw_buf: fw-i915/kbl_dmc_ver1_01.bin buf=ffff880424322380$
1927 [ 0.219841] i915 0000:00:02.0: loading /lib/firmware/updates/4.14.65-gentoo-HuC/i915/kbl_dmc_ver1_01.bin failed with error -2$
1928 [ 0.219843] i915 0000:00:02.0: loading /lib/firmware/updates/i915/kbl_dmc_ver1_01.bin failed with error -2$
1929 [ 0.219845] i915 0000:00:02.0: loading /lib/firmware/4.14.65-gentoo-HuC/i915/kbl_dmc_ver1_01.bin failed with error -2$
1930 [ 0.219846] i915 0000:00:02.0: loading /lib/firmware/i915/kbl_dmc_ver1_01.bin failed with error -2$
1931 [ 0.219847] i915 0000:00:02.0: Direct firmware load for i915/kbl_dmc_ver1_01.bin failed with error -2$
1932 [ 0.219851] firmware_class: __fw_free_buf: fw-i915/kbl_dmc_ver1_01.bin buf=ffff880424322380 data= (null) size=0$
1933 [ 0.219852] i915 0000:00:02.0: Failed to load DMC firmware [https://01.org/linuxgraphics/downloads/firmware], disabling runtime power management.
|
I understand that blob is not found because the file system is not mounted yet. But I can't understand why kernel does search for the blob on the file system.
As far as I understand the blob must be built into the kernel.
Can anybody help me? |
|
Back to top |
|
|
CondeProlog n00b
Joined: 09 Oct 2018 Posts: 7
|
Posted: Tue Oct 09, 2018 6:24 am Post subject: |
|
|
buratino2015 wrote: | NeddySeagoon wrote: |
With i915 built into the kernel, all the required firmware must be included in the kernel too.
There is an example of how to do this on the wiki
|
I follow the article but I still have the same issue.
So in my kernel config I checked item "Include in-kernel firmware blobs in kernel binary" and specified required blobs in the item "External firmware blobs to build into the kernel binary".
But dmesg still report the error (I've also checked the item "Driver Core verbose debug messages" for detailed log):
Code: | 1926 [ 0.219836] firmware_class: __allocate_fw_buf: fw-i915/kbl_dmc_ver1_01.bin buf=ffff880424322380$
1927 [ 0.219841] i915 0000:00:02.0: loading /lib/firmware/updates/4.14.65-gentoo-HuC/i915/kbl_dmc_ver1_01.bin failed with error -2$
1928 [ 0.219843] i915 0000:00:02.0: loading /lib/firmware/updates/i915/kbl_dmc_ver1_01.bin failed with error -2$
1929 [ 0.219845] i915 0000:00:02.0: loading /lib/firmware/4.14.65-gentoo-HuC/i915/kbl_dmc_ver1_01.bin failed with error -2$
1930 [ 0.219846] i915 0000:00:02.0: loading /lib/firmware/i915/kbl_dmc_ver1_01.bin failed with error -2$
1931 [ 0.219847] i915 0000:00:02.0: Direct firmware load for i915/kbl_dmc_ver1_01.bin failed with error -2$
1932 [ 0.219851] firmware_class: __fw_free_buf: fw-i915/kbl_dmc_ver1_01.bin buf=ffff880424322380 data= (null) size=0$
1933 [ 0.219852] i915 0000:00:02.0: Failed to load DMC firmware [https://01.org/linuxgraphics/downloads/firmware], disabling runtime power management.
|
I understand that blob is not found because the file system is not mounted yet. But I can't understand why kernel does search for the blob on the file system.
As far as I understand the blob must be built into the kernel.
Can anybody help me? |
It seems the kernel try to load the firmware but the blob isn't there (data=(null) size=0).
Also your path starts with "fw-i915/..." and the linux-firmware package installs the related files to "i915/..." so you should recheck that before building it.
To avoid this hassle build the i915 driver as a module, it will automatically load the right version for your GPU (the path is hardcoded in the driver source) from the file system. |
|
Back to top |
|
|
buratino2015 n00b
Joined: 16 Apr 2015 Posts: 14
|
Posted: Tue Oct 09, 2018 9:09 am Post subject: |
|
|
CondeProlog wrote: |
It seems the kernel try to load the firmware but the blob isn't there (data=(null) size=0).
Also your path starts with "fw-i915/..." and the linux-firmware package installs the related files to "i915/..." so you should recheck that before building it.
To avoid this hassle build the i915 driver as a module, it will automatically load the right version for your GPU (the path is hardcoded in the driver source) from the file system.
|
Thnx for the reply. It help me a lot.
A root cause of the issue was in the included blobs.
I typed by mistake blobs for 'coffe lake' cpu, but my cpu was 'kaby lake'. So kernel could not find firmware for my cpu. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|