/*************************************************************
*
* INSTALLER MAWIFI POUR UNE CARTE WIFI AVEC CHIPSET ATHEROS
*
*************************************************************/
1) Sources du kernel
- quel kernel est installé?
# uname -a
ou
# uname -r
- Résultat: # 2.6.xx-x
- Ensuite, on vérifie si le kernel est bien installé:
# rpm -qa | grep -i kernel
Si ça ne donne rien, installer le dernier kernel à partir des sources (CD, repos...)
# rpm -Uvh kernel-xxxx
- Si le kernel est bien installer, on doit avoir ce chemin valide:
# cd /lib/modules/2.6.xx-x/build/
ou
# cd /lib/modules/`uname -r`/build/
2) Outils nécessaires:
- Wireless-tools et libiw
# rpm -qa | grep -i wireless
si rien
# rpm -Uvh wireless-tool (à partir du CD)
- Share Utils
# rpm -qa | grep -i sharutils
si rien
# rpm -Uvh sharutils (à partir du CD)
3) Installation de madwifi
o Télécharger madwifi:
- sur Sourceforge:
http://sourceforge.net/projects/madwifi/
- ou les CVS:
http://madwifi.otaku42.de/
-
http://linux.cergynux.net/
o Extraction de madwifi:
# tar -xjvf madwifi-cvs-xxxxxxxx.tar.bz2 -C
/lib/modules/`uname -r`/build/
ou
# tar -xzvf madwifi-cvs-xxxxxxxx.tar.gz -C /lib/modules/`uname -r`/build/
o Compilation de madwifi:
# cd /lib/modules/2.6.xx-x/build/madwifi/
# make
# make install
Note: en cas d'erreurs de compilation, avant de la recommencer faire:
# make clean
ou # dmesg
4) Configuration de madwifi
- Mise en route du module ath_pci:
# modprobe ath_pci
- Vérification qu'il est bien lancé (liste: ath_pci, ath_hal et wlan):
# lsmod
- Afficher les infos de la carte wifi ath0:
# iwconfig
- Définir le mode: [ Master | Managed | AdHoc ]
# iwconfig ath0 mode Managed
Point d'accès: Master ou Managed
PC à PC: AdHoc
- Ajouter le nom du réseau (ici wfan):
# iwconfig ath0 essid wfan
- Ajouter la clé WEP (si aucune, ignoré cette étape):
# iwconfig ath0 key clef-WEP (série hexadécimale)
Avec madwifi, la clé WEP ne marche qu'en mode "open" key, pas en "shared" ni en "restricted".
- Ajouter votre IP:
# iwconfig ath0 192.168.0.1 (ou la votre)
- Vérification pour voir si la carte accroche bien l'ap
# iwlist ath0 scan
# route add -net 0.0.0.0 gw 192.168.0.1
(adresse du routeur ou de la passerelle)
- Ajouter l'adresse du serveur:
# echo "nameserver 192.168.0.1" >> /etc/resolv.conf
- Tester la connexion avec un ping sur internet
/************************************
* Chargement du driver au démarrage
************************************/
1) Alias dans modprobe.conf
- Ajouter un alias:
# vi /etc/modprobe.conf
A la fin du fichier, ajouter la ligne suivante:
alias ath0 ath_pci
Enregistrer et fermer le fichier ":wq"
Et on fais un petit
# depmod -a
Puis
# modprobe -r ath_pci
suivi de
# modprobe ath_pci
et
# iwconfig
2) Edition de resolv.conf
Pour accéder à internet, il faut déclarer le(s) DNS et définir la route par défaut.
- Pour le(s) DNS, ouvrir le fichier:
# vi /etc/resolv.conf
et ajouter la ligne suivante (si pas déjà fait, voir ci-avant):
nameserver 192.168.0.1
- Pour la route, ouvrir le fichier:
# vi /etc/sysconfig/network
et ajouter les lignes suivantes (vous devez déjà avoir "NETWORKING=yes"):
HOSTNAME=nom.machine.home
GATEWAY=192.168.0.1
GATEWAYDEV=ath0
Le contenu doit ressembler à ça (sans les commentaires):
NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=192.168.0.1 (pour fixer la passerelle par défaut)
GATEWAYDEV=ath0 (interface wifi par défaut)
3) Automatiser le tout:
- Sans redémarrer:
o Créer un fichier ifcfg-ath0 avec l'éditeur VI:
# vi /etc/sysconfig/network-scripts/ifcfg-ath0
o Ajouter les champs suivants:
# Atheros Communications, Inc. AR5212 802.11abg NIC
STARTMODE=hotplug
DEVICE=ath0
ONBOOT=yes
BOOTPROTO=dhcp
IPADDR=192.168.0.1
GATEWAY=192.168.0.255
NETMASK=255.255.255.0
DOMAIN=localhost.localdomain
USERCTL=no
PEERDNS=yes
TYPE=Wireless
IPV6INIT=no
ESSID=nom_reseau
CHANNEL=numero_channel
MODE=Auto
RATE=Auto
KEY="open"
KEY="s:XXXXXXXXXXXXXXXXXXXXXXXXXX"
# Note:
# s = série hexadécimale
# Ne pas mettre les champs KEY si vous n'utilisez pas de clé WEP
# Il existe d'autre forme du champ KEY pour ajouter plusieurs clés WEP sur une ligne
# (voir la FAQ de madwifi)
# Possibilité de mettre: BOOTPROTO=none
Enregistrer et fermer le fichier ":wq"
Puis faire un chmod "775" ou "755" du fichier:
# chmod 755 ifcfg-ath0
(permet à tous les utilisateurs d'utiliser la connexion wifi)
Dernière chose à vérifier:
Le service network doit être configuré pour démarrer automatiquement au boot.
Vérifier son état:
# service network status
Si le network est actif mais que ath0 ne l'est pas faire:
# service network restart
Une fois ceci fait, un test simple:
# ifdown ath0
# modprobe -r ath_pci
puis
# ifup ath0
Normallement la carte doit être active, si c'est ok reboot et c'est fini !!!!!
- (Ou) En redémarrant
# reboot
Au chargement du noyau, votre nouveau matériel est reconnu et un invité de
configuration s'affiche.
Appuyer sur une touche et configurer les DNS
Cette méthode à l'avantage de créer automatiquement un fichier ifcfg-ath0 dans:
# cd /etc/sysconfig/network-scripts/ifcfg-ath0
Vérifier le contenu du fichier ifcfg-ath0:
# vi /etc/sysconfig/network-scripts/ifcfg-ath0
Et le complèter avec les champs non renseignés ou manquant avec l'aide de l'exemple
ci-dessus.
Enregistrer et fermer le fichier ":wq"
Puis faire un chmod "775" ou "755" du fichier:
# chmod 755 ifcfg-ath0
(permet à tous les utilisateurs d'utiliser la connexion wifi)
Dernière chose à vérifier:
Le service network doit être configuré pour démarrer automatiquement au boot.
Vérifier son état:
# service network status
Si le network est actif mais que ath0 ne l'est pas faire:
# service network restart
Une fois ceci fait, un test simple:
# ifdown ath0
# modprobe -r ath_pci
puis
# ifup ath0
Normallement la carte doit être active, si c'est ok reboot et c'est fini !!!!!
/***********************
* Pour aller plus loin
***********************/
1) Est-ce que l'on peut supprimer le répertoire madwifi au niveau des sources?
- non, dans /lib/modules/`uname -r`/build/ le répertoire madwifi est utiliser pour
charger les drivers.
2) Comment fait-on une mise à jour de madwifi?
- Recupérer le nouveau CVS, supprimer l'ancien répertoire dans les sources,
extraire le nouveau puis make et make install.
Cela remplace la version précédente.
(Pour avoir le résultat sur la config courante, il faut décharger le module:
# modprobe -r ath_pci wlan_wep wlan
puis:
#depmod -a
puis recharger de nouveau:
# modprobe ath_pci
autre alternative => reboot
3) Si on met à jour son kernel, faut-il refaire l'installation de madwifi pour qu'il
corresponde à cette version?
- Bien sûr, la version actuelle est compilée pour un kernel.
4) Comment regarde-t-on dans les logs?
- Les 2 principaux log du systeme sont /var/log/messages et /var/log/syslog
pour voir la fin, faire un "tail /var/log/...."
5) Enfin, pas forcément utile mais intéressant pour aller jusqu'au bout, comment
désinstalle-t-on madwifi ?
- Comme suit:
# find /lib/modules/`uname -r`/ -name "ath*" -o -name "wlan*" -exec rm -f {} ;
suivi de:
# depmod -a
/******************
* En cas d'erreur
******************/
- Est ce que les sources du kernel sont installées?
# rpm -qa | grep -i kernel
le chemin des sources doit être: /lib/modules/2.6.xx-x/build/
- Erreurs de compilation?
# make clean
sinon
# dmesg
(affiche les erreurs)
/*******************
* Problème au boot
*******************/
Solution de rechange:
1) Dans ifcfg-ath0:
Changer la ligne "ONBOOT=YES" en "ONBOOT=NO"
2) Rajouter les lignes:
"modprobe ath_pci" et "ifup ath0" dans /etc/rc.d/init.d/rc.local
Idée pour essayer de faire passer le montage en auto standard:
Dans ifcfg-ath0, ajouter "MII_NOT_SUPPORTED=YES"
/*************************************************************
* Plusieurs exemples de l'architecture du fichier ifcfg-ath0
* (A tester suivant les problèmes rencontrer)
*************************************************************/
STARTMODE=hotplug
DEVICE=ath0
BOOTPROTO=dhcp
HWADDR=
ONBOOT=yes
TYPE=Wireless
USERCTRL=no
PEERDNS=no
IPV6INIT=no
MODE=Managed
CHANNEL=6
ESSID=wfan
KEY="XXXXXXXXXXXXXXXXXXXXXXXXXX"
RATE=Auto
# OU
STARTMODE=hotplug
DEVICE=ath0
BOOTPROTO=dhcp
ONBOOT=yes
WIRELESS=yes
MODE=Managed
ESSID=wfan
USERCTL=yes
PEERDNS=no
IPV6INIT=no
RATE=Auto
DHCP_HOSTNAME=
IPADDR=192.168.0.1
NETMASK=255.255.255.0
NETWORK=192.168.0.1
GATEWAY=192.168.0.1
BROADCAST=192.168.0.254
CHANNEL=6
KEY="XXXXXXXXXXXXXXXXXXXXXXXXXX"
# OU
# ifcfg-ath0
DEVICE=ath0
ONBOOT=yes
BOOTPROTO=dhcp
NETMASK=
DHCP_HOSTNAME=t41
IPADDR=
DOMAIN=
HWADDR=
USERCTL=no
PEERDNS=yes
GATEWAY=
TYPE=Wireless
IPV6INIT=no
ESSID=MYHOME
CHANNEL=11
MODE=Auto
RATE=Auto
# Avec la méthode "En redémarrant" un fichier
# keys-ath0 est créé pour y ajouter les clés WEP
# Malheureusement, mes essaies avec n'ont pas été concluant
# Voilà son contenu
KEY=XXXXXXXXXXXXXXXXXXXXXXXXXX
# OU
# Plutôt pour Mandriva (?)
DEVICE=ath0
BOOTPROTO=dhcp
IPADDR=192.168.0.10 <= mettre la bonne ip
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.254
ONBOOT=YES
WIRELESS_MODE=Managed // ou Master en Ad-Hoc
WIRELESS_ESSID=ton_essid_ici
WIRELESS_ENC_KEY="open EECA66EC175074C108DFDCC1F4"
WIRELESS_RATE=54M // si pas défini en auto
WIRELESS_IWPRIV="mode 3"
MII_NOT_SUPPORTED=yes
WIRELESS_CHANNEL=6
/**************
* NOTE de FIN
**************/
Ce tutorial a été grandement inspiré par Navy
Profil:
http://www.netgear-forum.com/forum/index.php?showuser=3645
Site Web:
http://www.cergynux.net/
Je n'ai fait que l'adapter à Fedora en y ajoutant quelques modifications propre à notre
OS préféré.
Tester avec Fedora Core 3, Kernel 2.6.10-1.770smp, madwifi v1.30 2005/02/22
et une carte NetGear WG311T Wireless
Ne pensez pas atteindre du 108Mbps avec votre carte ou seulement une supportant le super-a, ce n'est pas encore supporté avec le super-g sous
Linux et puis du 54Mbps, c'est déjà très bien ^_^
// FIN
J'espère que ça aidera, pour moi ça marche parfaitement depuis ça et à chaque démarrage :-D