Publié le samedi 17 décembre 2005, mis a jour le samedi 16 décembre 2006, par Antoine V.E.
Si vous avez un ordinateur portable récent, il est fort probable que celui ci intègre une carte réseau WiFi.
Pour faire fonctionner celle-ci, il n’y a hélas pas souvent de pilotes développés pour Linux. C’est pour cela que “ndiswrapper” a été créé. Ce programme utilise le pilote pour Windows Xp et l’adapte pour le noyau Linux.
Ndiswrapper est disponible dans portage, son installation est donc assez simple. Je vous conseille tout de même d’utiliser la version x86, car avec les noyaux récents, des erreurs de compilation peuvent avoir lieu avec la version x86. Pour cela, utilisez la commande suivante :
$ echo net-wireless/ndiswrapper ~x86 >> /etc/portage/package.keywords
Note : il faut executer cette commande avec des droits de superutilisateur (root).
ensuite un simple
$ emerge ndiswrapper
installera le programme. Il est relativement rapide à compiler, néanmoins, certaines dépendances peuvent apparaitre comme par exemple les “wireless tools”
Une fois la compilation terminée, vous pouvez charger le module avec
$ modprobe ndiswrapper
Pour que cela se face automatiquement au démarrage, ajoutez “ndiswrapper” à “/etc/modules.autoload.d/kernel-2.6” (si vous êtes avec un noyau 2.6).
Une fois ndiswrapper installé, son utilisation est très simple. Le plus compliqué est surtout de trouver le bon pilote pour la carte wifi. Il faut déjà savoir quel est le nom du chipset, cela s’obtient grâce à la commande “lspci” utilisée de la sorte :
lspci | grep 802J’utilise ici “grep 802” car le wifi est également appelé “802.11”. Cela permet de n’afficher que les informations relatives au wifi dans votre machine.
Ensuite vous pouvez utiliser cette liste pour trouver le pilote à installer. Si vous avez eu un disque d’installation pour votre carte wifi, il faut très certainement utiliser les pilotes fournit pour Windows Xp. Le pilote est un fichier avec l’extension .inf.
Pour l’envoyer à ndiswrapper, utilisez la commande suivante :
$ ndiswrapper -i xxxx.inf
avec xxxx.inf a remplacer par le fichier de votre pilote.
Si tout ce passe bien, vous pouvez vérifier le fonctionnement avec
ndiswrapper -lqui donnera :
Installed ndis drivers:
xxxxxx driver present, hardware present
Pour tester le wifi, la commande la plus simple est
$ iwlist scanning
Cette commande vous permettra de savoir quelle est l’interface wifi (le plus souvent wlan0) et quels sont les réseaux à proximité.
Je me déplace souvent avec mon portable, j’ai donc plusieurs points d’accès wifi selon l’endroit où je me trouve. J’ai donc créé des scripts qui automatise la connexion. Voici par exemple mon script wifi_maison :
#!/bin/bash
$iwconfig wlan0 essid ESSID channel 11 nick NICK key [1] XXXXXXXXXX && ifconfig wlan0 up && dhcpcd wlan0
essid : c’est le nom du réseau (par exemple MonWifi)
channel : c’est le canal wifi (le plus souvent 11)
nick : un nom pour l’ordinateur (ce n’est pas obligatoire)
key : la clé WEP
Cela a donné les paramètres pour le wifi. “ifconfig wlan0 up” active l’interface et “dhcpcd wlan0” attribue l’adresse IP (via un serveur DHCP comme par exemple certaines “box” de fournisseur d’accès internet).