Le Wi-Fi ne fonctionne pas sous Linux ? Voici comment y remédier

Le Wi-Fi ne fonctionne pas sous Linux ? Voici comment y remédier
Une photographie d'une fenêtre avec un logo Wi-Fi dessus.

L’un des grands défis auxquels les utilisateurs ont tendance à être confrontés avec Linux est le Wi-Fi. Les pilotes Wi-Fi ne sont souvent pas inclus dans le noyau et, par conséquent, il existe de nombreux problèmes pour que les modules Wi-Fi non Intel fonctionnent correctement sous Linux. Nous expliquons ici ce qui se passe lorsque le Wi-Fi ne fonctionne pas sous Linux et comment y remédier.

Problèmes Wi-Fi matériels et logiciels

Un problème de connexion Wi-Fi peut être un problème matériel ou logiciel. Les problèmes matériels sont relativement faciles à diagnostiquer – tout ce que vous avez à faire est d’ouvrir le terminal et de saisir la commande suivante :

Un terminal affichant un test de bouclage localhost.

C’est un moyen simple de vérifier si votre matériel physique fonctionne. localhostfonctionne comme une adresse pour vérifier les circuits de votre carte réseau. Si cela ne fonctionne pas, vous devrez peut-être effectuer des travaux sur le matériel, que ce soit par vous-même ou par quelqu’un d’autre.

Si ce ping revient correctement ou si vous ne voyez même pas votre carte Wi-Fi, vous avez probablement un problème logiciel.

En dehors de cela, vous pouvez également vérifier si votre système détecte une interface réseau active en exécutant ip addr. La plupart des distributions étiquettent les cartes sans fil actuellement actives par « wl », suivi des numéros de bus et d’emplacement de l’appareil sur la carte mère de l’ordinateur.

Par exemple, une étiquette « wlp0s1 » signifie qu’il s’agit d’une interface réseau sans fil sur le bus 0, emplacement 1.

Un terminal mettant en évidence le périphérique sans fil actuellement exécuté dans le système.

Installer les pilotes à partir d’Ubuntu ISO

Si votre distribution ne détecte pas du tout votre réseau Wi-Fi ou si vous obtenez des erreurs, vous pouvez essayer d’installer ou de réinstaller les pilotes Wi-Fi à partir du fichier ISO Ubuntu. Tout d’abord, vous devez télécharger l’ISO Ubuntu correspondant à votre version d’Ubuntu. (Vraisemblablement, vous devez le télécharger sur un autre appareil ou le télécharger à l’aide de votre connexion Ethernet sur Ubuntu.)

Ouvrez un terminal, puis entrez la séquence de commandes suivante pour monter l’ISO Ubuntu sur un lecteur virtuel :

Accédez à « Software Updater » depuis le tableau de bord, puis cliquez sur le bouton Paramètres dans le coin inférieur gauche de la fenêtre.

Une capture d'écran mettant en évidence le

Cliquez sur l’ onglet Pilotes supplémentaires , puis sélectionnez l’ option Adaptateur réseau sans fil et cliquez sur Appliquer les modifications .

Premier problème : appareil non détecté

Si le périphérique sans fil n’est pas détecté par Ubuntu (ou toute autre distribution d’ailleurs), ouvrez une session de terminal et tapez la commande suivante :

Cette commande imprimera tous les périphériques USB actuellement branchés sur votre machine. Recherchez toute ligne contenant « Adaptateur sans fil » ou « RTL ».

Un terminal affichant le périphérique Wi-Fi USB actuellement actif sous Linux.

En plus de répertorier tous les adaptateurs USB, vous pouvez également rechercher dans votre système des périphériques sans fil PCI. Pour ce faire, exécutez la commande suivante :

Tout comme avec la lsusbcommande, recherchez toutes les lignes sur la sortie lspci qui contiennent une étiquette « Contrôleur réseau » ou « Contrôleur Ethernet ».

Un terminal mettant en évidence le périphérique Wi-Fi basé sur PCI dans Ubuntu Linux.

Recherchez le module de pilote exact que votre périphérique sans fil utilise actuellement en exécutant la commande suivante :

Mettez en surbrillance la valeur de la variable « driver » et copiez-la dans votre presse-papiers.

Un terminal mettant en évidence le pilote actuellement actif pour le périphérique Wi-Fi.

Deuxième problème : module de pilote manquant

Suite aux commandes réussies lsusbet lspciconfirmant que votre distribution Linux peut voir la carte sans fil, vous pouvez supposer que le micrologiciel fonctionne, simplement que le système n’a aucune idée de quoi faire avec l’appareil. C’est là que des pilotes ou des modules sont nécessaires.

Tapez la commande suivante puis remplacez « modulename » par le contenu de votre presse-papiers :

Par exemple, si votre pilote sans fil est « iwlwifi », ce serait le suivant :

Après cela, exécutez sudo lsmod | grep "modulename"pour voir si le noyau Linux a correctement chargé votre périphérique Wi-Fi.

Un terminal montrant le module Wi-Fi en cours de chargement dans le noyau actuel.

Charger automatiquement le module du pilote au démarrage

C’est une occasion rare, mais parfois le module ne persiste pas après le démarrage. Dans ce cas, vous pouvez forcer son chargement en permanence. Entrez la commande ci-dessous dans le terminal :

Ajoutez le nom de votre module en bas et enregistrez le fichier.

Un terminal affichant le fichier de configuration qui peut charger les modules du noyau au moment du démarrage.

Redémarrez la machine pour vérifier si le noyau Linux a correctement chargé le périphérique sans fil.

Troisième problème : DNS

Il est rare que le DNS pose problème ; cependant, cela vaut la peine de vérifier si vous rencontrez toujours des problèmes de connexion. Depuis le terminal, tapez la commande suivante pour vérifier le résolveur DNS par défaut du système :

Par défaut, celle-ci sera définie sur l’adresse IP de votre routeur. Si cela ne fonctionne pas, vous devrez peut-être remplacer « wlp0s1 » par votre utilisation sans fil. La commande suivante peut également être utilisée pour récupérer la désignation :

Une fois que vous avez ces informations, envoyez une requête ping à l’adresse de votre résolveur DNS. Si cela fonctionne, vous pouvez également envoyer un ping à un réseau externe tel que les résolveurs DNS de Google :

Si tous les appareils de votre réseau génèrent des erreurs de chargement de page, remplacez les résolveurs DNS de votre routeur par les serveurs de Google ou d’OpenNIC. Vous devrez consulter le fabricant de votre routeur pour savoir comment procéder, mais cela se fait généralement en accédant à la console d’administration de l’appareil. Vous pouvez le trouver sur la plupart des routeurs en accédant à « 192.168.0.1 » ou « 192.168.254.254 » sur un navigateur Web.

Ajout d’un serveur DNS personnalisé dans NetworkManager

Cela dit, vous pouvez également modifier le résolveur DNS pour chaque appareil. Pour ce faire dans Ubuntu, cliquez sur le bouton Menu Contrôle dans le coin supérieur droit du bureau, puis sélectionnez l’ icône d’engrenage .

Une capture d'écran mettant en évidence le bouton Paramètres dans Gnome.

Cliquez sur la catégorie Wi-Fi , puis recherchez la catégorie Réseaux visibles .

Une capture d'écran mettant en évidence la section des réseaux visibles de la catégorie Wi-Fi.

Sélectionnez l’ icône Gear sur la ligne contenant le nom de votre point d’accès sans fil.

Une capture d'écran mettant en évidence le bouton Paramètres du point d'accès sans fil actuellement actif.

Cliquez sur l’ onglet IPv4 dans la barre supérieure de la petite fenêtre.

Une capture d'écran mettant en évidence l'onglet IPv4 dans le menu des paramètres du point d'accès.

Accédez à la section DNS , puis désactivez l’ option Automatique .

Une capture d'écran mettant en évidence le DNS

Tapez « 8.8.8.8,8.8.4.4 » dans la zone de texte DNS, puis cliquez sur Appliquer pour valider les paramètres.

Une capture d'écran mettant en évidence les résolveurs DNS personnalisés pour la connexion Wi-Fi actuelle.

Ouvrez un nouveau terminal, puis exécutez la commande suivante pour supprimer toutes les données précédentes du résolveur DNS :

Testez si votre système utilise désormais ses nouveaux paramètres de résolution DNS en exécutant la commande suivante :

Vérifiez si les paramètres DNS actuels ont résolu votre problème de réseau en chargeant une page Web sur un navigateur Web.

Une capture d'écran du site Web MakeTechEasier sur une machine Ubuntu avec un résolveur DNS personnalisé.

Quatrième problème : pas de gestionnaire de réseau

Supposons que vous ayez supprimé Network Manager ou que vous l’ayez désinstallé par accident. C’est une situation vraiment gênante : vous n’avez ni Internet ni gestionnaire de réseau, mais vous pouvez faire certaines choses.

En supposant que le package est toujours dans votre cache, vous pouvez accéder au terminal et saisir :

Si cela ne fonctionne pas, vous pouvez forcer votre système à se connecter à un point d’accès sans fil en utilisant wpa_supplicant. Il s’agit d’un outil de ligne de commande qui utilise le pilote de votre périphérique sans fil pour vous connecter à un point d’accès sans utiliser Network Manager.

Pour commencer, créez un fichier de configuration pour wpa_supplicant à l’aide de votre éditeur de texte préféré :

Collez le bloc de code suivant dans le fichier de configuration, puis remplacez « SSID » et « PASSWORD » par le nom du point d’accès et le mot de passe de votre routeur :

Enregistrez le fichier de configuration, puis collez la ligne de code suivante dans votre session de terminal :

Remplacez la valeur de l’indicateur «-i» par le nom de votre interface sans fil.

Un terminal mettant en évidence le drapeau de l'interface.

Demandez une nouvelle adresse IP à votre routeur en rechargeant le démon DHCP :

Testez si votre connexion Wi-Fi fonctionne désormais en envoyant une requête ping à un site externe :

Réinstallez Network Manager pour restaurer toutes les fonctionnalités Wi-Fi de votre système Linux :

Redémarrez votre ordinateur pour charger la nouvelle installation de Network Manager.

Comprendre le fonctionnement des modules Wi-Fi et des pilotes du noyau n’est que la première étape pour apprendre comment Linux fonctionne sous le capot. Explorez davantage l’aspect technique de ce système d’exploitation en créant un système de fichiers caché avec Shufflecake .

Crédit image : Dreamlike Street via Unsplash et Wikimedia Commons . Toutes les modifications et captures d’écran par Ramces Red.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *