La boîte à Tutoriels de Christopher PECAUD

Configurer un adaptateur USB Wifi 6 Netgear AX1800 sur Raspberry Pi

Laisser un commentaire

SOMMAIRE


I Introduction
II Les types d’apaptateurs compatibles avec Linux (Raspberry Pi OS)
III Configuration de l’adaptateur
IV Conclusion

I Introduction

Dans ce document nous allons voir comment configurer un adaptateur USB 3 Wifi 6E sur Raspberry Pi afin de pouvoir bénéficier de débi plus rapide pour naviguer sur Internet ou accélérer les échanges réseau lorsque vous êtes connectés au réseau sans fil. Nous ferons un test de performance une fois la configuration effectuée pour voir la différence entre le module Wifi interne du Raspberry Pi et cet adaptateur.

II Les types d’apaptateurs compatibles avec Linux (Raspberry Pi OS)

Les adapteurs pris en charge par les systèmes d’exploitation Linux ne sont pas très nombreux même si la situation tend à s’améliorer.

La liste des adaptaeurs pris en charge est diponible à cette adresse : https://github.com/morrownr/USB-WiFi/blob/main/home/USB_WiFi_Adapters_that_are_supported_with_Linux_in-kernel_drivers.md

III Configuration de l’adaptateur

La liste des drivers pris en charge est préinstallée sur le système d’exploitation à cet emplacement :

/usr/lib/modules/6.12.47+rpt-rpi-2712/kernel/drivers/net/wireless/

En effet le Netgear AX1800 est architecturé autour d’un chipset Mediatek MT c’est un modèle MT7921u. Son driver est préinstallé et se trouve à l’emplacement suivant :

/usr/lib/modules/6.12.47+rpt-rpi-2712/kernel/drivers/net/wireless/mediatek/mt76/mt7921

Si vous avez connecté votre adaptateur sur un port USB 3 de votre Raspberry Pi vous pouvez le voir dans la liste des périphériques USB en exécutant cette commande :

$ lsusb

Vous devriez obtenir ce résultat :

description image

On voit bien ici que l’adaptateur Wifi est listé et apparaît associé au bus 4. Il nous donne des informations essentiels sur celui-ci comme le vendor ID suivi du Model ID. Pour vérifier ces informations vous pouvez vous rendre à cette adresse et recherchez par le vendor ID si ces informations sont conformes : http://www.linux-usb.org/usb-ids.html

description image

0846 correspond bien au fabriquant Netgear. Cliquez maintenant sur le lien, toute la liste des périphériques référencés apparaît alors. Recherchez alors lle model ID que la ligne de commande vous a retourné. 9065 n’est pas encore référencé mais le 9060 y est et correspond à un Netgear AXE3000 qui est aussi un adaptateur Wifi architecturé autour du même composant Mediatek.

description image

Donc le driver existe déjà sur la machine. Mais si on exécute la commande suivante :

$ip a

nous obtenons ce résultat :

description image

Nous avons juste la référence « wlan0 » qui est référencé, mais aucune trace de notre périphérique Netgear. En fait celui-ci n’est pas directement plug and play » comme sous Windows, il faut l’associer manuellement.

Ceci est fait en utilisant la commande « modprod ». Auparavant on peut obtenir des informations sur le driver en utilisant « modinfo » suivi du nom du driver :

$modinfo mt7921u
description image

Nous voyons ainsi des détails sur ce driver.

Pour charger le driver il faut utiliser cette commande :

$sudo modprobe mt7921u

Maintenant cette commande associe le driver à l’adaptateur Wifi. Elle demande une élévation de privilège pour pouvoir être exécutée.

$echo "0846 9065" | sudo tee /sys/bus/usb/drivers/mt7921u/new_id

Maintenant si vous relancer la commande « ip a » vous devriez voir dans la liste apparaître un nouvel élément « wlan1 » :

description image

Cependant ce type de configuration sera perdue lors du prochain redémarrage de votre Raspberry Pi. Il faut trouver mettre en place une configuration en dur qui contourne ce problème. La solution est de créer un fichier de règle avec la commande suivante :

$sudo nano /etc/udev/rules.d/90-usb-0846:9065-mt7921u.rules

Dans lequel vous allez coller le code suivant :

ACTION=="add", \

        SUBSYSTEM=="usb", \

        ENV{ID_VENDOR_ID}=="0846", \

        ENV{ID_MODEL_ID}=="9065", \

        RUN+="/usr/sbin/modprobe mt7921u", \

        RUN+="/bin/sh -c 'echo 0846 9065 > /sys/bus/usb/drivers/mt7921u/new_id'"

Sauvegarder le fichier et redémarrer le Raspberry Pi :

$reboot


Maintenant si vous relancez la commande ip a l’interface wlan1 est bien présente dans la liste.

Cependant ce n’est pas encore terminé. Car si vous regardez d’un peu plus près le résultat vous remarquerez que l’interface est DOWN. De même que si vous lancez la commande ifconfig vous remarquerez qu’aucune adresse IP n’est associée à cette interface. En effet avant que l’interface soite fonctionnelle, il faut associer un SSID à notre adaptateur Wifi. Avant la version Bookworm on pouvait passer par le fichier wpa_supplicant. A partir de Bookworm il faut passer par l’intermédiaire des commandes « nmcli device » :

description image

Nous voyons bien toutes les interfaces disponibles sur le Raspberry Pi. Wlan0 est connectée mais pas « wlan1 ».

Une nouvelle commande nous permet de créer une connexion au SSID de votre box Internet, il s’agit de :

$sudo nmtui

Elle requiert une élévation de privilège pour pouvoir e^tre exécutée.

Elle fait apparaître une interface graphique en ligne de commande :

description image

Cliquez sur la commande « Activer une connexion « . L’interface affiche les interfaces disponibles :

description image

Vous remarquez la connexion « USB Wifi » avec une liste de SSID associé. Sélectionnez celui qui correspond au vôtre.avec les flèches de votre clavier et appuyez sur la touche « Tabulation » pour accéder à la commande « Activer » :

description image

Puis appuez sur « Entrée ». Vous êtes alors invités à saisir le mot de passe de votre SSID :

description image

Une fois saisi, accédez à la commande « Validez ».

Si vous voulez désactiver l’interface « native » wlan0 du Raspberry Pi et profiter de la nouvelle interface vous pouvez la désactiver par cette interface, en la sélectionnant et en la désactivant.

description image

Maintenant si vous exécutez à nouveau la commande « ifconfig »., vous verrez que l’interface « wlan1 » est active et une adresse Ip y est associée :

description image

De même si vous utilisez la commande « ip a » :

description image

L’interface wlan1 est bien présente. Et si vous redémarrez votre ordinateur vous devriez maintenant avoir les deux interfaces actives. Vous pouvez désactiver la connexion réseau Wifi associée à la connexion wlan0 par exemple en cliquant sur le SSID défini dans la barre des tâches en sélectionnant l’icône du Wifi.

Faisons maintenant un test de performance avc le service Ookla en ligne :

description image

Alors qu’avec le module wifi interne on est en droit d’obtenir ces humbles résultats :

description image

On voit bien que le nouvel adaptateur Wifi USB apporte un gain de performance assez significatif qui sera utilie lors d’échange de gros fichiers princiiplement (en upload et en download).

IV Conclusion

Nous venons de voir comment ajouter un adaptateur Wifi USB à notre Raspberry PI pour apporter plus de performances que le module interne. Ce type de composant n’ets pas « plug and play » et nécessite une configuration pas toujours évidente à effectuer. Mais une fois celle-ci réalisée le gain de performance peut être utilie. Surtout pour des tâches demandant de plus gros débits et ce dans un environnement où l’on ne peut pas connecter note ordinateur par câble Ethernet.

blog comments powered by Disqus
RapidWeaver Icon

Réalisé avec Rapidweaver