Configurer un adaptateur USB Wifi 6 Netgear AX1800 sur Raspberry Pi
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/mt7921Si 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 :
$ lsusbVous devriez obtenir ce résultat :

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

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.

Donc le driver existe déjà sur la machine. Mais si on exécute la commande suivante :
$ip anous obtenons ce résultat :

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
Nous voyons ainsi des détails sur ce driver.
Pour charger le driver il faut utiliser cette commande :
$sudo modprobe mt7921uMaintenant 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_idMaintenant si vous relancer la commande « ip a » vous devriez voir dans la liste apparaître un nouvel élément « wlan1 » :

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 » :

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 nmtuiElle 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 :

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

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 » :

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

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.

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 :

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

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 :

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

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.
