web-dev-qa-db-fra.com

Comment changer le firmware utilisé pour ma carte sans fil

J'essaie de mettre à jour le micrologiciel de ma carte sans fil, un Intel 8260 doté du pilote iwlwifi. /lib/firmware/ contient, entre autres, les fichiers suivants:

iwlwifi-8000C-16.ucode    (version 16.242414.0)
iwlwifi-8000C-22.ucode    (version 22.361476.0)

(J'ai utilisé les informations sur https://packages.debian.org/sid/firmware-iwlwifi pour identifier les versions de ces fichiers).

lshw indique que le micrologiciel actuel est la version 16.242414.0. Comment puis-je le changer pour que la version 22.361476.0 soit utilisée?

4
PiotrChernin

La version du micrologiciel demandée est écrite dans le code du pilote. Comme vous pouvez le constater, la version particulière si vous utilisez iwlwifi demande le microprogramme -16. Vous pouvez charger plusieurs fichiers ucode différents dans /lib/firmware et le pilote appellera la version pour laquelle il a été écrit.

REMARQUE: Dans certains cas, il existe une différence entre ce que le code du pilote semble exiger et ce qui se charge réellement.

Vous pouvez installer une version plus récente de iwlwifi; généralement, cela se fait en installant une version plus récente d’Ubuntu. Dans Ubuntu 17.04, modinfo iwlwifi dit:

filename:       /lib/modules/4.10.0-22-generic/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
license:        GPL
author:         Copyright(c) 2003- 2015 Intel Corporation <[email protected]>
description:    Intel(R) Wireless WiFi driver for Linux
<snip>
firmware:       iwlwifi-8000C-26.ucode
<snip>

Le package linux-firmware correspondant contient -13, -16 et -21; mais pas -26!

Vous pouvez certainement mettre à jour votre firmware. Dans tous les cas, le pilote chargera le fichier de micrologiciel pour lequel il a été écrit. Dans de nombreux cas, le pilote sera écrit pour utiliser n’importe laquelle des versions; par exemple, -6, -7, -8 ou -9. Le pilote recherche le plus récent qu'il peut trouver dans /lib/firmware et, s'il ne parvient pas à le trouver, charge le prochain plus récent, etc. Dans le "par exemple" que je donne ci-dessus, si le dernier package de microprogramme contient -6, -7, -8, -9 et -10, aucun dommage ne sera causé. Le pilote charge simplement la dernière et la dernière pour laquelle il est écrit et ignore le reste. -10 ne chargera pas.

Pour améliorer le vôtre:

wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.164_all.deb
Sudo dpkg -i linux*.deb

Si votre désir de charger un micrologiciel plus récent est motivé par un problème de connexion sans fil, nous aimerions l'entendre et essayer de vous aider.

1
chili555