Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Failed to load DMC firmware i915/kbl_dmc_ver1_04. [Resolved]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
y351
Apprentice
Apprentice


Joined: 21 May 2017
Posts: 195

PostPosted: Mon Sep 17, 2018 10:28 am    Post subject: Failed to load DMC firmware i915/kbl_dmc_ver1_04. [Resolved] Reply with quote

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:
emerge --info


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
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6097
Location: Dallas area

PostPosted: Mon Sep 17, 2018 10:45 am    Post subject: Reply with quote

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
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54216
Location: 56N 3W

PostPosted: Mon Sep 17, 2018 10:46 am    Post subject: Reply with quote

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
View user's profile Send private message
bunder
Bodhisattva
Bodhisattva


Joined: 10 Apr 2004
Posts: 5934

PostPosted: Mon Sep 17, 2018 10:48 am    Post subject: Reply with quote

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
View user's profile Send private message
y351
Apprentice
Apprentice


Joined: 21 May 2017
Posts: 195

PostPosted: Mon Sep 17, 2018 2:47 pm    Post subject: Reply with quote

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
Code:
make olddefconfig

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
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54216
Location: 56N 3W

PostPosted: Mon Sep 17, 2018 3:02 pm    Post subject: Reply with quote

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
View user's profile Send private message
P.Kosunen
Guru
Guru


Joined: 21 Nov 2005
Posts: 309
Location: Finland

PostPosted: Mon Sep 17, 2018 4:45 pm    Post subject: Reply with quote

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
View user's profile Send private message
y351
Apprentice
Apprentice


Joined: 21 May 2017
Posts: 195

PostPosted: Tue Sep 18, 2018 10:13 am    Post subject: Reply with quote

Yes, after compiling again with the suggestion above, and reboot, the failed message is gone.

Thanks again for your return.
Back to top
View user's profile Send private message
buratino2015
n00b
n00b


Joined: 16 Apr 2015
Posts: 14

PostPosted: Thu Oct 04, 2018 7:55 pm    Post subject: Reply with quote

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
View user's profile Send private message
CondeProlog
n00b
n00b


Joined: 09 Oct 2018
Posts: 7

PostPosted: Tue Oct 09, 2018 6:24 am    Post subject: Reply with quote

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
View user's profile Send private message
buratino2015
n00b
n00b


Joined: 16 Apr 2015
Posts: 14

PostPosted: Tue Oct 09, 2018 9:09 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
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