Retrouvez cet article dans : Linux Pratique 37
Ndiswrapper est un outil permettant d'utiliser les drivers Windows afin que les cartes réseau, et en particulier les cartes réseau Wifi, soient reconnues sous Linux. Dans notre exemple, nous souhaitons installer un dongle USB Wifi Thomson de modèle WLG-1500A (modèle livré avec la LiveBox de France Telecom).
Pour l'instant, si nous ouvrons notre outil de configuration du réseau, on peut constater qu'aucune interface réseau de type Wifi n'est disponible (Fig. A).

La première chose à faire est de récupérer le driver de votre matériel sur le site du fabricant (ou peut-être que celui-ci se trouve sur le CD-ROM livré avec le matériel). Nous récupérons le driver adéquat (pour notre dongle, il s'agit du driver SIS163 WLAN) sur le site http://www.sis.com/download/. On obtient une archive nommée wlan_163_r105.zip. Décompressez cette archive, puis recherchez un fichier du type sis163u.inf (c'est le fichier qui nous intéresse).
Vous pouvez ensuite récupérer la dernière version de Ndiswrapper sur le site officiel : http://ndiswrapper.sourceforge.net/ (la version 1.23 est à ce jour la plus récente). Mais dans ce cas, il vous faudra vous lancer dans la compilation de ndiswrapper... Heureusement, il y a beaucoup plus simple : il suffit d'installer le paquet ndiswrapper-utils à l'aide de votre gestionnaire de paquets (paquets .deb et .rpm disponibles) !
On se place ensuite dans le répertoire où se trouve le driver (le fichier sis163u.inf), puis on saisit la commande suivante (en ayant les droits d'administrateur ; remplacez sis163u.inf par le nom du fichier correspondant au driver de votre matériel) :
# ndiswrapper -i sis163u.inf
Cette commande permet de charger le driver Windows sur votre système. Elle vous renvoie une ligne du type : Installing sis163u. Puis, pour vérifier que ndiswrapper a bien installé votre driver :
# ndiswrapper -l
qui doit vous renvoyer la ligne : sis163u driver present, hardware present
(si la mention hardware present n'apparaît pas, vérifiez que votre matériel est correctement connecté à votre ordinateur).
Jusque-là , tout se déroule normalement : notre driver semble bien correspondre à notre dongle Wifi. À présent, nous allons créer un module pour le charger dans le noyau Linux. Ce module sera créé à partir du pilote Windows que nous avons chargé précédemment. Saisissons la commande suivante :
# ndiswrapper -m
Celle-ci vous renvoie l'indication suivante : Adding "alias wlan0 ndiswrapper" to /etc/modprobe.d/ndiswrapper. Autrement dit, un nouvel alias est ajouté dans le fichier de configuration.
Enfin, on charge dynamiquement le module créé :
# modprobe ndiswrapper

Après quelques secondes, notre dongle s'allume. Il semblerait qu'il soit bien reconnu par notre système. Jetons un œil sur notre outil de configuration du réseau à présent (Fig. B).
Et voilà , nous disposons désormais d'une nouvelle interface réseau. Nous n'avons plus qu'à entrer les paramètres de connexion renseignés par notre fournisseur d'accès pour bénéficier de notre connexion Wifi !
Pour finir, pour vous éviter de recommencer toute la procédure au prochain démarrage de votre système, nous vous conseillons d'ajouter le module ndiswrapper dans votre fichier /etc/modules. Ainsi, comme tous les modules présents dans ce fichier, ndiswrapper sera chargé dès le démarrage de votre système.
LIENS
Site officiel Ndiswrapper : http://ndiswrapper.sourceforge.net/ [en]
Documentation Ndiswrapper pour Ubuntu : http://doc.ubuntu-fr.org/materiel/wifi/ndiswrapper [fr]
Liste du matériel compatible : http://ndiswrapper.sourceforge.net/mediawiki/index.php/List [en]

