Clé Wifi - LMDE3 : compilation de driver
Posté : mer. 20 mars 2019 22:18
Suite à ce post: Clé Wi-Fi - LMDE3 : réseau vu mais pas de connexion
j'ai voulu tester la compilation d'un driver pour une clé non reconnue par LMDE3.
Avant toute chose, un peu de documentation.
debian: https://wiki.debian.org/fr/WiFi
ubuntu: https://doc.ubuntu-fr.org/wifi_chipset_ ... _rtl8812au
Mon choix s'est porté sur le chipset realtek rtl8812au que l'on peut trouver, par exemple, dans la clé TP-Link Archer T4UH Adaptateur USB Wi-Fi AC 1300 Mbps.
Après avoir téléchargé le zip sur github https://github.com/abperiasamy/rtl8812AU_8821AU_linux
et décompressé dans /tmp
Dans le terminal, on se place dans le répertoire du fichier décompressé (commande cd):
Simple vérification du noyau linux (commande uname -a)
Compilation du firmware (commande make)
En sudo, installation du firmware (commande make install)
Vérifier si le firmware est chargé (commande lsmod)
En sudo, charger le firmware (commande modprobe)
Vérifier si le firmware (module) est chargé (commande lsmod)
Quelques infos sur le module (firmware) (commande modinfo)
Débrancher, rebrancher la clé
Attendre 1 minute environ avant que le wifi ne capte les SSID.
Vérification de l'état du Wifi avant connexion à un SSID (commande nmcli device)
Se connecter à un SSID...
Vérification de l'état du Wifi après connexion à un SSID (commande nmcli device)
Vérification de la qualité du signal Wifi (commande nmcli dev wifi)
-> 54 Mo /sec = 433 Mbits /sec - Correspond au 5GHz (433Mbps) // 2.4GHz (150Mbps)
Optionnel: dans le fichier /etc/NetworkManager/NetworkManager.conf
[device]
wifi.scan-rand-mac-address=no
Redémarrage du gestionnaire de réseau (optionnel)
Voilou pour le retour d'expérience.
Le plus long fût de trouver une clé wifi embarquant un firmware compatible Debian9.
Remarque: il parait qu'il faut recompiler le firmware si le noyau Linux est mis à jour
j'ai voulu tester la compilation d'un driver pour une clé non reconnue par LMDE3.
Avant toute chose, un peu de documentation.
debian: https://wiki.debian.org/fr/WiFi
ubuntu: https://doc.ubuntu-fr.org/wifi_chipset_ ... _rtl8812au
Mon choix s'est porté sur le chipset realtek rtl8812au que l'on peut trouver, par exemple, dans la clé TP-Link Archer T4UH Adaptateur USB Wi-Fi AC 1300 Mbps.
Après avoir téléchargé le zip sur github https://github.com/abperiasamy/rtl8812AU_8821AU_linux
et décompressé dans /tmp
Dans le terminal, on se place dans le répertoire du fichier décompressé (commande cd):
Code : Tout sélectionner
$ cd /tmp/rtl8812AU_8821AU_linux-masterCode : Tout sélectionner
$ uname -a
Linux pc1 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/LinuxCode : Tout sélectionner
$ make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.9.0-8-amd64/build M=/tmp/rtl8812AU_8821AU_linux-master modules
make[1] : on entre dans le répertoire « /usr/src/linux-headers-4.9.0-8-amd64 »
CC [M] /tmp/rtl8812AU_8821AU_linux-master/core/rtw_cmd.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/core/rtw_security.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/core/rtw_debug.o
...
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/HalPwrSeqCmd.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/Hal8812PwrSeq.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/Hal8821APwrSeq.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/rtl8812a_xmit.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/rtl8812a_sreset.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/rtl8812a_hal_init.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/rtl8812a_phycfg.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/rtl8812a_rf6052.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/rtl8812a_dm.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/rtl8812a_rxdesc.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/rtl8812a_cmd.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/usb/usb_halinit.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/usb/rtl8812au_led.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/usb/rtl8812au_xmit.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/usb/rtl8812au_recv.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/usb/usb_ops_linux.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/rtl8812a/rtl8812a_mp.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/efuse/rtl8812a/HalEfuseMask8812A_USB.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/efuse/rtl8812a/HalEfuseMask8821A_USB.o
...
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/OUTSRC/rtl8821a/phydm_RTL8821A.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/hal/OUTSRC/rtl8821a/PhyDM_IQK_8821A.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/platform/platform_ops.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/core/rtw_mp.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/core/rtw_mp_ioctl.o
CC [M] /tmp/rtl8812AU_8821AU_linux-master/core/rtw_bt_mp.o
LD [M] /tmp/rtl8812AU_8821AU_linux-master/rtl8812au.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/rtl8812AU_8821AU_linux-master/rtl8812au.mod.o
LD [M] /tmp/rtl8812AU_8821AU_linux-master/rtl8812au.ko
make[1] : on quitte le répertoire « /usr/src/linux-headers-4.9.0-8-amd64 »Code : Tout sélectionner
$ sudo make install
install -p -m 644 rtl8812au.ko /lib/modules/4.9.0-8-amd64/kernel/drivers/net/wireless/
/sbin/depmod -a 4.9.0-8-amd64Code : Tout sélectionner
$ lsmod
Là, pas encore de trace de chargement du module rtl8812au. C'est normal. Code : Tout sélectionner
$ sudo modprobe -a rtl8812au Code : Tout sélectionner
$ lsmod
Module Size Used by
rtl8812au 1343488 0
cfg80211 589824 1 rtl8812au
rfkill 24576 3 cfg80211Code : Tout sélectionner
$ sudo modinfo rtl8812au
filename: /lib/modules/4.9.0-8-amd64/kernel/drivers/net/wireless/rtl8812au.ko
version: v4.3.14_13455.20150212_BTCOEX20150128-51
author: Realtek Semiconductor Corp.
description: Realtek Wireless Lan Driver
license: GPL
srcversion: EF34661EE5DBA48C942EF10
alias: usb:v3823p6249d*dc*dsc*dp*ic*isc*ip*in*
...
depends: cfg80211,usbcore
...
parm: rtw_max_roaming_times:The max roaming times to try (uint)
parm: rtw_mc2u_disable:int
parm: rtw_80211d:Enable 802.11d mechanism (int)
...Attendre 1 minute environ avant que le wifi ne capte les SSID.
Vérification de l'état du Wifi avant connexion à un SSID (commande nmcli device)
Code : Tout sélectionner
$ nmcli device
PÉRIPHÉRIQUE TYPE ÉTAT CONNEXION
enp2s0 ethernet déconnecté --
wlp0s20u11 wifi déconnecté --Vérification de l'état du Wifi après connexion à un SSID (commande nmcli device)
Code : Tout sélectionner
nmcli device
PÉRIPHÉRIQUE TYPE ÉTAT CONNEXION
wlp0s20u11 wifi connecté Auto maFreebox
enp2s0 ethernet déconnecté --
lo loopback non-géré -- Code : Tout sélectionner
$ nmcli dev wifi
* SSID MODE CHAN DÉBIT SIGNAL BARS SÉCURITÉ
-- Infra 11 54 Mo/s 89 ▂▄▆█ WPA2
* maFreebox Infra 11 54 Mo/s 89 ▂▄▆█ WPA1
Livebox-D123 Infra 100 54 Mo/s 44 ▂▄__ WPA2
Optionnel: dans le fichier /etc/NetworkManager/NetworkManager.conf
[device]
wifi.scan-rand-mac-address=no
Redémarrage du gestionnaire de réseau (optionnel)
Code : Tout sélectionner
$ sudo systemctl restart network-managerLe plus long fût de trouver une clé wifi embarquant un firmware compatible Debian9.
Remarque: il parait qu'il faut recompiler le firmware si le noyau Linux est mis à jour