Activer Ndiswrapper

sidux fournit tout le nécessaire pour vous connecter en réseau sans fil : le module de support du Wifi est intégré au noyau de Sidux, et les utilitaires ndiswrapper sont installés.

Vous aurez besoin d'un fichier .inf fourni pour Windows par le fabricant de votre contrôleur Wifi. Lorsque vous en disposez, chargez-le :

ndiswrapper -i driver.inf

Pour vérifier que l'installation se soit déroulé sans problème, vérifiez-là avec -l:

root@blubb:/répertoire/du/pilote# ndiswrapper -l
installed drivers:
net5416 : driver installed
 device (168C:0024) present 

Il est important d'obtenir "driver installed" (pilote installé) et "device present" (matériel présent) comme sortie de -l. Si vous n'obtenez pas les deux, alors quelque chose n'a pas fonctionné (consultez alors les messages d'erreur avec -i et/ou dmesg), car si la sortie obtenue est incorrecte, alors vous ne parviendrez pas à activer votre connexion wifi.

Quand tout est ok, chargez le module ndiswrapper:

modprobe ndiswrapper

Pour s'assurer qu'un périphérique wifi ait été créé, entrez:

iwconfig

Pour voir si un point d'accès est accessible:

iwlist wlan0 scan

si c'est le cas, vous pouvez alors configurer la carte wifi avec:

/usr/sbin/netcardconfig

Si vous devez mettre-à-jour votre noyau, alors il faudra réinstaller le module ndiswrapper. En adaptant le nom de noyau avec le cas que vous rencontrerez, vous entrerez pour ce faire :

dpkg -i /usr/src/kernel-downloads/2.6.21.5-slh-smp-2/ndiswrapper-modules-2.6.21.5-slh-smp-2_1.46-0+c0.sidux.1+1_i386.deb

puis chargerez le nouveau module avec modprobe:

modprobe ndiswrapper

La réinstallation des pilotes Windows ne sera pas nécessaire puisqu'ils constituent un élément séparé du module de noyau.

Vous avez également la possibilité d'ajoûter ndiswrapper dans votre fichier /etc/modules pour l'activer au démarrage.

grep -q ^ndiswrapper /etc/modules|| echo ndiswrapper >> /etc/modules

Vous pouvez faire la même chose dans le centre de controle en graphique siduxcc de KDE-Start-Menu

Utilisation avancée de Ndiswrapper

Ndiswrapper est un module permettant à Linux d'exploiter des pilotes Wifi pour Windows. Ceci s'impose quand certains constructeurs refusent de fournir des pilotes libres ou open source, rendant le portage sous Linux problématique. Ndiswrapper résoud le problème par une forme d'encapsulation du pilote Windows traduisant ses entrées et sorties sous des formes accessibles à Linux.

Pour identifier le pilote nécessaire

Vous devez pour commencer disposer du pilote Windows qui corresponde vraiment à votre carte Wifi. Il est fréquent qu'un même modèle de carte existe sous différentes formes, utilisant toutefois des puces de modèles eux, différents. La seule manière fiable d'identifier avec précision votre matériel est de vous baser sur son numéro de série (ID) particulier. (USBID/PCIID)

Pour l'obtenir, ouvrez un terminal:

Pour un adaptateur Wifi USB
bla@blubb:~$ lsusb
Bus 004 Device 002: ID 2001:3700 D-Link Corp. [hex] DWL-122 802.11b
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 003: ID 0db0:6982 Micro Star International Medion Flash XL V2.7A Card Reader
bla@blubb:~$

Ce que vous pouvez voir dans l'exemple ci-dessus, c'est que l'identifiant USBID de l'adaptateur D-Link Corp [hex] DWL-122 est 2001:3700.

Pour un (micro)adaptateur WIFI PCI / PCMCIA
bla@blubb:~$ lspci -nn
00:1f.3 SMBus [0c05]: Intel Corporation 82801G (ICH7 Family) SMBus Controller [8086:27da] (rev 02)
01:00.0 Ethernet controller [0200]: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller [11ab:4362] (rev 22)
02:00.0 Network controller [0280]: Atheros Communications, Inc. Unknown device [168c:0024] (rev 01)
03:03.0 FireWire (IEEE 1394) [0c00]: Agere Systems FW323 [11c1:5811] (rev 61)

Cet 'id' utilise le schéma vendeur:pièce suivant la même méthode, ici 168c:0024 pour la carte Atheros.

l'information obtenue cherchez dans: ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list une entrée dont l''id" corresponde ; si vous êtes chanceux et la trouvez, alors vous recevrez avec des recommandations concernant le pilote à utiliser.

Vous aurez besoin des fichiers INF et SYS correspondant à ce pilote. Dans les meilleurs cas vous les trouverez sous forme d'archive ZIP extractible. Si vous les récupérez sous forme EXE, il s'agira d'archive auto-extractible (action réalisable avec wine), sous forme de CAB, elle s'extraiera avec cabextract. Le plus simple est de stocker ces fichiers dans un répertoire créé dans votre /home.

Activer Ndiswrapper et installer le pilote

Déplacez-vous dans le répertoire où vous stockez les pilotes windows:

bla@blubb:~$cd /répertoire/du/pilote
bla@blubb:~$su
root@blubb:/répertoire/du/pilote# ndiswrapper -i <pilote.inf>
installing net5416 

Pour vérifier que l'installation se soit déroulé sans problème, vérifiez-là avec -l:

root@blubb:/répertoire/du/pilote# ndiswrapper -l
installed drivers:
net5416 : driver installed
 device (168C:0024) present 

Il est important d'obtenir "driver installed" (pilote installé) et "device present" (matériel présent) comme sortie de -l. Si vous n'obtenez pas les deux, alors quelque chose n'a pas fonctionné (consultez alors les messages d'erreur avec -i et/ou dmesg), car si la sortie obtenue est incorrecte, alors vous ne parviendrez pas à activer votre connexion wifi.

Quand tout est ok, chargez le module ndiswrapper:

root@blubb:/répertoire/quelconque# modprobe ndiswrapper

Si à la suite de cette commande vous n'obtenez aucun message particulier, c'est que l'opération est un succès ; si quelque chose s'affiche, alors consultez dmesg pour plus d'information.

"iwconfig" devrait à ce stade identifier un matériel wifi:

root@blubb:~# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

lan0      no wireless extensions.

tun0      no wireless extensions.

wlan0     IEEE 802.11b  ESSID:"ConnectionPoint"
          Mode:Managed  Frequency:2.457 GHz  Access Point: 00:01:E3:0A:93:1B
          Bit Rate=11 Mb/s
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Si vous voulez charger ndiswrappper au démarrage, ajoûtez à la main ndiswrapper dans /etc/modules, ou lancez cette commande:

root@blubb:~# grep -q ^ndiswrapper /etc/modules|| echo ndiswrapper >> /etc/modules
Réinstaller Ndiswrapper après une mise-à-jour de noyau

Si vous devez mettre-à-jour votre noyau, alors il faudra réinstaller le module ndiswrapper. En adaptant le nom de noyau avec le cas que vous rencontrerez, vous entrerez pour ce faire :

dpkg -i /usr/src/kernel-downloads/2.6.21.5-slh-smp-2/ndiswrapper-modules-2.6.21.5-slh-smp-2_1.46-0+c0.sidux.1+1_i386.deb

puis chargerez le nouveau module avec modprobe:

modprobe ndiswrapper

La réinstallation des pilotes Windows ne sera pas nécessaire puisqu'ils constituent un élément séparé du module de noyau.

Information générique

Pour configurer votre nouvelle carte, utilisez netcardconfig ou sidux-networkconfig. Une information détaillée (en) peut être trouvée ici .

Si vous dénichez un autre/un nouveau pilote, testez-le aussi, s'il vous plait. Ceci pourra vous causer quelque problème, un kernel panic dans le pire des cas, mais vous aiderez ainsi le projet ndiswrapper et les autres utilisateurs à bénéficier des meilleurs pilotes possibles, pour les différentes cartes existantes. Ne manquez pas alors de mettre-à-jour/compléter la liste ndiswrapper après un test satisfaisant.

Consultez aussi l'information supplémentaire accessible sur le wiki(en).

Dernière actualisation le 08/01/2008 2200 UTC