SDB:Configuration de réseau sans fil pour la 10.1

Aller à : navigation, rechercher


Version: 10.1


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) à

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>