Installer le pilote de sa carte wifi sous linux

wifi

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_pci
Kernel 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-free
deb http://security.debian.org/ stretch/updates main contrib non-free
deb 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 ?

13 commentaires sur Installer le pilote de sa carte wifi sous linux

  1. Bonjour,

    J’aime beaucoup ton blog et ça fait quelque temps que je le suis. Je voulais te présenter Steem. Connais-tu un peu les crypto-monnaies ou la blockchain ? Steem est une blockchain à laquelle est associée une crypto-monnaie le STEEM. Cette blockchain est en fait un réseau social (un mélange de Reddit, Facebook, Instagram et Youtube) qui te permet de publier des articles avec différents tags, les gens qui vont voir tes articles, s’ils les apprécient ils vont voter ton article (l’équivalent d’un j’aime sur Facebook), plus tu as de votes, plus tu vas pouvoir gagner de l’argent, cet argent tu le recevras 7 jours après la publication de ton post en STEEM. Les avantages de Steem c’est donc que tu peux publier des articles, avoir plus de visibilité que sur ton blog et gagner de l’argent. Steem ce n’est pas que de l’argent, c’est aussi une formidable communauté française d’environ 2 000 personnes dans laquelle l’entraide et la sympathie règnent, tout unie grâce au tag fr ; et une alternative viable aux réseaux sociaux actuels tenus par les GAFAM.

    Voilà, c’est une présentation très rapide de Steem, si tu as des questions n’hésite pas je suis à ta disposition, tu peux m’envoyer un mail.

    PS : Steem est libre et open source https://github.com/steemit/steem

    Cordialement.
    Aurélien.

  2. Perso je suis repassé sous Ubuntu, je sais c’est un aveu de faiblesse mais moins d’incompatibilités matérielles
    Et puis ça coûte moins cher que de devoor racheter du matos avc des pilotes libres

  3. Bonjour, et merci pour ce que vous faites.
    j’ai suivi votre tuto mais je bute à « Les 2 lignes extraites qui nous intéressent ici sont: » je ne trouve pas l’equivalent sur mon terminal. voir copie d’écran si tu vous voulez bien m’aider
    francois@francois-MacBookAir:~$ sudo /sbin/iwconfig
    lo no wireless extensions.

    enx00e04c719db4 no wireless extensions.

    francois@francois-MacBookAir:~$ lspci -nn | grep -i network
    02:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43224/5 Wireless Network Adapter [14e4:a8d8] (rev 01)
    francois@francois-MacBookAir:~$ lspci -k | grep -i network -A 2
    02:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43224/5 Wireless Network Adapter (rev 01)
    Subsystem: Broadcom Inc. and subsidiaries BCM43224/5 Wireless Network Adapter
    Kernel modules: bcma, wl
    03:00.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Controller [Cactus Ridge 4C 2012] (rev 03)
    francois@francois-MacBookAir:~$ Kernel driver in use: bcma, wl
    Kernel: command not found
    francois@francois-MacBookAir:~$ sudo Kernel driver in use: bcma, w
    sudo: Kernel: command not found
    francois@francois-MacBookAir:~$

    je suis en Macbook air sous linux Mint 19.3

    Merci
    François

  4. Bonjour,
    Et bien moi aussi je suis bien embêtée de ne pas avoir de wifi pour finir l’installation de Linus Mint. Avec windows 10 le wifi fonctionne très bien mais là je me sens bien coincée avec ma Carte RTL 8821 CE 802 11ac PCIe
    Access denied
    no wireless extension
    et la cerise sur le gâteau, mon ASUS n’a pas de port ethernet.
    Alors si quelqu’un pouvait m’aider à résoudre le problème, je lui en serai vraiment très reconnaissante.
    Cordialement,

  5. Bonjour,
    Merci pour les infos. Je voulais passer sur Elementary OS et c’est effectivement problématique de ne pas avoir un accès « automatique » au Wi Fi. Question un peu bête de débutant : je suppose que, pour la manip que vous décrivez, il faut un accès internet via un câble Ethernet. Si impossible, est-il faisable de charger un firmware sur une clef USB et de « booter » la Wi Fi à partir de celle-ci via terminal?
    Merci d’avance

  6. Bonjour,

    lorsque je fais sudo apt-get install firmware-atheros, cela échoue avec

    dpkg: erreur de traitement de l’archive /var/cache/apt/archives/firmware-atheros_0.43_all.deb (–unpack) :
    tentative de remplacement de « /lib/firmware/htc_7010.fw », qui appartient aussi au paquet linux-firmware 1.187.10

    Que faire ?

    Merci d’avance

Leave a Reply

Votre adresse de messagerie ne sera pas publiée.


*