Le but des manipulations décrites dans cette page était de faire le point sur la possibilité, l'art et la manière d'utiliser, sous openSUSE 11.4 (Gnome), la clef wifi usb SAGEM répondant au doux nom de WL5061S, afin de se connecter à un réseau domestique existant, mis en place autour d'une Livebox.
Disons tout de suite que cela est possible et même assez facile, en suivant la procédure décrite ci-après. Il y a lieu de souligner que la procédure mise au point pour openSUSE 10 doit être légèrement amendée. Pour parvenir à ses fins, il faut procéder à l'installation de deux ou trois petites choses présentes sur le DVD ayant servi à l'installation de la distribution. Ensuite, quelques paramétrages rendent la connexion opérationelle.
La clef commençant à se faire un peu ancienne, il était possible d'espérer la disponibilité d'un pilote linux prenant en charge ce périphérique. L'auteur de cette page n'en ayant pas trouvé, c'est finalement l'ancienne méthode qui fut appliquée, en utilisant le module NDISWRAPPER pour employer le pilote Windows autrefois livré avec la clef.
Pour aboutir, il faut donc disposer des fichiers constituant ce pilote et du DVD d'installation de openSUSE 11.4, placé dans le lecteur de l'ordinateur, afin que le gestionnaire de paquets (ici, on utilisera YaST) puisse s'en servir comme dépôt-source de logiciels.
La mise en fonctionnement de la clef se déroule ensuite en trois grandes étapes :
NDISWRAPPER est un module bien connu, depuis longtemps, qui permet d'interfacer un pilote réseau écrit pour Windows avec un système GNU/Linux.
Il se trouve qu'il est incompatible avec le module standard p54usb fourni par défaut. La première chose à faire est donc d'interdire au système l'utilisation de p54usb et cela se fait en écrivant le nom de ce dernier dans une liste noire. Pour cela, ouvrir un terminal et y entrer les commandes suivantes.
~> su -
Mot de passe :
On donne son mot de passe d'administrateur et on passe en mode ATTENTIF car, à partir de là, on a les pouvoirs étendus du super utilisateur. On commence par ouvrir la liste noire par :
# gedit /etc/modprobe.d/50-blacklist.conf
A la fin du fichier qui s'ouvre dans gedit, il faut ajouter les deux lignes suivantes.
# Blacklist du module en conflit avec ndiswrapper
blacklist p54usb
La première ligne n'est qu'un commentaire et peut être adaptée. Enregistrer le fichier et refermer l'éditeur de texte.
Ensuite, avec YaST, installer ndiswrapper et ses dépendances (qui se sélectionnent automatiquement).
Cliquer sur Apliquer. Quand c'est fini, mettre les quatre fichiers du pilote WINDOWS de la
clef wifi dans un dossier quelconque,
par exemple
/home/[utilisateur]/pilote.dongle
où [utilisateur] doit être remplacé par le vrai nom de l'utilisateur.
Dans le terminal super-utilisateur resté ouvert, se rendre dans le dossier du pilote par :
# cd /home/[utilisateur]/pilote.dongle
Ensuite, entrer la suite de commandes suivantes.
# ndiswrapper -i WlanUIG.inf
Le système répond :
installing wlanuig ...
Et l'on continue :
# ndiswrapper -l
# ndiswrapper -m
adding "alias wlan0 ndiswrapper" to /etc/modprobe.d/ndiswrapper ...
# depmod -a
# modprobe ndiswrapper
A ce stade, le module est chargé, la clef devrait être reconnue et clignoter, voire même rester allumée en permanence s'il elle s'est connectée à un réseau non protégé du voisinage.
Ceci peut se vérifier avec la commande iwconfig. Ainsi, dans l'exemple décrit ici, voici l'allure du résultat donné par cette commande :
# iwconfig wlan0
wlan0 IEEE 802.11g ESSID:"FreeWifi"
Mode:Managed Frequency:2.467 GHz Access Point: 00:01:03:02:04:05
Bit Rate=6 Mb/s Tx-Power:32 dBm
RTS thr:2347 B Fragment thr:2346 B
Encryption key:off
Power Management:off
Link Quality:26/100 Signal level:-79 dBm Noise level:-96 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Cette réponse montre que le pilote est bien chargé et que la clef reçoit les ondes. Elle s'est même connectée automatiquement à un réseau local.
Il va falloir maintenant continuer en paramétrant la connexion au réseau domestique. La suite de cette page suppose, pour l'exemple, que le réseau est connecté par une simple clef WEP connue en hexadécimal sous la forme CLE1CLE2CLE3CLE4CLE5CLE6AB et que l'identité (essid) de la Livebox est Livebox-aaaa.
Cette étape n'est pas absolument obligatoire mais elle est permet de faire une vérification rapide de la faisabilité de la suite des opérations. Elle consiste à utiliser l'utilitaire iwconfig pour établir la connexion entre la clef wifi et la Livebox. Celle-ci est volatile mais, si elle fonctionne, cela permet ensuite d'utiliser YaST avec certitude pour configurer la connexion de façon pérenne.
Dans le terminal super-utilisateur toujours ouvert, il suffit d'entrer la suite de commandes suivante (en remplaçant bien sûr Livebox-aaaa et CLE1CLE2CLE3CLE4CLE5CLE6AB par les données propres au réseau utilisé).
# iwconfig wlan0 essid 'Livebox-aaaa'
# iwconfig wlan0 mode managed
# iwconfig wlan0 key restricted CLE1CLE2CLE3CLE4CLE5CLE6AB
Normalement, à ce stade, la clef est allumée de façon stable et connectée à la Livebox. On peut vérifier par :
# iwconfig wlan0
wlan0 IEEE 802.11g ESSID:"Livebox-aaaa"
Mode:Managed Frequency:2.457 GHz Access Point: 00:12:34:56:78:9A
Bit Rate=54 Mb/s Tx-Power:32 dBm
RTS thr:2347 B Fragment thr:2346 B
Encryption key:CLE1-CLE2-CLE3-CLE4-CLE5-CLE6-AB Security mode:restricted
Power Management:off
Link Quality:73/100 Signal level:-49 dBm Noise level:-96 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Cette réponse montre que la clef est bien associée à la Livebox.
Pourtant,
ce n'est pas pour autant que l'accès à l'internet fonctionne. Il se peut même qu'il soit
impossible de recevoir une réponse à un ping envoyé sur la Livebox. Il semble que des perturbations puissent
venir, d'une part, de l'attribution dynamique d'adresses (DHCP), car la Livebox utillisée ne sait pas gérer
l'iPV6 et, d'autre part, d'un conflit entre l'interface éthernet câblée (en général nommée eth0)
et l'interface sans fil (wlan0). Ce deuxième obstacle peut être contourné en utilisant
NetworkManager mais, s'agissant ici d'un ordinateur non itinérant fonctionnant dans un environnement
réseau constant, on va s'en tenir ici à la méthode dite "traditionnelle" employant ifup.
A partir du menu "Ordinateur", lancer YaST puis "paramètres réseau".
La fenêtre qui s'ouvre présente plusieurs onglets. Le premier sert à paramétrer les options globales.
On y choisit la "méthode traditionnelle avec ifup", on désactive l'iPv6 et, pour le client DHCP, on laisse les automatismes proposés par défaut. Le deuxième onglet (illustré ci-dessous) permet d'accéder à la description des périphériques réseau présents. Dans la liste du haut, sélectionner par un simple clic le périphérique associé à l'interface eth0 puis cliquer sur Modifier.
Dans la boîte de dialogue "Configuration de carte réseau" qui s'ouvre, dans le premier onglet "Général", choisir le lancement manuel du périphérique et, dans le deuxième onglet "Adresse", choisir l'adressage dynamique limité à la version 4 uniquement. Laisser les autres options par défaut. Ainsi, si une connexion par câble devient un jour nécessaire, eth0 pourra être activé ponctuellement.
Cliquer sur suivant pour revenir à la boîte "Paramètres réseau". Sélectionner le périphérique USB associé à wlan0 et cliquer sur Modifier. Dans la boîte de dialogue "Configuration de carte réseau" qui s'ouvre, en laissant les autres options par défaut, dans le premier onglet "Général", choisir le lancement Hotplug :
Dans le deuxième onglet "Adresse", choisir l'adressage dynamique limité à la version 4 :
Dans le troisième onglet "Matériel", supprimer ce qui se trouve éventuellement dans le champ Nom du module et y taper sans faute d'orthographe ndiswrapper :
Cliquer sur suivant pour revenir à la boîte de dialogue "Paramètres réseau".
Si cela n'a pas été fait avant, YaST demande l'installation du paquet iw. Valider l'installation
(nota : dans opensuse 12.1 (où la clef ne fonctionne pas), cette étape n'apparaît pas. Il est peut-être nécessaire
de l'installer manuellement...).
La boîte de dialogue "Paramètres réseau" doit ensuite afficher comme ci-dessous un lancement automatique du périphérique wlan0 avec une adresse IP utilisant DHCP4.
On peut, si l'on veut, aller dans l'onglet Nom d'hôte/DNS pour noter ou changer le "Nom d'hôte" sous lequel l'ordinateur sera vu dans le réseau.
Mais, surtout, pour pouvoir accéder à l'internet à travers l'interface wlan0 et la clef USB, il reste encore à effectuer une manipulation car, en principe, le système a dû construire la route de sortie vers l'internet en attribuant par défaut la passerelle de la Livebox à l'interface du câble éthernet eth0. Il faut donc aller dans l'onglet Routage pour y inscrire l'iP de la passerelle (en principe 192.168.1.1) et l'affecter à wlan0 qui est disponible dans la liste déroulante.
Cliquer sur OK pour valider. YaST note alors la configuration réseau et relance les services réseau. La clef s'éteint, clignote puis finit par rester allumée en permanence.
Voilà, il ne reste plus qu'à surfer. On peut, si l'on veut, avant de refermer le terminal super-utilisateur, vérifier l'état de la configuration et de la connexion par la suite de commandes suivante.
# ifstatus eth0
eth0 device: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
DHCP4 client NOT running
eth0 is up
2: eth0:
link/ether 00:19:21:36:41:9c brd ff:ff:ff:ff:ff:ff
# ifstatus wlan0
wlan0 name: USB device
DHCP4 client (dhcpcd) is running
IP address: 192.168.1.16/24 (gb-suse)
wlan0 is up
[...]
Active IPv4 routes for interface wlan0:
[...]
default via 192.168.1.1
1 of 1 configured IPv4 routes for interface wlan0 up
[...]
# iwconfig wlan0
wlan0 IEEE 802.11g ESSID:"Livebox-aaaa"
Mode:Managed Frequency:2.457 GHz Access Point: 00:01:02:03:04:05
Bit Rate=54 Mb/s Tx-Power:32 dBm
RTS thr:2347 B Fragment thr:2346 B
Encryption key:CLE1-CLE2-CLE3-CLE4-CLE5-CLE6-AB Security mode:restricted
Power Management:off
Link Quality:79/100 Signal level:-45 dBm Noise level:-96 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
# route
Kernel IP routing table | |||||||
Destination | Gateway | Genmask | Flags | Metric | Ref | Use | Iface |
192.168.1.0 | * | 255.255.255.0 | U | 0 | 0 | 0 | wlan0 |
link-local | * | 255.255.0.0 | U | 0 | 0 | 0 | wlan0 |
loopback | * | 255.0.0.0 | U | 0 | 0 | 0 | lo |
default | HSIB.home | 0.0.0.0 | UG | 0 | 0 | 0 | wlan0 |
Ol Korrect. Il ne reste plus qu'à refermer le terminal super-utilisateur (exit et Entrée, deux fois de suite). Au démarrage suivant de l'ordinateur, la clef est active dès le lancement et la connexion s'établit automatiquement. Il ne reste plus qu'à lancer le navigateur internet.