Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FS#3274 - An error is reported at each start-up phase #8146

Open
openwrt-bot opened this issue Aug 6, 2020 · 7 comments
Open

FS#3274 - An error is reported at each start-up phase #8146

openwrt-bot opened this issue Aug 6, 2020 · 7 comments
Labels
flyspray kernel pull request/issue with Linux kernel related changes

Comments

@openwrt-bot
Copy link

KLGIT886:

1.Error log:
[ 63.368179] i915 0000:00:02.0: Failed to load DMC firmware i915/glk_dmc_ver1_04.bin. Disabling runtime power management.
[ 63.379745] i915 0000:00:02.0: DMC firmware homepage: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915

2.Problem:Sometimes the power is suddenly cut off and the machine crashes

3.System information:
Intel(R) Celeron(R) J4105 CPU @ 1.50GHz : 4 Core 4 Thread
OpenWrt R20.7.20 / LuCI Master (git-20.191.45716-b73d3a4)

4.I tried to use the graphics driver to the kernel.The mistake did not disappear.In addition, I swiped in the latest firmware compiled by others.The problem remains
I tried to upgrade the kernel to 5.4.56, which did not solve the problem.Please help me

@xtendpayaa
Copy link

Same problem with 21.02.1

  1. Error log:
    [ 60.451635] i915 0000:00:02.0: Failed to load DMC firmware i915/skl_dmc_ver1_27.bin. Disabling runtime power management.
    [ 60.451997] i915 0000:00:02.0: DMC firmware homepage: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915

  2. Problem: nothing yet (I hope remain like this) just annoying, this error log always there every start-up

  3. System information:
    Intel(R) Pentium(R) CPU G4400T @ 2.90GHz
    OpenWrt 21.02.1 r16325-88151b8303

@aparcar aparcar added the kernel pull request/issue with Linux kernel related changes label Feb 22, 2022
@JonPike1
Copy link

JonPike1 commented Jan 15, 2023

Same problem with 22.03.3

  1. klog:
    [ 65.498556] i915 0000:00:02.0: [drm] Failed to load DMC firmware i915/bxt_dmc_ver1_07.bin. Disabling runtime power management.
    [ 65.510694] i915 0000:00:02.0: [drm] DMC firmware homepage: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915

  2. Also no noticed problems. (I think...) For router use, the higher level graphics are not important, and the VGA out has had no problems in occasional terminal use. But, it might be of interest to be able to shut down the GPU for a bit less power consumption, which I've read the firmware would allow. On my box, maybe other small ones (?) I don't think I can do that in BIOS.

  3. System: ZBOX-CI327NANO-GS-0
    CPU0: Intel(R) Celeron(R) CPU N3450 @ 1.10GHz (family: 0x6, model: 0x5c, stepping: 0x9)

@Spudz76
Copy link
Contributor

Spudz76 commented Jan 15, 2023

In debian all that stuff is in the firmware-linux-nonfree package which means it has license issues.

I would get the firmware-linux-nonfree deb file and unpack it (dpkg -x) then find the file being complained about and put it in files/lib/firmware/i915/ in the buildroot, then build again.

Multiple reports of the firmware from the link in the error message don't actually work since they are "raw" without some header they need for the kernel loader. The debian files have this header added so they actually work. As far as I could glean from 10 minutes on Google...

If it has license issues it will never be in a release build, that would be breaking the license terms. End user obtaining the correct file and placing it where it needs to be ironically does not break the license terms (it always has to be a manual extra step for the end user, even if it's in a package somewhere).

It might also work to drop the file(s) on your installation to the proper location /lib/firmware/i915/ if you are not building your own.

@filimonic
Copy link
Contributor

Tried to download from debian sid package, this does not help to get rid of this messages

opkg update
opkg install ar wget tar
mkdir ~/fw_i915
cd  ~/fw_i915
wget http://ftp.us.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-misc-nonfree_20230625-2_all.deb
ar vx firmware-misc-nonfree_20230625-2_all.deb
tar -xvf data.tar.xz ./usr/lib/firmware/i915/icl_dmc_ver1_09.bin
mkdir -p /lib/firmware/i915
cp ./usr/lib/firmware/i915/icl_dmc_ver1_09.bin /lib/firmware/i915/icl_dmc_ver1_09.bin
cd ~
opkg remove tar bzip2 libbz2-1.0 xz liblzma xz-utils ar libbfd
rm -fr ~/fw_i915

@Spudz76
Copy link
Contributor

Spudz76 commented Jan 14, 2024

Suspect something with overlay not being up before hotplug tries to load the firmware, thus putting it on the writable part of the filesystem may not provide it early enough. Therefore it may have to be built into the readonly section of the image using the files/ subdirectory tree in the buildroot and doing a custom build as my first suggestion.

Similar to having the firmware in initrd on a normal linux distro vs on some filesystem mounted later (in this case not a separate mount but the overlay mount). Those can have the same sort of problems except systemd/udev might re-run some hotplug hooks after later mounts to smooth over the problem.

Does it work if you rmmod/insmod after fully booted and the overlay is mounted? Sometimes i915 doesn't like to unload and reload after boot depending what's using it, or for other reasons. If so you could then put the rmmod/insmod into the startup commands (init) script which runs after overlay is ready as a workaround to avoid having to compile a custom image.

@filimonic
Copy link
Contributor

filimonic commented Jan 14, 2024

Therefore it may have to be built into the readonly section of the image using the files/ subdirectory tree in the buildroot and doing a custom build as my first suggestion.

I have x86_64 ext4 efi combined image, so as AFAIK there is no readable\writeable parts.
And one more strange it appears only after minute since boot (I have already SSHed to router, etc. before it appears in dmesg)

root@routerMARS:~# dmesg | grep i915
[    3.400156] i915 0000:00:02.0: Direct firmware load for i915/icl_dmc_ver1_09.bin failed with error -2
[    3.409433] i915 0000:00:02.0: Falling back to sysfs fallback for: i915/icl_dmc_ver1_09.bin
[    3.422064] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[    4.849873] fbcon: i915drmfb (fb0) is primary device
[    4.931728] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[   65.820262] i915 0000:00:02.0: [drm] Failed to load DMC firmware i915/icl_dmc_ver1_09.bin. Disabling runtime power management.
[   65.833837] i915 0000:00:02.0: [drm] DMC firmware homepage: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915

lsmod / rmmod / insmod / modprobe says there is no such module named i915 - what I am doing wrong?

root@routerMARS:~# lsmod
amd_xgbe              110592  0
bnx2                   73728  0
br_netfilter           20480  0
btrfs                 978944  0
button_hotplug         12288  0
chacha_x86_64          24576  1 libchacha20poly1305
crc_ccitt              12288  1 ppp_async
crypto_acompress       12288  3 zstd,lzo_rle,lzo
curve25519_x86_64      32768  1 wireguard
e1000                  98304  0
e1000e                176128  0
ena                    73728  0
fat                    61440  1 vfat
forcedeth              61440  0
i2c_dev                12288  0
igb                   159744  0
igc                    90112  0
ip_set                 28672 17 xt_set,ip_set_list_set,ip_set_hash_netportnet,ip_set_hash_netport,ip_set_hash_netnet,ip_set_hash_netiface,ip_set_hash_net,ip_set_hash_mac,ip_set_hash_ipportnet,ip_set_hash_ipportip,ip_set_hash_ipport,ip_set_hash_ipmark,ip_set_hash_ipmac,ip_set_hash_ip,ip_set_bitmap_port,ip_set_bitmap_ipmac,ip_set_bitmap_ip
ip_set_bitmap_ip       16384  0
ip_set_bitmap_ipmac    16384  0
ip_set_bitmap_port     12288  0
ip_set_hash_ip         28672  0
ip_set_hash_ipmac      28672  0
ip_set_hash_ipmark     28672  2
ip_set_hash_ipport     28672  0
ip_set_hash_ipportip   28672  0
ip_set_hash_ipportnet   36864  0
ip_set_hash_mac        20480  0
ip_set_hash_net        32768  5
ip_set_hash_netiface   36864  0
ip_set_hash_netnet     36864  0
ip_set_hash_netport    32768  0
ip_set_hash_netportnet   36864  0
ip_set_list_set        16384  1
ip_tables              20480  3 iptable_nat,iptable_mangle,iptable_filter
ip6_tables             20480  8 ip6table_nat,ip6table_mangle,ip6table_filter
ip6_udp_tunnel         12288  1 wireguard
ip6t_NPT               12288  0
ip6t_REJECT            12288  0
ip6table_filter        12288  0
ip6table_mangle        12288  1
ip6table_nat           12288  0
ipt_ECN                12288  0
ipt_REJECT             12288  0
iptable_filter         12288  0
iptable_mangle         12288  1
iptable_nat            12288  0
ixgbe                 217088  0
kpp                    12288  1 curve25519_x86_64
libchacha              12288  1 chacha_x86_64
libchacha20poly1305    12288  1 wireguard
libcrc32c              12288  2 nf_tables,btrfs
libcurve25519_generic   45056  2 wireguard,curve25519_x86_64
lzo                    12288  0
lzo_compress           12288  3 lzo_rle,lzo,btrfs
lzo_decompress         12288  3 lzo_rle,lzo,btrfs
lzo_rle                12288  0
mdio                   12288  1 ixgbe
mii                    12288  0
nf_conncount           16384  1 xt_connlimit
nf_conntrack           77824 18 xt_state,xt_nat,xt_helper,xt_conntrack,xt_connmark,xt_connlimit,xt_connbytes,xt_REDIRECT,xt_MASQUERADE,xt_CT,nft_redir,nft_nat,nft_masq,nft_flow_offload,nft_ct,nf_flow_table,nf_conncount,nf_nat
nf_defrag_ipv4         12288  1 nf_conntrack
nf_defrag_ipv6         16384  1 nf_conntrack
nf_flow_table          28672  4 nf_flow_table_ipv6,nf_flow_table_ipv4,nf_flow_table_inet,nft_flow_offload
nf_flow_table_inet     12288  0
nf_flow_table_ipv4     12288  0
nf_flow_table_ipv6     12288  0
nf_log_syslog          16384  0
nf_nat                 28672  9 xt_nat,xt_REDIRECT,xt_MASQUERADE,nft_redir,nft_nat,nft_masq,nft_chain_nat,iptable_nat,ip6table_nat
nf_reject_ipv4         12288  3 ipt_REJECT,nft_reject_ipv4,nft_reject_inet
nf_reject_ipv6         12288  3 nft_reject_ipv6,nft_reject_inet,ip6t_REJECT
nf_tables             176128788 nft_fib_inet,nf_flow_table_ipv6,nf_flow_table_ipv4,nf_flow_table_inet,nft_reject_ipv6,nft_reject_ipv4,nft_reject_inet,nft_reject,nft_redir,nft_quota,nft_objref,nft_numgen,nft_nat,nft_masq,nft_log,nft_limit,nft_hash,nft_flow_offload,nft_fib_ipv6,nft_fib_ipv4,nft_fib,nft_ct,nft_counter,nft_chain_nat
nfnetlink              16384  2 nf_tables,ip_set
nft_chain_nat          12288  2
nft_counter            12288 95
nft_ct                 16384 13
nft_fib                12288  3 nft_fib_inet,nft_fib_ipv6,nft_fib_ipv4
nft_fib_inet           12288  0
nft_fib_ipv4           12288  1 nft_fib_inet
nft_fib_ipv6           12288  1 nft_fib_inet
nft_flow_offload       12288  0
nft_hash               12288  0
nft_limit              12288  9
nft_log                12288  0
nft_masq               12288  5
nft_nat                12288  8
nft_numgen             12288  0
nft_objref             12288  0
nft_quota              12288  0
nft_redir              12288  0
nft_reject             12288  3 nft_reject_ipv6,nft_reject_ipv4,nft_reject_inet
nft_reject_inet        12288  2
nft_reject_ipv4        12288  0
nft_reject_ipv6        12288  0
nls_cp437              16384  1
nls_iso8859_1          12288  1
nls_utf8               12288  0
poly1305_x86_64        24576  1 libchacha20poly1305
ppp_async              16384  0
ppp_generic            32768  3 pppoe,ppp_async,pppox
pppoe                  16384  0
pppox                  12288  1 pppoe
r8169                  77824  0
raid6_pq              106496  1 btrfs
realtek                24576  0
slhc                   16384  1 ppp_generic
tg3                   151552  0
udp_tunnel             16384  1 wireguard
veth                   24576  0
vfat                   16384  1
wireguard              61440  0
x_tables               24576 48 ipt_REJECT,xt_time,xt_tcpudp,xt_tcpmss,xt_statistic,xt_state,xt_recent,xt_quota,xt_pkttype,xt_physdev,xt_owner,xt_nat,xt_multiport,xt_mark,xt_mac,xt_limit,xt_length,xt_hl,xt_helper,xt_ecn,xt_dscp,xt_conntrack,xt_connmark,xt_connlimit,xt_connbytes,xt_comment,xt_cgroup,xt_addrtype,xt_TCPMSS,xt_REDIRECT,xt_MASQUERADE,xt_LOG,xt_HL,xt_DSCP,xt_CT,xt_CLASSIFY,iptable_nat,iptable_mangle,iptable_filter,ipt_ECN,ip_tables,xt_set,ip6table_nat,ip6t_NPT,ip6table_mangle,ip6table_filter,ip6_tables,ip6t_REJECT
xor                    20480  1 btrfs
xt_CLASSIFY            12288  0
xt_CT                  12288  0
xt_DSCP                12288  0
xt_HL                  12288  0
xt_LOG                 12288  0
xt_MASQUERADE          12288  0
xt_REDIRECT            12288  0
xt_TCPMSS              12288  0
xt_addrtype            12288  0
xt_cgroup              12288  0
xt_comment             12288 10
xt_connbytes           12288  0
xt_connlimit           12288  0
xt_connmark            12288  4
xt_conntrack           12288  0
xt_dscp                12288  0
xt_ecn                 12288  0
xt_helper              12288  0
xt_hl                  12288  0
xt_length              12288  0
xt_limit               12288  0
xt_mac                 12288  0
xt_mark                12288 54
xt_multiport           12288  2
xt_nat                 12288  0
xt_owner               12288  0
xt_physdev             12288  0
xt_pkttype             12288  0
xt_quota               12288  0
xt_recent              16384  0
xt_set                 12288 10
xt_state               12288  0
xt_statistic           12288  0
xt_tcpmss              12288  0
xt_tcpudp              12288  0
xt_time                12288  0
xxhash                 12288  2 zstd_decompress,zstd_compress
zstd                   12288  0
zstd_compress         151552  2 zstd,btrfs
zstd_decompress        61440  2 zstd,btrfs
root@routerMARS:~# insmod i915
Failed to find i915. Maybe it is a built in module ?
root@routerMARS:~# modprobe i915
failed to find a module named i915

@Spudz76
Copy link
Contributor

Spudz76 commented Jan 14, 2024

I see it fail twice, once at 3.4 seconds and again when it would attempt to use it at power management timeout (~60s). I doubt it's trying a load the second time, only saying it's not there from 3.4s attempt. Not sure why it's not an apparent module.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flyspray kernel pull request/issue with Linux kernel related changes
Projects
None yet
Development

No branches or pull requests

6 participants