Différences entre versions de « OvisLink Evo-W54USB »

De Cliss XXI
Sauter à la navigation Sauter à la recherche
imported>SylvainBeucler
m (→‎Au démarrage : mise au "propre" du script)
imported>SylvainBeucler
m (if-pre-up.d amélioré, incompatibilité avec NM)
 
(6 versions intermédiaires par le même utilisateur non affichées)
Ligne 26 : Ligne 26 :
  
 
== Les problèmes qui subsistent ==
 
== Les problèmes qui subsistent ==
 
=== Au démarrage ===
 
  
 
Mon fichier /etc/network/interfaces est le suivant :
 
Mon fichier /etc/network/interfaces est le suivant :
Ligne 37 : Ligne 35 :
 
  wireless_mode    managed
 
  wireless_mode    managed
  
Au boot de l'ordinateur, (boot avec le dongle Wifi inséré dans le slot USB) la requête dhcp échoue. Pour activer la connexion, une fois que la machine a booté, il faut monter l'interface, puis relancer la requête dhcp :
+
Le module rt2570 est chargé automatiquement:
ifconfig rausb0 up
+
  $ lsmod | grep rt2570
ifup rausb0
 
 
 
Pour automatiser ces deux commandes, au moment du boot, il faut forcer le montage de l'interface, avant la requête dhcp.
 
Un moyen, qui marche bien, mais qui n'est sans doute pas très propre, est d'écrire un petit script dans le répertoire /etc/network/if-pre-up.d
 
Voici le script que j'ai écrit dans ce répertoire. Ne pas oublier de rendre ce script exécutable ;-)
 
cat <<EOF > /etc/network/if-pre-up.d/rausb0
 
#!/bin/sh
 
if [ $IFACE = rausb0 ]; then
 
  ifconfig rausb0 up
 
  sleep 2
 
fi
 
EOF
 
chmod 755 /etc/network/if-pre-up.d/rausb0
 
 
 
J'ai écrit que ce script n'est sans doute pas très propre, car il est lancé dans tous les cas, donc y compris quand le dongle n'est pas connecté, quand rausb0 n'est pas créé... Il faut donc modifier ce script, pour le rendre vraiment contextuel... Ça reste à faire :)
 
 
 
=== Après le boot ===
 
C'est le deuxième cas de figure : on boote sans le dongle wifi.
 
Constats :
 
* le module rt2570 est quand même chargé :
 
  lsmod | grep rt2570
 
 
  rt2570                164960  0
 
  rt2570                164960  0
 
  usbcore              119364  5 rt2570,ehci_hcd,usbhid,uhci_hcd
 
  usbcore              119364  5 rt2570,ehci_hcd,usbhid,uhci_hcd
  
* l'interface rausb0 n'est pas active (c'est normal) :
+
mais l'interface rausb0 n'est pas active:
  ifconfig -a | grep rausb0
+
  $ ifconfig -a | grep rausb0
 
  --> Rien
 
  --> Rien
  
On connecte physiquement le dongle Wifi.
+
La reconnaissance du device usb s'est cependant faite correctement:
Constats :
+
  $ dmesg
* La reconnaissance du device usb se fait correctement :
 
  dmesg
 
 
  usb 5-4: new high speed USB device using ehci_hcd and address 3
 
  usb 5-4: new high speed USB device using ehci_hcd and address 3
 
  usb 5-4: configuration #1 chosen from 1 choice
 
  usb 5-4: configuration #1 chosen from 1 choice
 
  idVendor = 0x148f, idProduct = 0x2570
 
  idVendor = 0x148f, idProduct = 0x2570
  
  lsusb
+
  $ lsusb
 
  Bus 005 Device 003: ID 148f:2570
 
  Bus 005 Device 003: ID 148f:2570
  
* L'interface rausb0 est bien créée :
+
  $ iwconfig
  iwconfig
+
  rausb0    RT2500USB WLAN
  rausb0    RT2500USB WLAN ESSID:""
+
          Link Quality:79 Signal level:208 Noise level:173
          Mode:Managed  Frequency=2.412 GHz
+
          Rx invalid nwid:0  invalid crypt:0  invalid misc:0
          RTS thr:off  Fragment thr:off
 
          Encryption key:off
 
          Link Quality=0/100 Signal level:-120 dBm Noise level:-256 dBm
 
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
 
          Tx excessive retries:0  Invalid misc:0  Missed beacon:0
 
  
* Par contre, la requête dhcp échoue :
+
Mais les requêtes DHCP échouent:
  ifup rausb0
+
  $ ifup rausb0
 
  Internet Systems Consortium DHCP Client V3.0.1
 
  Internet Systems Consortium DHCP Client V3.0.1
 
  Copyright 2004 Internet Systems Consortium.
 
  Copyright 2004 Internet Systems Consortium.
 
  All rights reserved.
 
  All rights reserved.
 
  For info, please visit http://www.isc.org/products/DHCP
 
  For info, please visit http://www.isc.org/products/DHCP
  Listening on LPF/rausb0/00:08:a1:9f:e5:44
+
  Listening on LPF/rausb0/00:08:a1:9f:e5:47
  Sending on  LPF/rausb0/00:08:a1:9f:e5:44
+
  Sending on  LPF/rausb0/00:08:a1:9f:e5:47
 
  Sending on  Socket/fallback
 
  Sending on  Socket/fallback
 
  DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 3
 
  DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 3
Ligne 107 : Ligne 77 :
 
  No working leases in persistent database - sleeping.
 
  No working leases in persistent database - sleeping.
  
* Si on renouvèle la demande, on n'est pas plus avancé :
+
Ceci survient que ce soit avec un branchement à froid (avant d'allumer l'ordinateur) ou à chaud (une fois le système lancé).
ifup rausb0
 
ifup: interface rausb0 already configured
 
  
* En fait, pour s'en sortir il faut, comme vu plus haut, au moment du boot, tout d'abord monter l'interface, puis effectuer la requète dhcp :
+
Il donc faut l'activer manuellement:
  ifconfig rausb0 up
+
  $ ifconfig rausb0 up
  ifup rausb0
+
 
  Internet Systems Consortium DHCP Client V3.0.1
+
et après seulement lancer la requête DHCP:
  Copyright 2004 Internet Systems Consortium.
+
  $ ifup rausb0
 +
  Internet Systems Consortium DHCP Client V3.0.4
 +
  Copyright 2004-2006 Internet Systems Consortium.
 
  All rights reserved.
 
  All rights reserved.
  For info, please visit http://www.isc.org/products/DHCP
+
  For info, please visit http://www.isc.org/sw/dhcp/
  Listening on LPF/rausb0/00:08:a1:9f:e5:44
+
  Sending on  LPF/rausb0/00:08:a1:9f:e5:44
+
  Listening on LPF/rausb0/00:08:a1:9f:e5:47
 +
  Sending on  LPF/rausb0/00:08:a1:9f:e5:47
 
  Sending on  Socket/fallback
 
  Sending on  Socket/fallback
  DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 6
+
  DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 4
  DHCPOFFER from 192.168.1.1
+
DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 4
 +
  DHCPOFFER from 192.168.2.1
 
  DHCPREQUEST on rausb0 to 255.255.255.255 port 67
 
  DHCPREQUEST on rausb0 to 255.255.255.255 port 67
  DHCPACK from 192.168.1.1
+
  DHCPACK from 192.168.2.1
  bound to 192.168.1.107 -- renewal in 361478 seconds.
+
  bound to 192.168.2.140 -- renewal in 19648 seconds.
 +
 
 +
 
 +
Un moyen pour automatiser, qui marche bien, mais qui n'est sans doute pas très propre, est d'écrire un petit script dans le répertoire <code>/etc/network/if-pre-up.d</code>. Voici le script que j'ai écrit dans ce répertoire. Ne pas oublier de rendre ce script exécutable ;-)
 +
cat <<'EOF' > /etc/network/if-pre-up.d/rausb0
 +
#!/bin/sh
 +
if [ x"$IFACE" = x"rausb0" ]; then
 +
  echo "* Initialisation de la carte WiFi"
 +
  ifconfig rausb0 up
 +
  iwlist rausb0 scan  # force wifi scan, required during boot
 +
  echo "* Demande d'adresse pour la carte WiFi"
 +
fi
 +
chmod 755 /etc/network/if-pre-up.d/rausb0
 +
 
 +
La version propre doit propablement faire intervenir <code>udev</code>. Des suggestions? :)
  
Ce sont donc des soucis non blocants --> à investiguer pour clarifier tout ça.
+
Attention, si vous utilisez Network-Manager, et que le câble réseau est débranché, il est possible que NM coupe la connexion WiFi qui vient d'être lancée pendant le boot (pas d'impact si le WiFi a été démarré après coup).
A part ça, le dongle wifi joue parfaitement son rôle, la connexion ne pose pas de souci ... et on a une machine sans firmware propriétaire. L'ensemble du pilote OvisLink Evo-W54USB est en effet sous GNU GPL ;-)
 
  
 
== Autres liens ==
 
== Autres liens ==

Version actuelle datée du 30 janvier 2008 à 15:57

  • Carte WiFi 802.11g
  • Prix ~ 28 €

Pilote libre

Sur http://rt2x00.serialmonkey.com/wiki/index.php/Downloads (télécharger Legacy rt2570)

Le pilote s'installe très simplement sous Sarge; dans /usr/src/rt2570-cvs-2006100610/Module:

make
su -c "make install"

[Notez que je n'utilise pas "sudo" ici: le Makefile utilise $(PWD) qui est indéfini par sudo, ce qui produit une réaction en chaîne se soldant par la suppression de tous les modules noyaux (!).]

Il existe aussi un paquet source.

Sous Sarge, j'ai testé avec le noyau 2.6.17-2 de backports.org. Dans ce cas, installer aussi la version backports de wireless-tools. iwlist affiche un warning sans cela - ne prenons pas de risque :)

Au moment de tenter une détection réseau, penser à allumer la carte!

ifconfig rausb0 up
iwlist rausb0 scan

La suite sur WiFi.

dmesg dit:

RT25usb  Driver version 1.0.0

Les problèmes qui subsistent

Mon fichier /etc/network/interfaces est le suivant :

auto rausb0
iface rausb0 inet dhcp
wireless_essid   MonEssid
wireless_key     MaCle
wireless_channel 7
wireless_mode    managed

Le module rt2570 est chargé automatiquement:

$ lsmod | grep rt2570
rt2570                164960  0
usbcore               119364  5 rt2570,ehci_hcd,usbhid,uhci_hcd

mais l'interface rausb0 n'est pas active:

$ ifconfig -a | grep rausb0
--> Rien

La reconnaissance du device usb s'est cependant faite correctement:

$ dmesg
usb 5-4: new high speed USB device using ehci_hcd and address 3
usb 5-4: configuration #1 chosen from 1 choice
idVendor = 0x148f, idProduct = 0x2570
$ lsusb
Bus 005 Device 003: ID 148f:2570
$ iwconfig
rausb0    RT2500USB WLAN
          Link Quality:79  Signal level:208  Noise level:173
          Rx invalid nwid:0  invalid crypt:0  invalid misc:0

Mais les requêtes DHCP échouent:

$ ifup rausb0
Internet Systems Consortium DHCP Client V3.0.1
Copyright 2004 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/products/DHCP
Listening on LPF/rausb0/00:08:a1:9f:e5:47
Sending on   LPF/rausb0/00:08:a1:9f:e5:47
Sending on   Socket/fallback
DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 3
DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 8
DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 17
DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 8
DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 7
No DHCPOFFERS received.
No working leases in persistent database - sleeping.

Ceci survient que ce soit avec un branchement à froid (avant d'allumer l'ordinateur) ou à chaud (une fois le système lancé).

Il donc faut l'activer manuellement:

$ ifconfig rausb0 up

et après seulement lancer la requête DHCP:

$ ifup rausb0
Internet Systems Consortium DHCP Client V3.0.4
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

Listening on LPF/rausb0/00:08:a1:9f:e5:47
Sending on   LPF/rausb0/00:08:a1:9f:e5:47
Sending on   Socket/fallback
DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 4
DHCPDISCOVER on rausb0 to 255.255.255.255 port 67 interval 4
DHCPOFFER from 192.168.2.1
DHCPREQUEST on rausb0 to 255.255.255.255 port 67
DHCPACK from 192.168.2.1
bound to 192.168.2.140 -- renewal in 19648 seconds.


Un moyen pour automatiser, qui marche bien, mais qui n'est sans doute pas très propre, est d'écrire un petit script dans le répertoire /etc/network/if-pre-up.d. Voici le script que j'ai écrit dans ce répertoire. Ne pas oublier de rendre ce script exécutable ;-)

cat <<'EOF' > /etc/network/if-pre-up.d/rausb0
#!/bin/sh
if [ x"$IFACE" = x"rausb0" ]; then
  echo "* Initialisation de la carte WiFi"
  ifconfig rausb0 up
  iwlist rausb0 scan  # force wifi scan, required during boot
  echo "* Demande d'adresse pour la carte WiFi"
fi
chmod 755 /etc/network/if-pre-up.d/rausb0

La version propre doit propablement faire intervenir udev. Des suggestions? :)

Attention, si vous utilisez Network-Manager, et que le câble réseau est débranché, il est possible que NM coupe la connexion WiFi qui vient d'être lancée pendant le boot (pas d'impact si le WiFi a été démarré après coup).

Autres liens