Accueil

Installation et Configuration de NDISwrapper

Par cfdev.

Cet article va vous expliquer comment installer ndiswrapper, afin d'utiliser votre carte wifi avec les pilotes Windows.

Sommaire

Description de ndiswrapper

Beaucoup de fabricants ne libèrent pas les pilotes de leurs cartes réseau sans fil (wifi), c'est pourquoi le projet NDISwrapper combine l'API Windows et NDIS (Network Driver Interface Specification) dans le noyau Linux. La plupart des cartes PCI, mini-PCI, PCMCIA ou USB fonctionnent avec ndiswrapper.
Pour plus de détails voir le site web du projet : NDISwrapper.

NDISwrapper est en constante évolution, il est possible que sa version actuelle ne supporte pas (encore) votre matériel.

Installation

Pour l'installation 3 choix s'offrent à vous :

Dans cet exemple je choisis la compilation des sources avec installation (sachant que la création d'un paquet fait par vos soins est beaucoup mieux, voir le nano-manuel d'empaquetage ;-) ).

Télécharger les sources de ndiswrapper :

$ wget http://switch.dl.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-1.53.tar.gz

Puis décompressez ensuite l'archive :

$ tar xvzf ndiswrapper-1.53.tar.gz

Placez-vous dans le répertoire décompressé et tapez les commandes suivantes :

$ make

Et en root :

# make install

ndiswrapper est maintenant installé :-D pour le vérifier taper

# ndiswrapper -v

La version du logiciel doit apparaitre.

IMPORTANT : Après l'installation, afin de mettre à jour les dépendances entre modules : /sbin/depmod -a .

Configuration

Dans cet exemple, j'utilise une clef wifi usb sagem XG760N, la première étape consiste à charger le pilote Windows, il doit se trouver sous la forme *.inf (WlanBZG.inf dans mon exemple). Rendez-vous donc dans le répertoire où se trouve le pilote et tapez :

# ndiswrapper -i WlanBZG.inf

Si aucun message d'erreur n'apparait on va vérifier que le matériel est bien reconnu

# ndiswrapper -l

Il doit afficher votre matériel comme present, si ce n'est pas le cas, NDISwrapper ne supporte peut-être pas (encore) votre carte. :-(

Ensuite il faut assigner à votre carte un alias (identifiant) pour être reconnu en tant que WLAN ;-)

# ndiswrapper -m

NDISwrapper va donc créer un wlan0 ou wlanX si il y a plusieurs cartes wifi.

S'il apparait un message vous informant qu'un alias existe déjà pour ce matériel, il suffit de le supprimer en tapant (en root) rm -f /etc/modprobe.d/ndiswrapper.

Il suffit ensuite de charger le module du driver que l'on vient d'installer :

# modprobe ndiswrapper

À ce stade ce sont les outils standards que l'on va utiliser comme iwconfig afin de vérifier que notre wlan0 est bien ajouté.

# iwconfig wlan0

Le détail doit apparaitre ESSID,Mode,...

Comment voir les réseaux alentours ? :) rien de plus simple ^_^

# iwlist scanning wlan0

Nous allons maintenant configurer notre wlan0, pour nous connecter à notre myBox favorite

# iwconfig wlan0 ESSID myBox KEY XXXXXXXXXXXXXXXXXXXXXXXXXX

Pour plus de détails man iwconfig ;-)

Puis configurer l'adresse IP en dynamique :

# dhcpcd -d wlan0

ou en statique :

# ifconfig wlan0 <IP> netmask <MASQUE>
# route add default gw <IP> wlan0

Automatiser la configuration

Pour qu'à chaque redémarrage PC, notre configuration soit appliquée, mais aussi à chaque replug d'une clef usb wifi, nous allons utiliser les fichiers de configuration de la Slackware.

Dans un premier temps nous allons éditer le fichier /etc/rc.d/rc.modules-x.x.x.x-smp, par exemple avec vim :

# vim /etc/rc.d/rc.modules-x.x.x.x-smp

On veux charger notre module à chaque démarrage, on entre donc la ligne suivante dans le fichier :

...
/sbin/modprobe ndiswrapper
...

Pour la configuration réseau on édite le fichier /etc/rc.d/rc.inet1.conf:

# vim /etc/rc.d/rc.inet1.conf


Entrez votre passerelle par défaut, décommenter les lignes ci-après et inscrivez votre configuration.

# Default gateway IP address:
GATEWAY="192.168.1.1"
...
IFNAME[4]="wlan0"
IPADDR[4]="192.168.1.100"
NETMASK[4]="255.255.255.0"
USE_DHCP[4]="no"


Une fois les adresses configurées, nous allons éditer /etc/rc.d/rc.wireless.conf qui est lié au rc.inet1.conf. Comme nous indique la petite note NOTE : Comment out the following five lines to activate the samples below ..., il faut mettre en commentaire ceci au début du fichier :

#*)
#    INFO="Any ESSID"
#    ESSID="any"
#    ;;


À la fin du fichier se trouve un exemple que nous allons utiliser, c'est ici que l'on va définir les paramètres wifi pour nous connecter à notre myBox
Premièrement il faut entrer les 3 premiers éléments de l'adresse MAC se trouvant sur votre carte wifi ici 00:60:B3

# Generic example (decribe all possible settings)
00:60:B3:*)
    INFO="Fill with your own settings..."
    # ESSID (extended network name) : My Network, any
    ESSID="myBox"
    # NWID/Domain (cell identifier) : 89AB, 100, off
    NWID=""
    # Operation mode : Ad-Hoc, Managed, Master, Repeater, Secondary, auto
    MODE="Managed"
    # Frequency or channel : 1, 2, 3 (channel) ; 2.422G, 2.46G (frequency)
    FREQ=""
    CHANNEL="9"
    # Sensitivity (cell size + roaming speed) : 1, 2, 3 ; -70 (dBm)
    SENS=""
    # Bit rate : auto, 1M, 11M
    RATE="auto"
    # Encryption key : 4567-89AB-CD, s:password
    KEY="XXXXXXXXXXXXXXXXXXXXXXXXXX"
    # RTS threshold : off, 500
    RTS=""
    # Fragmentation threshold : off, 1000
    FRAG=""
    # Other iwconfig parameters : power off, ap 01:23:45:67:89:AB
    IWCONFIG=""
    # iwspy parameters : + 01:23:45:67:89:AB
    IWSPY=""
    # iwpriv parameters : set_port 2, set_histo 50 60
    IWPRIV=""
    ;;

Je n'ai renseigné volontairement que les champs suivants (si on est plus expert, on peut renseigner les autres ;-) ):

Vous pouvez maintenant redémarrer le service réseau ou directement l'ordinateur :

# /etc/rc.d/rc.inet1 restart

Voilà, c'est fini, à vous les surfs sans fil !! :-P. J'espère que cet article aura répondu à vos attentes.
++

Thèmes : #articles #cfdev #materiel #reseau #wifi

Sauf indication contraire, ce document est placé sous licence CC-BY-SA 3.0.