SDB:Configuration de réseau sans fil pour la 10.1
Version: 10.1
Sommaire
Situation et introduction
Vous avez installé la version 10.1, mais vous n'êtes pas en mesure d'atteindre le réseau via wireless. Cet article propose une solution détaillée en utilisant le driver MadWifi. Cet article est une traduction (libre et partielle), avec l'aimable autorisation de son auteur, du tutorial proposé à l'adresse suivante :
http://madwifi.org/wiki/UserDocs/FirstTimeHowTo
Veuillez noter qu'il est spécifique aux chipsets Atheros. Dans d'autres cas, vous pouvez trouver d'utiles informations dans l'article suivant :
http://en.opensuse.org/HCL/Network_Adapters_%28Wireless%29
Prérequis
Voir
http://madwifi.org/wiki/Requirements
(en anglais)
Trouver, compiler et installer le driver
Méthode avec YaST
Pour SUSE 10.1, vous pouvez télécharger un rpm à cette adresse :
http://madwifi.org/suse/
L'adresse doit être utilisée comme source d'installation de YaST. Pour ajouter une source, il faut exécuter le module source d'installation à partir du menu logiciel de YaST, et ajouter madwifi.org comme source HTTP. Après quoi, vous pouvez utiliser le module Installer et supprimer des logiciels toujours dans YaST>Logiciel pour installer (ou mettre à jour) madwifi sur votre système.
Trouver d'autres sources
Vous trouverez plus d'informations (en anglais) si vous souhaitez trouver les sources de MadWifi ou des modules déjà compilés dans
http://madwifi.org/wiki/UserDocs/GettingMadwifi
Méthode avec Subversion
Trouver le driver
Voici la méthode en utilisant Subversion. Ouvrez une console (Système>Terminal>Konsole) placez-vous dans votre répertoire /home (par exemple en tapant cd), et entrez:
svn checkout http://svn.madwifi.org/trunk madwifi-ng
Cela devrait télécharder le dernier driver vers un répertoire appelé madwifi-ng. Placez-vous dans ce répertoire (en tapant cd madwifi-ng).
Supprimer les anciens modules
Il faut tout d'abord désactiver les périfériques MadWifi :
ifconfig ath0 down 2>/dev/null ifconfig wifi0 down 2>/dev/null
Répéter ces commandes pour chacun des périfériques (vous pouvez utiliser la commande ifconfig sans option pour passer en revue votre matériel).
Ensuite, il faut désactiver les anciens périphériques MadWifi device dans la mémoire:
rmmod ath_rate_sample rmmod ath_hal rmmod ath_pci rmmod wlan_scan_ap rmmod wlan_scan_sta rmmod wlan
Si vous êtes toujours dans le répertoire madwifi-ng, il faut taper:
cd scripts ./madwifi-unload.bash ./find-madwifi-modules.sh /lib/modules/
Le système demandera de confirmer que vous souhaitez supprimer les modules anciens.
Compiler MadWifi
Maintenant que vous avez le driver MadWifi, il est temps de le compiler. Heureusement, c'est facile. Il suffit de taper la commande :
make
Cela démarrera la compilation. Vous devrez répondre peut-être répondre à certaines questions. Si tout se passe bien, vous pouvez passer à l'étape suivante. S'il y a un problème, vérifiez la section prérequis.
Installer MadWifi
Une fois encore, make se charge de l'installation. Il suffit d'entrer:
make install
Ceci copiera tous les modules, outils et pages de manuel dans les répertoires adéquats de votre système. Vous avez terminé l'installation basique.
Des problèmes ?
Voir
http://madwifi.org/wiki/UserDocs/BuildProblems
(en anglais)
Configurer la connection
Charger le module MadWifi
Cela permet à vos applications de savoir communiquer avec votre matériel MadWifi. Voici la commande:
modprobe ath_pci
Créer une interface
MADWiFi supporte des points d'accès virtuel, ce qui signifie qu'il est possible de connecter plus d'un matériel wireless par carte wireless.
Si votre svn (subversion) date d'avant le 23 janvier 2006, (r1407), vous pouvez alors sauter l'étape suivante, sinon suivez ces instructions. Tapez (en tant que root) :
wlanconfig ath0 create wlandev wifi0 wlanmode sta
Maintenant, en tapant iwconfig, vous devriez voir une liste ressemblant à :
eth0 no wireless extensions. lo no wireless extensions. wifi0 no wireless extensions. ath0 IEEE 802.11g ESSID:"" Mode:Managed Frequency:2.457 GHz Access Point: 00:00:00:00:00:00 Bit Rate:0 kb/s Tx-Power:20 dBm Sensitivity=0/3 Retry:off RTS thr:off Fragment thr:off Power Management:off Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Scanner les points d'accès (AP)
Cela permet de vérifier que tout fonctionne bien. Entrez (en tant que root):
modprobe wlan_scan_sta
Ensuite pour faire apparaître l'interface wireless, entrez:
ifconfig ath0 up
Enfin, vous pouvez scanner, ce qui peut être fait de deux manières :
La première est spécifique à MadWifi.
Cela peut être fait par la commande (en tant que root):
wlanconfig ath0 list scan
Le résultat devrait ressembler à :
SSID BSSID CHAN RATE S:N INT CAPS eddie 00:06:25:e8:3a:05 6 54M 36:0 100 EPs
La deuxième est la manière la plus commune (et qui marche aussi pour les autres cartes wireless), donne plus d'informations et est plus facile à lire:
iwlist ath0 scan
Le résultat est de la forme :
ath0 Scan completed : Cell 01 - Address: 00:06:25:E8:3A:05 ESSID:"eddie" Mode:Master Frequency:2.437 GHz (Channel 6) Quality=37/94 Signal level=-58 dBm Noise level=-95 dBm Encryption key:on Bit Rate:1 Mb/s Bit Rate:2 Mb/s Bit Rate:5.5 Mb/s Bit Rate:11 Mb/s Bit Rate:18 Mb/s Bit Rate:24 Mb/s Bit Rate:36 Mb/s Bit Rate:54 Mb/s Bit Rate:6 Mb/s Bit Rate:9 Mb/s Bit Rate:12 Mb/s Bit Rate:48 Mb/s Extra:bcn_int=100
Remarquez la ligne
Encryption key:on
Si vous avez un message de la sorte :
ath0 Failed to read scan data : Resource temporarily unavailable
à la place des résultats voulus, et si vous êtes dans un environnement qui nécessite une cké d'encryption, alors essayez :
iwconfig ath0 key <yourkey> iwpriv ath0 authmode 2
Cela permet à la carte de savoir qu'elle opère dans un environnement restreint, avec une clé partagé, et donc à besoin d'une clé qu'il vous faut donner en paramètre de iwconfig. Une fois cela fait vous aurez probablement le bon résultat.
Se connecter
Se connecter à un AP ouvert
Si vous avez une ligne
"Encryption key:off"
alors vous n'avez rien besoin de faire pour que le driver soit associé avec l'AP, car le driver se connectera automatiquement à celui ayant le plus fort signal. Vous pouvez cependant (et c'est une bonne pratique) faire savoir au driver à quel AP/Network il doit se connecter en tapant (en tant que root):
iwconfig ath0 essid "eddie"
Cela vous connectera à l'AP avec l'ESSID (network name) eddie.
Vous pouvez également spécify l'AP en utilisant don adresse MAC (dans la première méthode décrite ci-dessus, il s'agit du champ marqué BSSID, et dans la deuxième, du champ appelé adresse). Pour ce faire (utiliser le MAC/BSSID pour spécifier l'AP), taper :
iwconfig ath0 ap 00:06:25:E8:3A:05
Si vous préférez laisser la détection automatique:
iwconfig ath0 ap any
ou
iwconfig ath0 ap auto
Une fois connecté à un AP, vous êtes maintenant "sur le réseau" (de la même manière que si vous aviez un câble ethernet branché dans votre machine). Il vous faut maintenant aquérir une adresse IP. Les outils pour cela sont les mêmes que pou interface avec un câble.
Tout d'abord, vous avez besoin de savoir si le réseau auquel vous vous connectez à un serveur DHCP (qui vous donnerait automatiquement une adresse réseau, et vous dirair comment acceder à internet et effectuer des recherches DNS).
Il y a plusieurs moyens de savoir si un réseau a ou non un DHCP :
- Si vous avez utilisez cette carte avec Windows (sur le même réseau), et si vous l'avez laissé 'Obtenir une adresse IP automatiquement', alors le réseau devrait avoir un DHCP. Sinon, vous pouvez copier les paramètres réseau utilisés.
- Si vous vous êtes connecré à une sorte de routeur, alors le réseau a probablement un DHCP.
- Si vous êtes dans un café internet également.
- S'il y a quelqu'un qui connaît le réseau, demandez-le lui.
- Si vous ne savez toujours pas, vous n'avez qu'à essayer, et vous le saurez par vous même !
Se connecter via DHCP
Il y plusieurs clients DHCP disponibles, dépendament de votre distrubition GNU/Linux.
Se connecter via DHCP grâce à dhclient
Cette application est inclue dans le média de SUSE.
Pour avoir une adresse IP par DHCPen utilisant dhclient, taper (en tant que root):
dhclient ath0
Vous devriez voir une réponse de la sorte :
Internet Software Consortium DHCP Client 2.0pl5 Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium. All rights reserved.
Please contribute if you find this software useful. For info, please visit http://www.isc.org/dhcp-contrib.html
eth1: unknown hardware address type 24 eth1: unknown hardware address type 24 Listening on LPF/ath0/00:02:6f:20:14:81 Sending on LPF/ath0/00:02:6f:20:14:81 Sending on Socket/fallback/fallback-net DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 7 DHCPOFFER from 192.168.0.254 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.254 bound to 192.168.0.152 -- renewal in 7200 seconds.
La dernière ligne montre que le serveur DHCP nous a donnée l'adresse 192.168.0.152. Cela prévient également la machine de la location du DNS server et de la passerelle, si disponible.
Se connecter via DHCP grâce à dhcpcd
Cette application est également inclue dans le média de SUSE.
Alternativement, votre système aura peut-être dhcpcd installé à la place de dhclient, en quel cas:
dhcpcd ath0
Alors vous pouvez taper la commande suivante pour tester la connection :
ping bbc.co.uk
Si cela fonctionne, vous devriez avoir une sortie comme :
PING bbc.co.uk (212.58.224.131) 56(84) bytes of data. 64 bytes from rdirwww-vip.thdo.bbc.co.uk (212.58.224.131): icmp_seq=1 ttl=119 time=15.4 ms 64 bytes from rdirwww-vip.thdo.bbc.co.uk (212.58.224.131): icmp_seq=2 ttl=119 time=14.3 ms 64 bytes from rdirwww-vip.thdo.bbc.co.uk (212.58.224.131): icmp_seq=3 ttl=119 time=15.1 ms
(tapez Ctrl+C pour interrompre) Sinon un message d'erreur.
Se connecter sans DHCP
C'est un peu plus compliqué, et il vous faut connaître quelques détails à propos du réseau, dont :
* L'adresse IP qui vous est autorisée. Cela peut-être par exemple 192.168.0.10. * Le masque de réseau (netmask), souvent 255.255.255.0 ou 255.255.0.0. Ceci décrit la fourchette d'adresse disponible pour votre réseau the local network. * L'adresse du nom de serceur local (s'il en est un). Ceci permet d'avoir l'adresse IP d'un nom d'hôte comme madwifi.org, et inversement. * L'adresse de la passerelle du réseau (s'il en est une). Ceci vous permet de vous connecter à des réseaux en dehors du sous-réseau local, en particulier internet. * Le nom de domaine local du réseau (optionel). C'est le nom qui suffixe tous les noms d'hôtes du réseau local (par exemple supposez que deux machines du réseau local sont appelées ns1.localnet.com and ns2.localnet.com. Dans ce cas le nom de domaine local sera localnet.com.
Si l'une de ces données est fausse, votre réseau ne fonctionnera pas correctement (mais ne cause pas de dégâts permanents).
Pour assigner l'adresse IP et le masque de réseau à l'interface créée ci-dessus, tapez la commande suivante (en tant que root):
ifconfig ath0 <IP address> netmask <netmask> up
Pour utiliser l'adresse du nom de serveur, il faut éditer /etc/resolv.conf dans un éditeur en tant que root. Pour cela, en tant que root, il faut taper :
gedit /etc/resolv.conf
Vous pouvez choisir un autre éditeur en remplaçant gedit par la commande exécutant l'éditeur en question.
Une fois le fichier ouvert, ajoutez un '#' à chacune des lignes qui commencent par le mot 'nameserver', et ajoutez vos lignes comme ci-dessous :
nameserver <nameserver IP>
Si vous avez des adresses multiples de nom de serveurs, vous pouvez ajouter plus d'une ligne 'nameserver'. Si vous connaissez le domaine local de réseau, ajoutez une ligne de la forme :
search <local domain>
Ensuite sauvegardez le fichier et fermez l'éditeur.
La dernière étape est de dire à la machine quelle passerelle utiliser (s'il en est une). Pour ce faire, vous devez utiliser la commande route, qui explique au kernel comment accéder aux differents sous-réseaux. En tant que root, il faut taper :
route add default gw <gateway hostname>
ou
route add default gw <gateway address>
Vous devrez alors pouvoir voir en dehors de votre réseau et accéder internet. Pour vérifier que tout fonctionne, tapez :
ping bbc.co.uk
Vous devriez avoir un résultat de la sorte (tapez Ctrl+C pour interrompre):
PING bbc.co.uk (212.58.224.131) 56(84) bytes of data. 64 bytes from rdirwww-vip.thdo.bbc.co.uk (212.58.224.131): icmp_seq=1 ttl=119 time=15.4 ms 64 bytes from rdirwww-vip.thdo.bbc.co.uk (212.58.224.131): icmp_seq=2 ttl=119 time=14.3 ms 64 bytes from rdirwww-vip.thdo.bbc.co.uk (212.58.224.131): icmp_seq=3 ttl=119 time=15.1 ms
Se connecter à un AP avec WEP
La seule différence est qu'il faut spécifier la clé WEP en utilisant iwconfig.
D'abord, se connecter au point d'accès, comme décrit précédemment. Ensuite tapez la commande (en tant que root):
iwconfig ath0 key <wep key (in hex)>
Ou, si vous avez un mot de passe (passphrase), entrez:
iwconfig ath0 key "s:<passphrase>"
En utilisant WEP, c'est une bonne idée de spécifier l'AP auquel vous voulez vous connecter. Cela se fait en spécifiant l'adresse MAC de l'AP, ou son ESSID, comme expliqué ci-dessus. Ensuite, vous pouvez procéder à la connection, avec ou sans DHCP (voir ci-dessus)
Se connecter à un AP avec WPA
WPA permet actuellement l'une des meilleures méthodes de sécurité disponibles. Elle nécessite quelques efforts en plus lors de la configuration mais cela vaut la peine. Les liens ci-dessous sont des pages (en anglais) qui décrivent le support qu'a MadWifi's pour WPA, et comment en tirer profit :
http://madwifi.org/wiki/UserDocs/802.11i http://madwifi.org/wiki/UserDocs/WPA_PSK_on_Both_Ends
Supprimer MadWifi
Méthode avec YaST
Grâce à YaST > Logiciel > Installer et supprimer des logiciels
Manuellement
Il faut se loguer comme root, se placer dans le répertoire des sources (ou, s'il n'y a plus les sources, les télécharger de nouveau) et taper :
make uninstall
Cela exécutera les scripts qui chercheront et supprimerons tous les modules et outils qui avaient été installés.
Résolution de problèmes et liens
Si quelque chose ne fonctionne pas, alors la première chose à faire est de vérifier chacune des étapes, et vous assurez que vous les ayez effectuées correctement. Cela paraît simple, mais il est tellement facile de faire de petites erreurs bien embêtantes...
Ensuite, vous pouvez vous référez (en anglais) à
- http://madwifi.org/wiki/UserDocs/Troubleshooting : une page de FAQ à propos de Madwifi.
- http://madwifi.org/wiki/UserDocs : il y a aussi beaucoup de documentation sur le wifi de Madwifi, il peut s'avérer utile de faire quelques recherches dans ce répertoire
- http://madwifi.org/wiki/UserDocs/Support : pour plus de renseignements à propos de la manière de recevoir de l'aide à propos de Madwifi. Dans tous les cas, une solution devrait être disponible soit dans les archives des mailing lists, ou en demandant sur la mailing list.
Pour plus de documentation voir madwifi.org
Liens :
http://madwifi.org/wiki/UserDocs/FirstTimeHowTo Madwifi Instructions http://en.opensuse.org/HCL/Network_Adapters_%28Wireless%29
<keyword> Wlan, carte wireless, réseau sans fil, PCMCIA, </keyword>