Support carte Wifi rt3090 (pilote rt2800pci)

Bonjour à tous,

je me tourne vers vous après plusieurs semaines de luttes acharnées contre ma carte WIFI. Ayant suivi beaucoup de tutoriel trouvable sur Internet, je commence un peu à désespérer.

Voici quelques informations sur la bestiole:

Quelques infos sur l’OS

jeremy@Linoux:~$ uname -a Linux Linoux 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:41:14 UTC 2012 i686 i686 i386 GNU/Linux

jeremy@Linoux:~$ lspci ... 03:00.0 Network controller: Ralink corp. RT3090 Wireless 802.11n 1T/1R PCIe (rev ff)

jeremy@Linoux:~$ lspci ... ra0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 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 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:17 ...

J’ai tenté d’utiliser le module rt2860sta ainsi que rt3090sta (via le paquet rt3090-dkms) mais rien n’y fait.

Par avance merci pour l’aide que vous pourrez m’apporter !

À quel moment ça cafouille exactement ? Tu peux nous poster les résultats d’ifconfig et iwconfig ?
Si j’ai bien compris ce que j’ai pu lire, ça devrait rouler avec le paquet rt3090-dkms. Tiens, lsmod répond quoi ?

Bon, je suis revenu à une situation de base, j’ai dégagé rt3090-dkms, et supprimé de /etc/modprobe/blacklist.conf les lignes rt2800pci etc…

Donc voici les infos demandées et actuelles :

ifconfig :

[code]jeremy@Linoux:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 40:61:86:ae:cd:ac
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 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:41 Base address:0xe000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:81 errors:0 dropped:0 overruns:0 frame:0
TX packets:81 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8876 (8.8 KB) TX bytes:8876 (8.8 KB)

usb0 Link encap:Ethernet HWaddr 1a:f1:7d:be:72:3e
inet addr:192.168.77.121 Bcast:192.168.77.255 Mask:255.255.255.0
inet6 addr: fe80::18f1:7dff:febe:723e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:908 errors:0 dropped:0 overruns:0 frame:0
TX packets:965 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:786911 (786.9 KB) TX bytes:249625 (249.6 KB)
[/code]

iwconfig :

[code]jeremy@Linoux:~$ iwconfig
lo no wireless extensions.

usb0 no wireless extensions.

eth0 no wireless extensions.
[/code]

et enfin
lsmod | grep rt :

jeremy@Linoux:~$ lsmod | grep rt parport_pc 32114 0 rt2800pci 18340 0 rt2800lib 53264 1 rt2800pci crc_ccitt 12595 1 rt2800lib rt2x00pci 14202 1 rt2800pci rt2x00lib 48858 3 rt2800pci,rt2800lib,rt2x00pci mac80211 436455 3 rt2800lib,rt2x00pci,rt2x00lib cfg80211 178679 2 rt2x00lib,mac80211 eeprom_93cx6 12653 1 rt2800pci parport 40930 3 parport_pc,ppdev,lp

Donc en l’état, ma carte n’est pas detectée. Dois-je réinstaller rt3090-dkms ?
Si oui, dois-je blacklisté les modules rt2800pci etc… ?

edit:
Je possède les sources du driver rt3090, ainsi qu’une version packagé du module (nommé rt3090-dkms_2.3.1.4-0ubuntu0~ppa_all.deb).

dis nous ce que tu as déja tenté, et qu’est ce qu’il en reste sur ta machine (si tu as compilé des drivers, installé ceux d’une autre distribution, installer un firmware …).

Je n’ai tenté d’installer que ce paquet là, et ai joué avec le fichier blacklist.conf de modprobe. Pas plus de modification que celà.
Derais-je revenir à une situation plus … normale ? En réinstallant ma Debian par exemple, pour faciliter votre aide.
J’ai conscience que ce n’est pas évident quand on a pas toutes les infos sous les yeux, alors si ça peut vous aider (et donc m’aider !), il n’y a aucun soucis =)

Tu n’as vraiment fait qu’installer un paquet et en blacklister un autre ?
Je trouve que ton kernel n’a pas un nom très debian

si tu ne sais plus ce que tu as fais, alors reinstalle une debian propre (j’écris très rarement ça, mais là il vaux mieux repartir sur une base propre, surtout si ça fait plusieurs semaines que tu bricoles dessus et que tu n’as pas pris de notes).

Voilà, réinstallation effectuée.
Voici donc les informations que vous me demandez.

uname -a

lspci | grep Wireless

ifconfig

[code]eth0 Link encap:Ethernet HWaddr 40:61:86:ae:cd:ac
inet adr:192.168.1.11 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::4261:86ff:feae:cdac/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:45 errors:0 dropped:0 overruns:0 frame:0
TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:4958 (4.8 KiB) TX bytes:6028 (5.8 KiB)
Interruption:28 Adresse de base:0xa000

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:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:560 (560.0 B) TX bytes:560 (560.0 B)
[/code]

iwconfig : commande inconnue

lsmod | grep rt

parport_pc 15799 0 parport 22554 3 parport_pc,ppdev,lp rt2860sta 402690 0 crc_ccitt 1039 1 rt2860sta

Un petit passage dans les messages de démarrage du noyau avec dmesg | grep rt28 me donne le résultat suivant :

[    5.158651] rt2860sta: module is from the staging directory, the quality is unknown, you have been warned.
[    5.178838] rt2860 0000:03:00.0: Refused to change power state, currently in D3
[    5.178861] rt2860 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[   13.676938] rt2860 0000:03:00.0: firmware: requesting rt2860.bin
[   13.782985] rt2860 0000:03:00.0: firmware file rt2860.bin request failed (-2)
[   13.786658] rt28xx Initialized fail!
[   14.081579] rt2860 0000:03:00.0: firmware: requesting rt2860.bin
[   14.086135] rt2860 0000:03:00.0: firmware file rt2860.bin request failed (-2)
[   14.089754] rt28xx Initialized fail!

Voilà voilà… :neutral_face:
Je vois que le module rt2860sta est bien chargé (il prend normalement en charge les cartes RT3090) cependant…

Il te faut installer le paquet firmware-ralink (voir plus bas pour l’explication).
Si tu ne le trouves pas dans les dépôts (erreur lors de apt-get install firmware-ralink), rajoute les sections contrib et non-free dans ton sources.list. Si tu ne sais pas comment faire, voir dans la section Trucs & Astuces du forum : “Sources de paquets : les bases (sources.list)”.


Explication : dans ton dmesg il te dit clairement “firmware file rt2860.bin request failed”.
C’est le nom du fichier dont tu as besoin.
Ensuite il suffit d’aller sur debian.org/distrib/packages#search_contents, rentrer le nom du fichier (rt2860.bin) et voilà, on a trouvé de quel paquet il s’agissait.
Autre solution plus pratique si tu fais souvent ce genre de recherches dans les paquets (pour aider tes camarades du forum par exemple :wink:) : installer apt-file

$ apt-file search rt2860.bin firmware-ralink: /lib/firmware/rt2860.bin

L’installation du paquet firmware-ralink a bien été effectuée, cependant, le message d’erreur semble persister:

dmesg | grep rt

[code][ 5.199763] rt2860sta: module is from the staging directory, the quality is unknown, you have been warned.
[ 5.213686] rt2860 0000:03:00.0: Refused to change power state, currently in D3
[ 5.213709] rt2860 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 13.334997] rt2860 0000:03:00.0: firmware: requesting rt2860.bin
[ 13.907497] rt28xx Initialized fail!
[ 14.591199] rt28xx Initialized fail!

[/code]

En outre, le fichier rt2860.bin est bien présent dans /lib/firmware. C’est à ce moment là que ça n’a plus de sens pour moi … =/

Bon déjà il a réussi à charger le firmware ce coup-ci, c’est un bon point mais de toute évidence c’est pas suffisant.
Selon cette page du Wiki Debian : wiki.debian.org/rt2860sta ce pilote rt2860sta est assez bogué. Un pilote plus fiable rt2800pci est présent dans les nouveaux kernels. Je suppose que c’est pour ça que tu avais installé le kernel 3.2 Ubuntu, mais c’est une très mauvaise idée de mélanger les deux distributions. Il vaut mieux installer un kernel Debian qui provient des backports.

Ajouter ceci à ton sources.list (dépôt officiel des backports Debian) :

Puis :

aptitude update aptitude -t squeeze-backports install linux-image-2.6-686
Profites-en pour installer iwconfig :

Reboot sur le nouveau kernel puis mêmes diagnostics que dans ton message support-rt3090-t40873.html#p412982 (sauf lspci, pas utile) pour voir où on en est.

Mise à jour du kernel faite (proprement cette fois !) et après installation de wireless-tool + reboot voici où j’en suis:

uname -a

ifconfig

[code]eth0 Link encap:Ethernet HWaddr 40:61:86:ae:cd:ac
inet adr:192.168.1.11 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::4261:86ff:feae:cdac/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:175 errors:0 dropped:0 overruns:0 frame:0
TX packets:100 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:181018 (176.7 KiB) TX bytes:11096 (10.8 KiB)
Interruption:40 Adresse de base:0xe000

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:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:560 (560.0 B) TX bytes:560 (560.0 B)

pan0 Link encap:Ethernet HWaddr f6:e9:10:ef:1a:24
adr inet6: fe80::f4e9:10ff:feef:1a24/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:0 (0.0 B) TX bytes:3407 (3.3 KiB)
[/code]

iwconfig

[code]lo no wireless extensions.

pan0 no wireless extensions.

eth0 no wireless extensions.
[/code]

lsmod | grep rt

parport_pc 21895 0 parport 27018 3 parport_pc,ppdev,lp rt2800pci 13496 0 rt2800lib 42925 1 rt2800pci crc_ccitt 12331 1 rt2800lib rt2x00pci 12721 1 rt2800pci rt2x00lib 28947 3 rt2800pci,rt2800lib,rt2x00pci mac80211 174497 3 rt2800lib,rt2x00pci,rt2x00lib cfg80211 116717 2 rt2x00lib,mac80211 eeprom_93cx6 12423 1 rt2800pci

dmesg | grep rt28

[ 6.576072] rt2800pci 0000:03:00.0: Refused to change power state, currently in D3 [ 6.576105] rt2800pci 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 [ 6.576135] rt2800pci 0000:03:00.0: cache line size of 64 is not supported [ 6.750852] phy0 -> rt2800_init_eeprom: Error - Invalid RT chipset 0xffff detected. [ 6.751131] rt2800pci 0000:03:00.0: PCI INT A disabled

Dans les messages au démarrage, il est indiqué qu’il est refusé de changer l’alimentation ou non du wifi, je tiens à préciser avant de passer pour un imbécile… il est bien activé grâce au petit bouton sur la gauche du PC :] mais ne marche cependant toujours pas :neutral_face:

Bon là je commence à sécher un peu, le wifi c’est pas ma tasse de thé.
Pourrais-tu nous donner le résultat de lspci -nn | grep Wireless histoire d’avoir l’identifiant PCI [xxxx:yyyy] de ta carte ? Ça simplifierait les choses pour les recherches.

lspci -nn | grep Wireless

Cette carte nous rendra tous fou :confused:

Bon effectivement cette carte (1814:3090) devrait être supportée par le pilote rt2800pci sur le kernel 3.2 : wiki.debian.org/rt2800pci
Dernière idée avant de passer la main à d’autres plus compétents que moi en wifi : installer le firmware-ralink des backports (0.35 au lieu de 0.28 en stable) :

Reboot, diagnostics ifconfig / iwconfig / dmesg et bon courage pour la suite.

PS: au passage je t’ai mis un titre de sujet plus explicite pour attirer plus de monde. :wink:

La situation est effectivement plus saine maintenant. L’installation du firmware des backports est indispensable.
Ensuite il faudre voir les messages au boot, il faudra probablement forcé le type de carte dans un fichier de config du module si il ne la reconnait pas automatiquement.

ifconfig

[code]eth0 Link encap:Ethernet HWaddr 40:61:86:ae:cd:ac
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:40

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:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:560 (560.0 B) TX bytes:560 (560.0 B)

usb0 Link encap:Ethernet HWaddr de:75:cc:f3:67:4b
inet adr:192.168.77.188 Bcast:192.168.77.255 Masque:255.255.255.0
adr inet6: fe80::dc75:ccff:fef3:674b/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:727 errors:0 dropped:0 overruns:0 frame:0
TX packets:729 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:533087 (520.5 KiB) TX bytes:187658 (183.2 KiB)
[/code]

iwconfig

[code]lo no wireless extensions.

usb0 no wireless extensions.

pan0 no wireless extensions.

eth0 no wireless extensions.
[/code]

dmesg | grep rt2

[ 6.540066] rt2800pci 0000:03:00.0: Refused to change power state, currently in D3 [ 6.540088] rt2800pci 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 [ 6.540110] rt2800pci 0000:03:00.0: cache line size of 64 is not supported [ 6.540116] rt2x00pci -> rt2x00pci_probe: Error - MWI not available. [ 6.550362] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.560666] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.570993] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.581294] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.591582] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.601757] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.612040] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.622327] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.632627] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.642950] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.653293] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.663608] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.673840] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.684249] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.694565] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.704929] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.715440] phy0 -> rt2x00pci_regbusy_read: Error - Indirect register access failed: offset=0x00000580, value=0xffffffff [ 6.715606] phy0 -> rt2800_init_eeprom: Error - Invalid RT chipset 0xffff detected. [ 6.715727] phy0 -> rt2x00lib_probe_dev: Error - Failed to allocate device. [ 6.716044] rt2800pci 0000:03:00.0: PCI INT A disabled

lsmod | grep rt

parport_pc 21895 0 parport 27018 3 parport_pc,ppdev,lp rt2800pci 13496 0 rt2800lib 42925 1 rt2800pci crc_ccitt 12331 1 rt2800lib rt2x00pci 12721 1 rt2800pci rt2x00lib 28947 3 rt2800pci,rt2800lib,rt2x00pci mac80211 174497 3 rt2800lib,rt2x00pci,rt2x00lib cfg80211 116717 2 rt2x00lib,mac80211 eeprom_93cx6 12423 1 rt2800pci

Le message de boot est assez peu encourageant =/

Ce n’est pas dramatique, c’est juste que le driver n’arrive pas à lire l’EEPROM de la carte qui contient toutes les informations de celles ci. Il ne sait donc pas à quelle carte il a à faire, et se plante.
Il te faut semble t il un kernel 2.3.4 pour que ça marche correctement avec cette carte.
Il n’est pas encore dans les backports de la stable, donc soit tu es patient, sois tu migres en testing ou SID.
La 2eme solution me semble la meilleure car ce driver( + firmware) est en phase de développement très active (je viens de voir un patch énorme du 16 octobre), donc tu as intéret à te tenir à jour.

Il faut lire, bien évidemment, 3.2.0-4 et non 2.3.4 :wink:

Salut,

C’est quoi “linux debounet”?

tu es sur d’avoir installé debian a partir d’un CD officiel (debian.org)?

Si tu as un cable pour te connecter a internet je te conseillerais d’installer ta squeeze a partir d’une business card (de 40 mo) que tu trouveras sur debian.org par exemple a cette page : debian.org/distrib/netinst…tu choisis “CD plus petit” puis i386 (ou AMD64 selon ton architecture), tu graves l’iso sur un CD et tu installe (en étant connecté a internet par cable)

Une fois l’installation faite, être sur d’avoir dans ton sources.list les paquets main contrib et nonfree et installer en plus le paquet firmware-ralink.

la tu peux débrancher ta connection par cable, redémarrer ton PC et normalement le wifi devrait fonctionner.

man uname répondra à ta question… :wink: