En temps normal,le pilote de votre carte wifi est installé automatiquement à l’installation de votre distrib linux.Mais il arrive parfois que votre matériel ne soit pas reconnu par l’OS. C’est même souvent le cas avec des distributions linux comme Debian.Chez eux, c’est une volonté délibérée de ne pas installer de matériels pour lesquels les constructeurs n’ont pas mis de pilote opensource à disposition.
Après libre à vous de choisir un fabricant de carte à la philosophie du « tout propriétaire » ou une distrib un peu moins exigeante en terme de transparence.
Mais pour ma part, je veux rester sous Debian, ne pas rajouter de carte additionnelle et donc que ma carte wifi intégrée soit opérationnelle, quitte à bafouer un peu l’éthique libriste en installant des drivers dont le code est secret.
Identifier le modèle de sa carte
Plusieurs commandes le permettent (dmesg, lshw, lspci…) et ensuite à vous de filtrer avec un « grep ». Dans mon cas, j’opte pour la commande lspci installée de base sur toutes les distribs.
lspci -nn | grep -i network
Chez moi ça renvoie à l’écran cette ligne avec « Qualcomm Atheros QCA9377 » que jai mis en gras et qui correspond au modèle de ma carte.
03:00.0 Network controller [0280]: Qualc03:00.0 Network controller [Qualcomm Atheros QCA93770280]: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter [168c:0042] (rev 31)
Pour trouver des infos sur le module du noyau en charge d’activer la carte:lspci -k | grep -i network -A 2
Les 2 lignes extraites qui nous intéressent ici sont:
Kernel driver in use: ath10k_pciKernel modules: ath10k_pci
Pour avoir plus d’infos de comment marche un module, voir ce lien de linuxpedia en français.
Installer le firmware
Ajouter les bons dépôts:
Pour avoir les sources non libre , il faut ajouter contrib et non-free après main dans le fichier /etc/apt/sources.list :
deb http://deb.debian.org/debian/ stretch main contrib non-freedeb http://security.debian.org/ stretch/updates main contrib non-freedeb http://deb.debian.org/debian/ stretch-updates main contrib non-free
-Maintenant on peut mettre à jour la liste des packages :sudo apt update
-On vérifie la présence du package concernant le firmware atheros:sudo apt-cache policy firmware-atheros
Installation du firmware:
On installe le package:sudo apt-get install firmware-atheros
On charge le module ath10k:
sudo modprobe -r ath10k_pci modprobe ath10k_pci
Je n’ai pas eu besoin de redémarrer , le chargement du module a rendu tout de suite effectif le fonctionnement de la carte wifi.
Après suffit juste d’activer et de rentrer le mot de passse de votre réseau wifi préféré.
Pour info, il existe une alternative c’est de télécharger les binaires du firmware en fonction de la version de votre noyau linux puis de les recompiler. Mais autant vous dire que c’est un poil moins facile, que parfois il faut en passer par là si les dépôts officiels de votre distrib ne permettent pas d’avoir le package du firmware.
Et vous , avez vous eu déjà des soucis pour installer un pilote sous Linux?
Je suis curieux de lire vos expériences et surtout la méthode que vous appliquez pour résoudre le problème ?