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

**URL:** <https://www.debian-fr.org/t/iwlwifi-000000-0-firmware-failed-to-load/78698>\
**Category:** Support Debian\
**Created:** [Février 28, 2019, 8:24 UTC](https://www.debian-fr.org/t/iwlwifi-000000-0-firmware-failed-to-load/78698 "2019-02-28T08:24:40Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Laurent001](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/ce73a5/32.png) [@Laurent001](https://www.debian-fr.org/u/Laurent001)\
**Post date:** [Février 28, 2019, 8:24 UTC](https://www.debian-fr.org/t/iwlwifi-000000-0-firmware-failed-to-load/78698/1 "2019-02-28T08:24:40Z")

</div>

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](https://www.debian-fr.org/t/erreur-chargement-firmware-iwlwifi-stretch/75217/3).

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](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
> 
> ```

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Février 28, 2019, 10:28 UTC](https://www.debian-fr.org/t/iwlwifi-000000-0-firmware-failed-to-load/78698/2 "2019-02-28T10:28:07Z")

</div>

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

```auto
lspci -nnk | grep -i net -A2

```

---

<div class="post-metadata">

**Author:** ![Laurent001](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/ce73a5/32.png) [@Laurent001](https://www.debian-fr.org/u/Laurent001)\
**Post date:** [Février 28, 2019, 10:38 UTC](https://www.debian-fr.org/t/iwlwifi-000000-0-firmware-failed-to-load/78698/3 "2019-02-28T10:38:25Z")

</div>

Salut

> [@grandtoubab](#):
>
> quelle carte et quel module le noyau utilise-t-il?
> 
> ```plaintext
> lspci -nnk | grep -i net -A2
> 
> ```

Output:

```plaintext
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

```

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Février 28, 2019, 12:28 UTC](https://www.debian-fr.org/t/iwlwifi-000000-0-firmware-failed-to-load/78698/4 "2019-02-28T12:28:28Z")

</div>

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

```auto
apt list firmware-linux-nonfree

```

---

<div class="post-metadata">

**Author:** ![Laurent001](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/ce73a5/32.png) [@Laurent001](https://www.debian-fr.org/u/Laurent001)\
**Post date:** [Février 28, 2019, 4:24 UTC](https://www.debian-fr.org/t/iwlwifi-000000-0-firmware-failed-to-load/78698/5 "2019-02-28T16:24:39Z")

</div>

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”…

---

<div class="post-metadata">

**Author:** ![Laurent001](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/ce73a5/32.png) [@Laurent001](https://www.debian-fr.org/u/Laurent001)\
**Post date:** [Février 28, 2019, 4:28 UTC](https://www.debian-fr.org/t/iwlwifi-000000-0-firmware-failed-to-load/78698/6 "2019-02-28T16:28:29Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Mars 1, 2019, 10:05 UTC](https://www.debian-fr.org/t/iwlwifi-000000-0-firmware-failed-to-load/78698/7 "2019-03-01T10:05:21Z")

</div>

```nohighlight
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.

---

<div class="post-metadata">

**Author:** ![Laurent001](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/ce73a5/32.png) [@Laurent001](https://www.debian-fr.org/u/Laurent001)\
**Post date:** [Mars 1, 2019, 11:38 UTC](https://www.debian-fr.org/t/iwlwifi-000000-0-firmware-failed-to-load/78698/8 "2019-03-01T11:38:50Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Mars 1, 2019, 12:27 UTC](https://www.debian-fr.org/t/iwlwifi-000000-0-firmware-failed-to-load/78698/9 "2019-03-01T12:27:56Z")

</div>

> [@Laurent001](#):
>
> j’aimerais “le” faire chercher directement le 22.

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).

> [@Laurent001](#):
>
> Mais oui, je pinaille.

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.

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Mars 1, 2019, 3:53 UTC](https://www.debian-fr.org/t/iwlwifi-000000-0-firmware-failed-to-load/78698/10 "2019-03-01T15:53:01Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Mars 1, 2019, 4:04 UTC](https://www.debian-fr.org/t/iwlwifi-000000-0-firmware-failed-to-load/78698/11 "2019-03-01T16:04:46Z")

</div>

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

> **[Les journaux de messages système](https://bidouilledebian.wordpress.com/2018/10/13/les-journaux-de-messages-systeme/)**
>
> Linux peut s’avérer un système très bavard. C’est bien pour chercher des fautes ou améliorer des fonctions. Mais dans une utilisation  » en bon père de famille », …
