Matériel concerné

  • Il s'agit d'un portable Dell D630 avec chipset WiFi Intel 3945


Tester avec Kismet

  • Pour vérifier que votre matériel fonctionne, vous pouvez utiliser Kismet avec un live-cd (Backtrack par exemple).
    • Une fois Kismet lancé, vous devriez voir votre réseau.


Configuration dans le noyau

  • Je vous conseille d'activer tout ce qui a rapport de près ou de loin au WiFi.
  • iwl3945 est le nouveau module pour le chipset 3945. Utilisez le à partir du noyau 2.6.22.
  • Mettez tout en module
    • Vous avez obligatoirement besoin de mac80211 et de iwl3945
  • N'oubliez pas de rapatrier le microcode Intel dans /lib/firmware
  • Si malgré tout vous avez l'horrible erreur could not read microcode : errorcode -2, et que votre firmware est bien là:
    • contrairement à ce qu'affirme le errorcode (file not found), ce n'est pas le fichier qui est absent.
    • en fait, le fichier est incorrectement décodé. Il faut le support pour le décoder.
    • vous n'avez plus qu'à vous recompiler un noyau avec toutes les options, et retirer des options petit à petit.


Script de démarrage

Et voici un script de démarrage prêt à l'emploi (ou presque).

#!/bin/sh

wifi=`iwconfig | grep 802.11 | cut -f 1 -d' '`
if [ "$wifi" == "" ]; then
        echo $wifi
        echo "Pas de carte Wifi détectée!"
        exit
else
        echo carte wifi detectée sur $wifi
fi
ifconfig eth0 down
ifconfig $wifi down
route del default
iwconfig $wifi key 0102030405060708 essid "votre_essid" mode managed
ifconfig $wifi up
ifconfig $wifi 192.168.1.1
echo "petite pause avant le iwlist........."
sleep 5
iwlist $wifi scan
route add default gw 192.168.1.254


  • Quelques explications:
    • le ifconfig down de eth0 sert à éviter les conflits avec la carte réseau ethernet.
    • le iwlist n'est pas facultatif, et est très important pour permettre l'association avec le point d'accès.
    • la pause avant le iwlist permet au matériel de s'initialiser (sans la pause, ça ne marche pas à tous les coups)
    • le ifconfig sur l'interface wifi, ainsi que le route add peuvent souvent se remplacer par un dhcpcd $wlan0 qui vous donnera les bonnes valeurs.