Ma configuration pour la clef USB MSI US54G pour Fedora Core 5

Des commentaires ? Si vous avez des commentaires, la page 'Discussion' est ouverte. Si elle est en rouge, c'est que personne n'a encore mis de commentaires. N'hésitez pas à créer la page. Je recevrai un mail à chaque modification de cette page.

Date : Juillet 2006

Intro

Voici ce que j'ai fais, et qui est décrit ci-dessous :

  • Installation d'une clef USB MSI US54G,
  • Sous Fedora Core 5,
  • Avec un seul sous-réseau, commun au cable réseau (ethernet) et au wifi,
  • Avec des adresses fixes (passer au dhcp est simple).

Pour résumer :

  • A l'arrivée, ça marche. La clef est très bien. Son prolongateur sert (a prior) d'antenne. Pas de soucis. Une simple torsion d'antenne permet de passer d'une qualité de 30% à 70% : il doit y avoir un paquet de réflexion qui brouillent le signal, chez moi.
  • Il faut être patient avec le wifi : probablement à cause du crytage, il faut un certain temps avant que la connexion soit établie (compter au moins 30 secondes pour être sûr).
  • Deux interfaces réseau sur un même sous-réseau (en l'occurence , celui de ma freebox), ça pose des problèmes … qui peuvent être résolus.

Ce qui a marché

Récupération des drivers

J'ai récupéré les drivers de serialmonkey. La dernière version officielle est une béta 1 a priori de fin 2005. Elle ne compile par sous le kernel 2.6.16. Après pas mal de balade, notamment la réponse d'Eric sur le forum de ralink, je me suis décidé à récupérer la dernière version des sources. Hop : compile sans warning, et rouler bolide.

Un coup de make install et tout est en place. Pas de soucis.

Configuration

Les problèmes

Reste la configuration. J'ai eu une bonne galère pour deux raisons :

  • La connexion du wifi prend du temps. Il faut donc attendre au minimum 30 secondes (voir plus si on est en dhcp) avant de décider que la configuration est mauvaise.
  • Je n'utilisais pas le dhcp, et j'avais donc deux interfaces (ethernet et wifi) sur le même sous-réseau. Voir ci-dessous : problème de routage

Ca ne marche pas au niveau routage. Notre ami linux ne s'aperçoit pas que le cable réseau est débranché, et s'acharne à maintenir un routage avec une priorité sur eth0.

Exemple:

Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 rausb0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 rausb0
0.0.0.0         192.168.0.254   0.0.0.0         UG    0      0        0 eth0

Avec cette table de routage, le résultat est que la préférence de routage est ethernet. Donc, quand on ping : les paquets arrivent bien sur rasub0, mais ressortent avec eth0. Si le cable ethernet est débranché, il n'y a pas de réponse.

Ma configuration (durant l'install)

Durant l'installation, j'ai laissé le cable ethernet branché. Le problème est ici que j'ai forcé les adresses IP des deux interfaces, sur le même réseau : mon objectif est de ne plus utiliser ethernet.

Voici mes fichiers de config :

/etc/modprobe.conf

La ligne alias rausb0 rt2570 a été ajoutée. A priori, l'emplacement n'a pas d'importance.

alias eth0 8139too
alias rausb0 rt2570
alias snd-card-0 snd-es1938
options snd-card-0 index=0
options snd-es1938 index=0
remove snd-es1938 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-es1938 
/etc/sysconfig/network-scripts/ifcfg-eth0 (original)

Ne pas sauvegarder ce fichier dans un autre … du moins pas dans le même répertoire. J'avais créer un fichier ifcfg-eth0.old. Résultat : Linux chercher à lancer une interface eth0.old. Créer un sous-répertoire old doit fonctionner (j'imagine). Mais je n'ai pas essayé.

# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
DEVICE=eth0
ONBOOT=yes
HWADDR=00:05:1C:1F:ED:6B
TYPE=Ethernet
IPADDR=192.168.0.101
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
GATEWAY=192.168.0.254
BOOTPROTO=
#BOOTPROTO=dhcp
/etc/sysconfig/network-scripts/ifcfg-rausb0
DEVICE=rausb0
TYPE=Wireless
BOOTPROTO=
ESSID=Gauthier
KEY=Ma clef : c'est du WEP, mais mon portable en 2000 ne fonctionne pas bien en WPA. Vivement XP !
MODE=Managed
RATE=Auto
CHANNEL=11
BROADCAST=192.168.0.255
IPADDR=192.168.0.102
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
GATEWAY=192.168.0.254
Pour passer au dhcp
  • Supprimer les lignes BROADCAST, IPADDR, NETMASK, NETWORK et GATEWAY.
  • Remplacer BOOTPROTO= par BOOTPROTO=dhcp

Ca devrait rouler.

Ma configuration (définitive)

La seule modification est le onBoot=no pour eth0. Voir ci-dessous. Ceci ne fonctionne que si on n'a pas créé de fichier ifcfg-eth0.old dans le même répertoire (dans ce cas, linux charge cette deuxième interface eth0).

/etc/sysconfig/network-scripts/ifcfg-eth0 (définitif)
# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
DEVICE=eth0
ONBOOT=no
HWADDR=00:05:1C:1F:ED:6B
TYPE=Ethernet
IPADDR=192.168.0.101
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
GATEWAY=192.168.0.254
BOOTPROTO=
#BOOTPROTO=dhcp

Test configuration

Avec le fichier ifcfg-eth0 ci-dessus, l'interface eth0 n'est pas montée au départ. Donc, même si on monte eth0 après coup (par un ifconfig eth0 up), les tables de routage restent correctes, avec des routes par défaut utilisant rausb0.

Table de routage pour wifi (résultat de route -n) :

Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 rausb0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 rausb0
0.0.0.0         192.168.0.254   0.0.0.0         UG    0      0        0 rausb0

Résultat de ifconfig :

eth0    Link encap:Ethernet  HWaddr 00:05:1C:1F:ED:6B
        UP BROADCAST MULTICAST  MTU:1500  Metric:1
        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
        TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 lg file transmission:1000
        RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
        Interruption:12 Adresse de base:0x4000
lo      Link encap:Boucle locale
        inet adr:127.0.0.1  Masque:255.0.0.0
        adr inet6: ::1/128 Scope:Hôte
        UP LOOPBACK RUNNING  MTU:16436  Metric:1
        RX packets:117 errors:0 dropped:0 overruns:0 frame:0
        TX packets:117 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 lg file transmission:0
        RX bytes:10247 (10.0 KiB)  TX bytes:10247 (10.0 KiB)
rausb0  Link encap:Ethernet  HWaddr 00:13:D3:74:2E:7E
        inet adr:192.168.0.102  Bcast:192.168.0.255  Masque:255.255.255.0
        adr inet6: fe80::213:d3ff:fe74:2e7e/64 Scope:Lien
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:41521 errors:0 dropped:0 overruns:0 frame:0
        TX packets:38205 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 lg file transmission:1000
        RX bytes:40546742 (38.6 MiB)  TX bytes:5782176 (5.5 MiB)

Résultat de iwconfig :

lo      no wireless extensions.
eth0    no wireless extensions.
rausb0  RT2500USB WLAN  ESSID:"Gauthier"  Nickname:"lesgauthier"
        Mode:Managed  Frequency=2.462 GHz  Access Point: 00:07:CB:52:51:E5
        Bit Rate=11 Mb/s
        RTS thr:off   Fragment thr:off
        Encryption key:63D7-065F-ABD9-EA4A-703A-442E-E2   Security mode:open
        Link Quality=80/100  Signal level:-69 dBm  Noise level:-206 dBm
        Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
        Tx excessive retries:0  Invalid misc:0   Missed beacon:0
sit0    no wireless extensions.

Ce qui n'a pas marché

Utilisation de ndiswrapper

Sans forcer l'identifiant de la clef

Je n'ai pas réussi à l'utiliser. Il faut installer les drivers XP. Cette clef USB n'est pas reconnue, et n'est pas dans aucun liste de matériel compatible (au 10 juin 2006).

J'ai essayé :

ndiswrapper -i /opt/driver/CD_USB_US54G/rt2500usb.inf

Le résultat est :

rt2500usb               driver installed

En forçant l'id de la carte

En faisant un lsusb, on obtient :

Bus 001 Device 001: ID 0000:0000
Bus 001 Device 002: ID 0db0:6861 Micro Star International

J'ai donc essayé :

ndiswrapper -i /opt/driver/CD_USB_US54G/rt2500usb.inf
ndiswrapper -d 0db0:6861 rt2500usb

Le résultat est :

rt2500usb               driver installed, hardware present

D'après tout ce que j'ai lu, ce devrait être Ok. Mais quand on monte l'interface (ifconfig wlan0 up), il dit que le périphérique n'est pas présent, et qu'il va attendre un peu. (je n'ai plus le messge d'erreur exact).

Bref, ça ne marche pas pour l'instant, mais ça marchera certainement bientôt.

Problèmes de compilation

Utilisation de la dernière version officielle de serial monkey

C'est une beta 1. Elle semble dater un peu. 

Elle ne compile pas sous le noyau 2.6.16.

Utilisation des drivers de ralink

Ils sont dispos sur le site [[http://www.ralinktech.com/supp-1.htm|de ralink]]. Mais ils ne compilent pas non plus. Ceci dit, le forum de ce site est plein d'informations.

===


Outils personnels