# [Conseil matériel] Dongle USB wifi x86_64 pour une Livebox

## ET46

Bonjour à tous

A la maison, je me connecte à Internet via une livebox Inventel branchée en ethernet. Jusqu'ici pas de souci...

Mon PC est un amd64 et ma gentoo en x86_64

Suite à un réaménagement de mon appart, je vais devoir éloigner ma livebox du PC, et donc utiliser le wifi.

J'ai retrouvé la dongle wifi fourni par Orange. C'est un Thomson WLG-1500A qui est basé sur le chipset sis163u.

Après bien des recherches sur le ouèbe, les listes de diffusion gentoo, il m'est impossible de trouver un retour d'expérience sur ce chipset avec une gentoo 64 bits.

D'après ce que j'ai vu, il faut utiliser ndiswrapper. En 32 bits, ça doit marcher. Par contre en 64 bits, les seules infos que j'ai trouvé c'est un "kernel panic" obtenu lors du chargement du module ndiswrapper (d'après certaines personnes qui ont testé sur une Ubuntu x86_64 avec le pilote windows 64 bits)...

Je pense donc ne pas me prendre la tête avec le dongle sis163u et acheter un autre dongle wifi. Que me conseilleriez vous sachant que je préfèrerais:

- un pilote libre qui marche en x86_64

- prix le plus bas possible ?

En furetant sur le net, j'ai trouvé ce modèle: Conceptronic C54RU http://www.conceptronic.net/site/desktopdefault.aspx?tabindex=0&tabid=200&Cat=10&grp=1010&ar=&Prod_ID=424&Prod=C54RU&subid=559

C'est un chipset Ralink, prix de vente 20 euros environ... Il fait WEP (encryption) 64-128bit, WPA. Est-ce compatible avec la Livebox Inventel? (je n'y connais strictement rien en wifi...)

Autre chose: mon PC est dans une chambre, la livebox sera dans le salon (j'évalue la distance à 15 m environ). Entre les deux, il y a la cuisine avec le micro-ondes, les plaques électriques et un revêtement métallique sur les murs de la cuisine. Les murs sont en placo.

Pensez vous que le wifi marchera correctement? J'ai entendu dire que les ondes wifi n'aimaient pas trop le métal et les fours micro-ondes...

Vaut-il mieux acheter un boitier externe USB plutôt qu'un dongle? Faut-il faire attention à la puissance d'émission?

Merci d'avance pour votre aide

Cordialement,

Etienne

----------

## titoucha

Si c'est avec un chip Ralink usb tu peux utiliser le pilote libre rtl-wifi, il fonctionne très bien.

----------

## yoyo

 *titoucha wrote:*   

> Si c'est avec un chip Ralink usb tu peux utiliser le pilote libre rtl-wifi, il fonctionne très bien.

 Tu es sûr de ton coup là ?? Parce que le lien que tu donnes semble être pour les chipsets realtek ...

Sinon, j'ai un dongle USB basé sur du ralink (rt2570 ou rt2500usb selon le module installé). Il fonctionne très bien mais je n'ai pas réussi à le faire fonctionner en WPA sous GNU/linux. Il faudrait que je ré-essaie à l'occasion, mes dernières tentatives remontant à quelques mois en arrière.

Par contre, si tu as une tour et un port PCI dispo, tourne-toi plutôt vers cette solution : j'utilise une carte interne aussi basée sur du ralink (rt2500 ou rt2500pci) et là le WPA fonctionne parfaitement (avec le module rt2500). Et puis personnellement, je n'aime pas trop utiliser l'usb pour faire du réseau : je trouve que c'est une connectique qui n'est pas conçue pour ça à la base (mauvaise expérience avec des modems usb inside).

Enjoy !

----------

## ET46

Bonjour

Merci pour vos réponses.

J'ai finalement acheté pour une poignée d'euros un dongle USB Hercules basé sur un chipset Ralink: selon la version du dongle ce sera rt2571 ou bien rt61 ou rt73. Je verrai... Je l'ai reçu ce midi, mais je n'ai pas encore essayé de l'installer car je n'ai pas trop eu le temps.

D'autant plus que j'ai des problèmes de téléphonie voip avec ma Livebox que je dois régler en premier...

Je sais bien que passer par un port USB pour une connection réseau n'est pas terrible, mais je ne voulais pas me ruiner pour une première tentative de connection wifi sous Linux.

Pour ce dongle, je pense partir sur le pilote rt2x00 plutôt que le pilote legacy. Il me semble que le rt2x00 fournit dorénavant le support du WPA. Ca tombe d'autant mieux qu'il y a un ebuild pour amd64 dans portage (version 9999, cela doit être du cvs, non?).

Par contre, pour la config de la connection, vaut-il mieux utiliser wireless-tools ou bien wpa_supplicant? Je suis un peu perdu en conjectures sur ce sujet car le gentoo handbook parle de wireless-tools, alors que le wiki anglais parle de wpa_supplicant...

Merci d'avance

Meilleures salutations,

Etienne

----------

## Temet

Si t'as que du WEP, t'as pas besoin de wpa_supplicant.

Tu peux utiliser wlassistant si tu veux te connecter sans prendre la tête.

Si t'as du WPA, faut passer par wpa_supplicant.

Il a un flag qt3 (et qt4), je te le conseille même si t'es sous Gnome. Ca te permettra d'avoir une interface pour au moins essayer de te connecter.

(d'ailleurs j'ai eu le net samedi (hallelujah) et j'ai pas réussi à me connecter en lancant /etc/init.d/net.eth1 et ça me gave car j'ai pas envie de lancer l'interface à chaque fois)

----------

## titoucha

 *yoyo wrote:*   

>  *titoucha wrote:*   Si c'est avec un chip Ralink usb tu peux utiliser le pilote libre rtl-wifi, il fonctionne très bien. Tu es sûr de ton coup là ?? Parce que le lien que tu donnes semble être pour les chipsets realtek ...
> 
> 

 

Tu as entièrement raison, que je sois maudit jusqu'à la centième génération   :Embarassed: 

----------

## ET46

Bonjour

J'ai installé (avec succès) le pilote de mon stick USB, mais j'ai eu quand même quelques surprises.

 :Arrow:  Première surprise:

J'ai tenté d'installer le pilote rt2x00 avec l'ebuild net-wireless/rt2x00, mais les développeurs ont fermé le CVS. Impossible dorénavant de télécharger les sources avec cet ebuild. Une petite recherche sur le site de serialmonkey indique qu'il faut dorénavant utiliser git: http://rt2x00.serialmonkey.com/wiki/index.php?title=Rt2x00_GIT_instructions

Trop compliqué pour moi   :Crying or Very sad: 

Il m'a donc fallu me rabattre sur le pilote legacy   :Crying or Very sad: 

 :Arrow:  Deuxième surprise:

Tout d'abord, j'avais commandé le modèle Hercules HWGUSB2-54 (chipset RT2571F). En ouvrant la boite du stick, je me suis rendu compte qu'il s'agit en fait du modèle HWGUSB2-54V2 (ce qui n'est pas indiqué sur la boite, ni dans la notice). Ca change tout car le module à installer n'est plus rt2570.ko, mais rt73.ko (le chipset de la v2 est le RT2571WF).

Je me suis donc pris la tête un moment avec le module rt2570 qui n'activait rien du tout, sans aucun message d'erreur dans dmesg ou /var/log/messages...

 :Arrow:  Troisième surprise:

Bonne surprise: l'install du module rt73 en suivant les instructions fournis avec l'archive CVS (ici: http://rt2x00.serialmonkey.com/wiki/index.php/Downloads ) se passe sans soucis. La commande make install copie bien le firmware au bon endroit, le chargement du module se fait sans erreurs, et mon stick fonctionne.

Par contre, je ne sais pas si ce firmware est libre. Il est inclus dans l'archive du pilote, mais je me pose la question à ce sujet.

 :Arrow:  Quatrième surprise:

Le pilote legacy ne supporte pas wpa_supplicant... Et les développeurs ne veulent pas inclure son support dans les pilotes legacy car il faudrait patcher wpa_supplicant (ce qui est compréhensible).

Par contre, ce pilote legacy inclue le support de WPA avec PSK et AES (??? à confirmer)

Voilà où j'en suis. A ce stade j'arrive à me connecter à la page d'accueil et dans les pages de config de la Livebox en wifi (bien que j'ai eu des soucis avec le filtrage MAC). Par contre il m'est impossible d'aller sur internet... Certainement un problème de configuration réseau...

En fouillant dans le forum de serialmonkey, je suis tombé sur ce mini tutoriel: http://rt2x00.serialmonkey.com/phpBB2/viewtopic.php?t=3793

Je vais me baser là-dessus pour écrire mon fichier de config /etc/conf.d/net

```
modules_wlan0=( "!iwconfig" )

config_wlan0=( "dhcp" )

#dhcpcd_eth0="-t 10"

dhcpcd_wlan0="-R -N"

preup () {

    ifconfig wlan0 up

    iwconfig wlan0 mode managed

    iwpriv wlan0 set AuthMode=WPAPSK

    iwpriv wlan0 set EncrypType=TKIP

    iwpriv wlan0 set WPAPSK="XXX"

    iwconfig wlan0 essid "WLAN-XXX"

    sleep "3"

    return 0

}

```

Quels sont les les valeurs possibles pour AuthMode et EncrypType ?

EDIT: Je ne compte pas utiliser dhcp pour obtenir une adresse IP, je préfère la fixer à la main. C'est dans la section config_wlan0=xxx qu'il faut l'indiquer, ainsi que la passerelle?

Merci d'avance

Cordialement,

Etienne

----------

## yoyo

Pour les rt2x00 tu peux les installer via l'overlay "sunrise", les ebuilds ont été mis à jour pour le support du "git" : http://overlays.gentoo.org/proj/sunrise. Note qu'il y a une série de USEflag permettant de choisir le/les module/s approprié/s en fonction de tes besoins : http://gentoo-portage.com/net-wireless/rt2x00/USE#ptabs.

Pour le WPA, tu es sûr qu'il est diponible sur ta livebox ? Une série de thread est passée indiquant que la version "non-professionnelle" ne permettait pas la WPA.

 *ET46 wrote:*   

> Quels sont les les valeurs possibles pour AuthMode et EncrypType ? 

 Pour ça tu as un fichier style "iwpriv.gz" dans ton répertoire de docs. C'est l'avantage d'utiliser portage : un "equery f rt2x00" te donnent tous les fichiers installés (et donc les fichiers de documentation  :Wink:  ).

J'avais vu aussi qu'il était parfois nécessaire de définir l'essid une fois au début du "preup" et une fois à la fin. La première est combinée avec la clé pour le cryptage il me semble, et la seconde sert juste à accrocher le point d'accès.

Pour ce qui est de la configuration de l'ip, le fichier "net" ou net.example" est très bien documenté. Remplace juste le eth0 par un wlan0 dans les exemples et ça devrait le faire.

Pour ce qui est du "firmware libre", je dirai qu'il l'est, ralink ayant ouvert ses spécifications depuis quelque temps déjà il n'y a pas de raison our qu'il les ait fermées depuis. De toute façon, lorsque tu charges le module (qui va lire le firmware si j'ai tout bien compris) le "dmesg" devrait t'indiquer si le noyau est "tainted" par un module proprio (comme avec le module nvidia par exemple). Enfin je pense.  :Wink: 

Enjoy !

PS :  *titoucha wrote:*   

> Tu as entièrement raison, que je sois maudit jusqu'à la centième génération 

   :Laughing: 

Je croyais que les chats n'avaient que 9 vies. A moins que tu es prévu de te cloner ou de te réincarner une centaine de fois la malédiction ne tient pas.  :Mr. Green: 

----------

## ET46

Bonjour

Merci pour ta réponse.

 *yoyo wrote:*   

> Pour les rt2x00 tu peux les installer via l'overlay "sunrise", les ebuilds ont été mis à jour pour le support du "git" : http://overlays.gentoo.org/proj/sunrise. Note qu'il y a une série de USEflag permettant de choisir le/les module/s approprié/s en fonction de tes besoins : http://gentoo-portage.com/net-wireless/rt2x00/USE#ptabs.
> 
> 

 

Concrètement, si j'utilise cet ebuild, que va t'il se passer? Ca va travailler comme un ebuild normal, c'est à dire compiler un module et l'insérer dans /lib/modules/2.6xxx ? Ou bien ça va installer tout un tas de choses en plus?

J'aimerais rester dans une installation simple...

 *yoyo wrote:*   

> 
> 
> Pour le WPA, tu es sûr qu'il est diponible sur ta livebox ? Une série de thread est passée indiquant que la version "non-professionnelle" ne permettait pas la WPA.

 

Oui, la Livebox Inventel supporte le WPA (la Sagem aussi je crois). Ca me parait assez normal, vu la sécurité apportée par WEP  :Mr. Green: 

En revanche, il ne me semble pas qu'elle inclut AES, il faut se limiter à TKIP.

 *yoyo wrote:*   

> 
> 
> J'avais vu aussi qu'il était parfois nécessaire de définir l'essid une fois au début du "preup" et une fois à la fin. La première est combinée avec la clé pour le cryptage il me semble, et la seconde sert juste à accrocher le point d'accès.

 

En fait, je n'ai pas très bien compris ce que signifiais ce "preup". Quand est-ce que ces commandes sont exécutées?

 *yoyo wrote:*   

> 
> 
> Pour ce qui est du "firmware libre", je dirai qu'il l'est, ralink ayant ouvert ses spécifications depuis quelque temps déjà il n'y a pas de raison our qu'il les ait fermées depuis. De toute façon, lorsque tu charges le module (qui va lire le firmware si j'ai tout bien compris) le "dmesg" devrait t'indiquer si le noyau est "tainted" par un module proprio (comme avec le module nvidia par exemple). Enfin je pense. 

 

Effectivement, je n'ai pas vu de tel message lorsque j'ai chargé le module...

Donc tout va bien   :Wink: 

----------

## titoucha

 *yoyo wrote:*   

> PS :  *titoucha wrote:*   Tu as entièrement raison, que je sois maudit jusqu'à la centième génération   
> 
> Je croyais que les chats n'avaient que 9 vies. A moins que tu es prévu de te cloner ou de te réincarner une centaine de fois la malédiction ne tient pas. 

 

Tu me permets d'avoir une décendance quand même   :Laughing: 

----------

## ET46

Bon je reviens à la charge:

J'enlève tout d'abord sur la livebox tout cryptage pour le wifi par l'interface web http://192.168.1.1

Puis:

```

a64 ~ # /etc/init.d/net.eth0 stop

 * Stopping eth0

 *   Bringing down eth0

 *     Shutting down eth0 ...                                                                                                          [ ok ]

a64 ~ # ifconfig wlan0 up

a64 ~ # iwconfig wlan0 essid "chezmoi"

a64 ~ # iwconfig wlan0 channel 3

a64 ~ # iwconfig wlan0 mode managed

a64 ~ # iwconfig

lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     RT73 WLAN  ESSID:"chezmoi"

          Mode:Managed  Frequency=2.422 GHz  Bit Rate=54 Mb/s

          RTS thr:off   Fragment thr:off

          Encryption key:off

          Link Quality=35/100  Signal level:-121 dBm  Noise level:-115 dBm

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

a64 ~ # ifconfig

lo        Lien encap:Boucle locale

          inet adr:127.0.0.1  Masque:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:51 errors:0 dropped:0 overruns:0 frame:0

          TX packets:51 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 lg file transmission:0

          RX bytes:5112 (4.9 Kb)  TX bytes:5112 (4.9 Kb)

wlan0     Lien encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx

          inet adr:192.168.1.11  Bcast:192.168.1.255  Masque:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:290 errors:0 dropped:0 overruns:0 frame:0

          TX packets:215 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 lg file transmission:1000

          RX bytes:442776 (432.3 Kb)  TX bytes:368952 (360.3 Kb)

a64 ~ # ping 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.

64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=2.45 ms

64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.867 ms

--- 192.168.1.1 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1000ms

rtt min/avg/max/mdev = 0.867/1.658/2.450/0.792 ms

```

Et ça s'arrête là...

J'arrive à "pinger" ma livebox mais je n'accède pas à internet, alors qu'en relançant /etc/init.d/net.eth0 (ma carte réseau branchée sur la livebox),ça marche...

Quand je rajoute le cryptage WEP, je n'accède à plus rien du tout, même pas à la livebox...

J'avoue que je sèche un peu...

----------

## ET46

Bonjour

Je me réponds à moi-même.

J'ai remarqué que la Livebox Inventel permettait d'accèder au web uniquement quand un cryptage est défini pour le wifi. Ce doit être certainement une mesure de sécurité pour éviter que les utilisateurs laissent des Livebox ouvertes aux 4 vents. Mais ce pourrait être indiqué dans le manuel car je me suis pris la tête longtemps sur ce problème...   :Twisted Evil: 

En tout cas, j'ai mis du WPA, et ça roule. Ouf! 

Etienne

----------

## geekounet

Un petit (résolu) alors ?  :Wink: 

----------

## ET46

Presque, presque...

J'ai une question supplémentaire:

J'ai enlevé /etc/init.d/net.eth0 du runlevel "default": rc-update del net.eth0 default

Après cette commande, j'ai bien listé les scripts qui restaient: il n'apparait pas. Mais au démarrage, il veut toujours me le démarrer!

J'ai été obligé d'enlever les paramètres relatifs à cette interface dans /etc/cond.d/net, ce qui l'oblige à chercher du dhcp, puis d'abandonner car je n'ai aucun client dhcp d'installé.

Comment lui faire comprendre que je ne veux plus qu'il me le démarre?

Et autre question au passage: comment faire pour afficher de façon lisible les messages des scripts d'init au moment du boot (ça défile trop vite chez moi)?

Merci d'avance

Etienne

----------

## xaviermiller

udev a du le démarrer. Modifie rc.conf  :Wink: 

----------

## ET46

Bonsoir

Je ne trouve aucune option relative au réseau dans mon rc.conf:

```
a64 ~ # cat /etc/rc.conf

# /etc/rc.conf: Global startup script configuration settings

# UNICODE specifies whether you want to have UNICODE support in the console.

# If you set to yes, please make sure to set a UNICODE aware CONSOLEFONT and

# KEYMAP in the /etc/conf.d/consolefont and /etc/conf.d/keymaps config files.

UNICODE="yes"

# Set EDITOR to your preferred editor.

# You may use something other than what is listed here.

EDITOR="/bin/nano"

#EDITOR="/usr/bin/vim"

#EDITOR="/usr/bin/emacs"

# DISPLAYMANAGER has moved to /etc/conf.d/xdm

# XSESSION is a new variable to control what window manager to start

# default with X if run with xdm, startx or xinit.  The default behavior

# is to look in /etc/X11/Sessions/ and run the script in matching the

# value that XSESSION is set to.  The support scripts are smart enough to

# look in all bin directories if it cant find a match in /etc/X11/Sessions/,

# so setting it to "enlightenment" can also work.  This is basically used

# as a way for the system admin to configure a default system wide WM,

# allthough it will work if the user export XSESSION in his .bash_profile, etc.

#

# NOTE:  1) this behaviour is overridden when a ~/.xinitrc exists, and startx

#           is called.

#        2) even if ~/.xsession exists, if XSESSION can be resolved, it will

#           be executed rather than ~/.xsession, else KDM breaks ...

#

# Defaults depending on what you install currently include:

#

# Gnome - will start gnome-session

# kde-<version> - will start startkde (look in /etc/X11/Sessions/)

# Xsession - will start a terminal and a few other nice apps

#XSESSION="Gnome"

a64 ~ #

```

Comment fait-on également pour "ralentir" les messages des scripts d'init lors du boot? Ca va vraiment trop vite pour que je puisse déchiffrer...

Merci d'avance

Etienne

----------

## SanKuKai

 *ET46 wrote:*   

> Bonsoir
> 
> Je ne trouve aucune option relative au réseau dans mon rc.conf:
> 
> 

 

Salut.

En fait ceci se règle dans le fichier /etc/conf.d/rc par le biais de la variable RC_PLUG_SERVICES :

```

# Some people want a finer grain over hotplug/coldplug. RC_PLUG_SERVICES is a

# list of services that are matched in order, either allowing or not. By

# default we allow services through as RC_COLDPLUG/RC_HOTPLUG has to be yes

# anyway.

# Example - RC_PLUG_SERVICES="net.wlan !net.*"

# This allows net.wlan and any service not matching net.* to be plugged.

RC_PLUG_SERVICES="net.ra0 !net.*"

```

----------

## ET46

Bonjour

Je réponds avec beaucoup de retard car j'ai pas eu trop de temps pour m'occuper de ça...

J'ai eu droit à un bon kernel panic avec ce driver car j'avais oublié que j'étais en PREEMPT. Il m'a donc fallu refaire un kernel correspondant.

Concernant la variable RC_PLUG_SERVICES, je testerai ça ce week-end.

Par contre, je n'ai pas trouvé comment ralentir les messages affichés par les scripts d'init au boot. Ca m'intéresserait car j'ai d'autres erreurs qui apparaissent sans avoir le temps de les déchiffrer. Je n'ai jamais réussi à faire marcher le framebuffer pour augmenter la résolution   :Crying or Very sad: 

Cordialement,

Etienne

----------

## boozo

 *ET46 wrote:*   

> (snip)
> 
> Par contre, je n'ai pas trouvé comment ralentir les messages affichés par les scripts d'init au boot. Ca m'intéresserait car j'ai d'autres erreurs qui apparaissent sans avoir le temps de les déchiffrer. Je n'ai jamais réussi à faire marcher le framebuffer pour augmenter la résolution
> 
> (snip)

 

'alute

amha ralentir n'est pas "faisable" mais on peut plus ou moins contourner le problème et c'est au même endroit que ça se passe (/etc/conf.d/rc) : regarde du côté de RC_BOOTLOG (et de ce qui est précisé)   :Wink: 

----------

## geekounet

 *boozo wrote:*   

>  *ET46 wrote:*   (snip)
> 
> Par contre, je n'ai pas trouvé comment ralentir les messages affichés par les scripts d'init au boot. Ca m'intéresserait car j'ai d'autres erreurs qui apparaissent sans avoir le temps de les déchiffrer. Je n'ai jamais réussi à faire marcher le framebuffer pour augmenter la résolution
> 
> (snip) 
> ...

 

La touche "scroll lock" ("arrêt defil") peut être utile aussi  :Smile: 

----------

