Distribution : Debian
Niveau : Avancé
Commentaire :
Il existe plusieurs possibilités pour installer son réseau wifi : soit votre périphérique wifi est reconnu par le noyau, soit il ne l'est pas...
Dans ce cas, il est possible d'utiliser Ndiswrapper. Pour voir la liste des cartes supportées par Ndiswrapper, aller-voir ici. Ndiswrapper n'est pas un driver mais permet l'utilisation des drivers windows (qui eux sont toujours fournis...)
Avant toute chose, nous aurons besoin des utilitaires wifi :
# apt-get install wireless-tools
Cette procédure n'est valable que pour les noyaux antérieurs à la version 2.6.10. Pour les noyau 2.4.x, il faut récupérer les fichiers à l'adresse suivante : http://lisas.de/~andi/acx100/old/
Nous allons détailler ici la procédure pour un noyau 2.6.16. Le processeur de l'ordinateur concerné est un Athlon AMD Power Now 2000+, c'est à dire un k7. La carte wifi est une D-Link DWL-G650+.
Pensez à adaptez les commandes à votre version de noyau.
Tout d'abord, il faut savoir quel version du noyau vous utiliser. Pour connaître la version courante, tapez la commande suivante :
$ uname -r
Dans notre cas, nous obtenons :
2.6.16
Il faut maintenant installer les headers du noyau 2.6.16. Pour obtenir la liste des paquets susceptibles de nous être utiles :
$ apt-cache search linux-headers-$(uname -r)
Voici le paquet qui correspond à notre configuration :
linux-headers-2.6.16-2-k7 - Header files for Linux kernel 2.6.16 on AMD K7 machines
Nous allons installer les headers :
# apt-get install linux-headers-2.6.16-2-k7
Maintenant, il faut récupérer les firmwares, disponibles sur cette page : choisissez les firmwares en fonction du modèle de votre carte wifi. Il y a deux fichiers à télécharger.
Dans notre cas, nous avons récupéré les fichiers suivants :
Copiez ces fichiers dans les dossiers suivants :
# cp RADIO11.BIN /lib/firmware # cp RADIO11.BIN /usr/lib/hotplug/firmware # cp WLANGEN.BIN_1.9.8.b /lib/firmware # cp WLANGEN.BIN_1.9.8.b /usr/lib/hotplug/firmware
Maintenant téléchargez le fichier acx-YYYYMMDD.tar.bz2 (avec YYYYMMDD la date) le plus récent à l'adresse suivante : http://acx100.erley.org/ dans le dossier /tmp/ :
# cd /tmp # wget http://acx100.erley.org/acx-20060521.tar.bz2
Créez un dossier /usr/src/acx-YYYYMMDD :
# cd /usr/src # mkdir acx-20060521
Décompressez le fichier téléchargé dans le nouveau dossier :
# cd acx-20060521 # tar xvjf /tmp/acx-20060521.tar.bz2
Maintenant il faut compiler le module :
# make -C /lib/modules/$(uname -r)/build M=$(pwd)
Il ne reste plus qu'à charger le module :
# insmod ./acx.ko
Pour charger automatiquement le module au démarrage, il suffit d'ajouter les lignes suivantes au Script De Demarrage :
cd /usr/src/acx-20060521/ ./insmod acx.ko
La commande iwconfig nous permet de vérifier que notre interface réseau est reconnue :
LightStar:/usr/src/acx-20060521# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
eth1 no wireless extensions.
sit0 no wireless extensions.
wlan0 IEEE 802.11b+/g+ ESSID:"STA2EBCB9" Nickname:"acx v0.3.35"
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Bit Rate:54 Mb/s Tx-Power=15 dBm Sensitivity=1/3
Retry min limit:7 RTS thr:off
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
Module-assistant est un outil Debian permettant de compiler des modules à la sauce Debian. De plus, il permet de compiler les sources sans passer par toute les phases de make, make install.
Tout d'abord, il faut installer les paquets dont nous avons besoin :
grace à la commande :
# apt-get install ndiswrapper-utils ndiswrapper-source module-assistant linux-headers-$(uname -r)
Ensuite, on prépare les différents outils nécessaires à la compilation et on récupère les headers du kernel.
# module-assistant prepare
On compile ndiswrapper pour obtenir un .deb
# m-a prepare
Et pour finir, on l'installe :
# m-a a-i -f ndiswrapper
Ndiswrapper est installé. Il ne reste plus qu'à charger les drivers de votre carte réseau.
Tout d'abord, on peut tenter de charger le module :
# mdoprobe ndiswrapper
Il faut ensuite charger dans ndiswrapper la liste des pilotes des cartes wifi
# ndiswrapper -i <chemin vers le fichier .inf du driver windows>
Vous pouvez vérifier la liste des drivers chargés :
# ndiswrapper -l
Afin de créer un alias pour la carte wifi, il faut lancer la commande :
# ndiswrapper -m
Ensuite, il suffit de charger le module ndiswrapper :
# modprobe ndiswrapper
Eventuellement, retirez puis réinsérer la carte Wifi PCMCIA pour qu'elle soit bien reconnue.
La commande iwconfig permet de vérifier la présence de la carte :
# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
eth1 no wireless extensions.
wlan0 IEEE 802.11b ESSID:off/any
Mode:Managed Frequency:2.462 GHz Access Point: Not-Associated
Bit Rate=54 Mb/s Tx-Power:0 dBm Sensitivity=0/3
RTS thr=4096 B Fragment thr=4096 B
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
Installer et utiliser network-manager
Pour cet exemple j'ai utilisé une clé usb DWA-110 de D-Link mais cela devrait fonctionner avec n'importe quelle carte supportée par le driver mac80211.
Il faut installer hostapd et les wireless-tools
sudo apt-get install wireless-tools hostapd
Il faut modifier 2 fichiers : /etc/hostapd/hostapd.conf
interface=wlan0 driver=nl80211 ssid=SMH_WIFI hw_mode=g channel=11 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=3 wpa_passphrase=mon mot de passe wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
ainsi que le fichier /etc/default/hostapd
RUN_DAEMON="yes" DAEMON_CONF="/etc/hostapd/hostapd.conf"
J'ai aussi configuré l'interface wlan0 dans mon fichier /etc/network/interfaces pour lui mettre une adresse IP en dur pour le DHCP.