Iwlwifi 0000:04:00.0: firmware: failed to load

Bonjour,

Mon wifi fonctionne mais j’ai un message d’erreur (le seul) durant le boot. Ci-dessous le journalctl. Les messages qui ressortent au boot sont en gras.
J’ai tenté un apt-get remove --purge firmware-iwlwifi puis apt-get install firmware-iwlwifi sans succès.

Si je comprends bien le fichier de log, c’est le firmware iwlwifi-8000C-22.ucode qui est bien chargé. La solution serait peut-être de réussir à le faire charger en premier avant de tenter autre chose, non? Mais comment?

Même petit pb que ce post.

févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: firmware: failed to load iwlwifi-8000C-26.ucode (-2)
févr. 28 08:43:25 debianT460s kernel: i915 0000:00:02.0: firmware: failed to load i915/skl_dmc_ver1_26.bin (-2)
févr. 28 08:43:25 debianT460s kernel: i915 0000:00:02.0: Direct firmware load for i915/skl_dmc_ver1_26.bin failed with error -2
févr. 28 08:43:25 debianT460s kernel: i915 0000:00:02.0: Failed to load DMC firmware [https://01.org/linuxgraphics/intel-linux-graphics-firmwares], disabling runtime power management.
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-26.ucode failed with error -2
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: firmware: failed to load iwlwifi-8000C-25.ucode (-2)
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-25.ucode failed with error -2
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: firmware: failed to load iwlwifi-8000C-24.ucode (-2)
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-24.ucode failed with error -2
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: firmware: failed to load iwlwifi-8000C-23.ucode (-2)
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-23.ucode failed with error -2
févr. 28 08:43:25 debianT460s kernel: Adding 5242876k swap on /dev/sda2. Priority:-1 extents:1 across:5242876k SSFS
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: firmware: direct-loading firmware iwlwifi-8000C-22.ucode
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: loaded firmware version 22.361476.0 op_mode iwlmvm
févr. 28 08:43:25 debianT460s systemd[1]: Activated swap Swap Partition.

Le contenu de /lib/firmware:>

drwxr-xr-x  8 root root   12K févr. 28 08:43 ./
drwxr-xr-x 14 root root  4,0K févr. 21 10:49 ../
drwxr-xr-x  2 root root  4,0K mars  27  2018 av7110/
-rw-r--r--  1 root root   14K août  16  2015 carl9170-1.fw
drwxr-xr-x  2 root root  4,0K mars  27  2018 cis/
drwxr-xr-x  2 root root  4,0K mars  27  2018 dsp56k/
drwxr-xr-x  2 root root  4,0K févr. 28 08:43 intel/
drwxr-xr-x  2 root root  4,0K mars  27  2018 isci/
-rw-r--r--  1 root root  330K oct.  13 21:27 iwlwifi-1000-5.ucode
-rw-r--r--  1 root root  330K oct.  13 21:27 iwlwifi-100-5.ucode
-rw-r--r--  1 root root  674K oct.  13 21:27 iwlwifi-105-6.ucode
-rw-r--r--  1 root root  685K oct.  13 21:27 iwlwifi-135-6.ucode
-rw-r--r--  1 root root  680K oct.  13 21:27 iwlwifi-2000-6.ucode
-rw-r--r--  1 root root  691K oct.  13 21:27 iwlwifi-2030-6.ucode
-rw-r--r--  1 root root  668K oct.  13 21:27 iwlwifi-3160-12.ucode
-rw-r--r--  1 root root  897K oct.  13 21:27 iwlwifi-3160-14.ucode
-rw-r--r--  1 root root  897K oct.  13 21:27 iwlwifi-3160-16.ucode
-rw-r--r--  1 root root  897K oct.  13 21:27 iwlwifi-3160-17.ucode
-rw-r--r--  1 root root  655K oct.  13 21:27 iwlwifi-3160-9.ucode
-rw-r--r--  1 root root  1,4M oct.  13 21:27 iwlwifi-3168-21.ucode
-rw-r--r--  1 root root 1004K oct.  13 21:27 iwlwifi-3168-22.ucode
-rw-r--r--  1 root root  147K oct.  13 21:27 iwlwifi-3945-2.ucode
-rw-r--r--  1 root root  184K oct.  13 21:27 iwlwifi-4965-2.ucode
-rw-r--r--  1 root root  345K oct.  13 21:27 iwlwifi-5000-2.ucode
-rw-r--r--  1 root root  333K oct.  13 21:27 iwlwifi-5000-5.ucode
-rw-r--r--  1 root root  330K oct.  13 21:27 iwlwifi-5150-2.ucode
-rw-r--r--  1 root root  444K oct.  13 21:27 iwlwifi-6000-4.ucode
-rw-r--r--  1 root root  434K oct.  13 21:27 iwlwifi-6000g2a-5.ucode
-rw-r--r--  1 root root  662K oct.  13 21:27 iwlwifi-6000g2a-6.ucode
-rw-r--r--  1 root root  664K oct.  13 21:27 iwlwifi-6000g2b-6.ucode
-rw-r--r--  1 root root  453K oct.  13 21:27 iwlwifi-6050-4.ucode
-rw-r--r--  1 root root  459K oct.  13 21:27 iwlwifi-6050-5.ucode
-rw-r--r--  1 root root  764K oct.  13 21:27 iwlwifi-7260-12.ucode
-rw-r--r--  1 root root  1,1M oct.  13 21:27 iwlwifi-7260-14.ucode
-rw-r--r--  1 root root  1,1M oct.  13 21:27 iwlwifi-7260-16.ucode
-rw-r--r--  1 root root  1,1M oct.  13 21:27 iwlwifi-7260-17.ucode
-rw-r--r--  1 root root  665K oct.  13 21:27 iwlwifi-7260-9.ucode
-rw-r--r--  1 root root  860K oct.  13 21:27 iwlwifi-7265-12.ucode
-rw-r--r--  1 root root  1,2M oct.  13 21:27 iwlwifi-7265-14.ucode
-rw-r--r--  1 root root  1,2M oct.  13 21:27 iwlwifi-7265-16.ucode
-rw-r--r--  1 root root  1,2M oct.  13 21:27 iwlwifi-7265-17.ucode
-rw-r--r--  1 root root  682K oct.  13 21:27 iwlwifi-7265-9.ucode
-rw-r--r--  1 root root  980K oct.  13 21:27 iwlwifi-7265D-12.ucode
-rw-r--r--  1 root root  1,4M oct.  13 21:27 iwlwifi-7265D-14.ucode
-rw-r--r--  1 root root  1,4M oct.  13 21:27 iwlwifi-7265D-16.ucode
-rw-r--r--  1 root root  1,4M oct.  13 21:27 iwlwifi-7265D-17.ucode
-rw-r--r--  1 root root  1,4M oct.  13 21:27 iwlwifi-7265D-21.ucode
-rw-r--r--  1 root root 1005K oct.  13 21:27 iwlwifi-7265D-22.ucode
-rw-r--r--  1 root root  2,3M oct.  13 21:27 iwlwifi-8000C-14.ucode
-rw-r--r--  1 root root  2,3M oct.  13 21:27 iwlwifi-8000C-16.ucode
-rw-r--r--  1 root root  2,3M oct.  13 21:27 iwlwifi-8000C-21.ucode
-rw-r--r--  1 root root  2,1M oct.  13 21:27 iwlwifi-8000C-22.ucode
-rw-r--r--  1 root root  2,3M oct.  13 21:27 iwlwifi-8265-21.ucode
-rw-r--r--  1 root root  1,8M oct.  13 21:27 iwlwifi-8265-22.ucode
drwxr-xr-x  2 root root  4,0K mars  27  2018 keyspan_pda/
-rw-r--r--  1 root root   999 août  16  2015 usbduxfast_firmware.bin
-rw-r--r--  1 root root  1,8K août  16  2015 usbdux_firmware.bin
-rw-r--r--  1 root root  8,0K août  16  2015 usbduxsigma_firmware.bin

Salut
quelle carte et quel module le noyau utilise-t-il?

lspci -nnk | grep -i net -A2

Salut

Output:

00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection I219-V [8086:1570] (rev 21)
        Subsystem: Lenovo Ethernet Connection I219-V [17aa:2233]
        Kernel driver in use: e1000e
        Kernel modules: e1000e
--
04:00.0 Network controller [0280]: Intel Corporation Wireless 8260 [8086:24f3] (rev 3a)
        Subsystem: Intel Corporation Wireless 8260 [8086:1130]
        Kernel driver in use: iwlwifi

As tu installéle paquet firmware-linux-nonfree?

apt list  firmware-linux-nonfree

Nop.
Je l’ai donc installé mais cela n’a pas fixé le message d’erreur au boot.

Je viens de tenter de déplacer tous les autres iwlwifi-8000C-.ucode de /lib/firmware sauf le 22 mais ça n’a pas marché.
J’ai cherché en vain la version 26 sur le net.
Du coup, j’ai tenté autre chose de moins académique. J’ai recopié le 22 en le renommant 26 et le message d’erreur a disparu.
Pas sûr qu’il faille valider ce genre de “solution”…

Je vais abandonner cette solution car j’ai eu un message d’erreur au boot. Pas eu le temps de lire. Je reboote et plus rien…
Et y’a tjrs le petit temps d’attente comme avec les messages d’erreurs.
Bref, nul comme solution.

févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-23.ucode failed with error -2
févr. 28 08:43:25 debianT460s kernel: Adding 5242876k swap on /dev/sda2. Priority:-1 extents:1 across:5242876k SSFS
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: firmware: direct-loading firmware iwlwifi-8000C-22.ucode
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: loaded firmware version 22.361476.0 op_mode iwlmvm
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-23.ucode failed with error -2
févr. 28 08:43:25 debianT460s kernel: Adding 5242876k swap on /dev/sda2. Priority:-1 extents:1 across:5242876k SSFS
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: firmware: direct-loading firmware iwlwifi-8000C-22.ucode
févr. 28 08:43:25 debianT460s kernel: iwlwifi 0000:04:00.0: loaded firmware version 22.361476.0 op_mode iwlmvm

Il a chargé cette version de firmware donc tout va bien.

Oui, tout fonctionne. Je voulais juste réussir à ne pas avoir ces messages d’erreur au boot.
Je ne sais pas pourquoi “il” cherche les 26, 25, 24 et 23 d’abord. Idéalement j’aimerais “le” faire chercher directement le 22.

Mais oui, je pinaille.

Je suis sur pleinement sous GNU/Linux depuis quelque mois (avant windows avec VM debian pour dev) et j’adore la liberté présente au point de pinailler sur un peu tout.

J’aurais pensé que c’est par là qu’il faut chercher, mais le module iwlwifi ne semble pas avoir de paramètre qui lui permette de spécifier un firmware particulier ou un ordre:

root@mercure:~# modinfo iwlwifi | grep parm
parm:           swcrypto:using crypto in software (default 0 [hardware]) (int)
parm:           11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)
parm:           amsdu_size:amsdu size 0: 12K for multi Rx queue devices, 2K for 22560 devices, 4K for other devices 1:4K 2:8K 3:12K 4: 2K (default 0) (int)
parm:           fw_restart:restart firmware in case of error (default true) (bool)
parm:           antenna_coupling:specify antenna coupling in dB (default: 0 dB) (int)
parm:           nvm_file:NVM file name (charp)
parm:           d0i3_disable:disable d0i3 functionality (default: Y) (bool)
parm:           lar_disable:disable LAR functionality (default: N) (bool)
parm:           uapsd_disable:disable U-APSD functionality bitmap 1: BSS 2: P2P Client (default: 3) (uint)
parm:           bt_coex_active:enable wifi/bt co-exist (default: enable) (bool)
parm:           led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0) (int)
parm:           power_save:enable WiFi power management (default: disable) (bool)
parm:           power_level:default power save level (range from 1 - 5, default: 1) (int)
parm:           fw_monitor:firmware monitor - to debug FW (default: false - needs lots of memory) (bool)
parm:           d0i3_timeout:Timeout to D0i3 entry when idle (ms) (uint)
parm:           disable_11ac:Disable VHT capabilities (default: false) (bool)
parm:           remove_when_gone:Remove dev from PCIe bus if it is deemed inaccessible (default: false) (bool)
parm:           disable_11ax:Disable HE capabilities (default: false) (bool)

Donc je crains que ce warning soit non nettoyable (sauf à le filtrer pour qu’il ne tombe pas dans le log).

Si tu pinaille sur les warnings système, tu vas en baver, ans pouvoir tout effacer, et tu devras sans doute refaire tous tes nettoyages de warnings à chaque mise à jour de paquet système lié au noyau.
Mais bon, je comprends l’esprit et abonde dans ton sens.

Tu peux toujours patcher le binaire en remplaçant iwlwifi-8000C-26.ucode par iwlwifi-8000C-22.ucode dans iwlwifi.ko, ce sera radical.

Si c’est les logs le problème, tu configures pour ne plus journaliser dans /var/log mais uniquement en RAM avec systemd :grinning: