Forum Linux.debian/ubuntu Ndiwrapper et connexion wifi

Posté par  .
Étiquettes :
0
30
oct.
2006
Bonjour,

J'ai un problème avec ma connexion wifi, sous debian : ma carte semble reconnue après avoir installé un driver avec ndiswrapper, mais impossible de me connecter sur ma freebox par wifi (pourtant, le réseau wifi fonctionne, vu que j'utilise sans problème sous windows, sur ce même pc).

Pour vous aider à m'aider, je vous explique rapidement ce que j'ai fait :



1. Installation de Debian
Tout d'abord, sur conseil d'un ami, je télécharge la version netinst stable de debian, pour éviter de télécharger les 15 CDs. L'installation se passe plutôt bien (partitionnement du disque, choix de l'heure, des langues, etc...) jusqu'au moment où il cherche à se connecter au net : impossible de trouver ma carte wifi. Finalement, je fini par choisi "ne pas se connecter", en pensant le faire plus tard.



2. Le chipset de ma carte wifi
Je possède une carte Peabird PCI 54Mbits. C'est la 2ème sur cette page : http://peabird.com/produits_sansfils.html. Bien entendu, cette carte à changé de chispet 4 ou 5 fois, et ce sans changer les "numeros de version" des cartes... Il faut donc que je détermine le chipset de ma carte.

Un petit coup de lspci me donne :

0000:00:00.0 Memory controller: nVidia Corporation: Unknown device 005e (rev a3)
0000:00:01.0 ISA bridge: nVidia Corporation: Unknown device 0050 (rev a3)
0000:00:01.1 SMBus: nVidia Corporation: Unknown device 0052 (rev a2)
0000:00:02.0 USB Controller: nVidia Corporation: Unknown device 005a (rev a2)
0000:00:02.1 USB Controller: nVidia Corporation: Unknown device 005b (rev a3)
0000:00:04.0 Multimedia audio controller: nVidia Corporation: Unknown device 0059 (rev a2)
0000:00:06.0 IDE interface: nVidia Corporation: Unknown device 0053 (rev a2)
0000:00:07.0 RAID bus controller: nVidia Corporation: Unknown device 0054 (rev a3)
0000:00:08.0 RAID bus controller: nVidia Corporation: Unknown device 0055 (rev a3)
0000:00:09.0 PCI bridge: nVidia Corporation: Unknown device 005c (rev a2)
0000:00:0a.0 Bridge: nVidia Corporation: Unknown device 0057 (rev a3)
0000:00:0b.0 PCI bridge: nVidia Corporation: Unknown device 005d (rev a3)
0000:00:0c.0 PCI bridge: nVidia Corporation: Unknown device 005d (rev a3)
0000:00:0d.0 PCI bridge: nVidia Corporation: Unknown device 005d (rev a3)
0000:00:0e.0 PCI bridge: nVidia Corporation: Unknown device 005d (rev a3)
0000:01:08.0 Ethernet controller: Marvell Technology Group Ltd.: Unknown device 1faa (rev 03)
0000:05:00.0 VGA compatible controller: ATI Technologies Inc: Unknown device 554b
0000:05:00.1 Display controller: ATI Technologies Inc: Unknown device 556b


Ainsi, la ligne suivante correspond à ma carte wifi :
0000:01:08.0 Ethernet controller: Marvell Technology Group Ltd.: Unknown device 1faa (rev 03)

NB : (je suis certain que cette ligne correspond à ma carte wifi, car après mise à jour des "bases pci pour lspci", le "Unknown device" s'est transformé en "wireless..."

Ensuite, un petit lspci -n pour m'apercevoir que l'identifiant de mon chipset est 11ab:1faa. J'oriente donc mes recherche vers le chipset Marvell 8335.



3. Découverte et installation de Ndiswrapper
Bien entendu, ce chipset n'est pas reconnu directement sous linux, obligé de passer par ndiswrapper pour utiliser un driver windows XP.

En suivant un tutoriel sur le web, je télécharge la version 1.2 de ndiswrapper. Ensuite, j'essai d'installer les drivers fournis avec le CD de ma carte wifi... catastrophe, rien ne marche, le driver n'arrive pas à se charger... Je cherche sur le net, et trouve un driver mrv8335.inf, apparamment recommandé pour ma carte. Je l'installe, ça à l'air de fonctionner : il est correctement chargé quand je fais un "ndiswrapper -l".

Ensuite, petit coup de modprobe ndiswrapper, et miracle, la led verte de ma carte wifi se met à clignoter. Je saute au plafond, pensant enfin arriver au bout... visiblement, je me trompais.



4. Configuration du réseau
Voila ce que donne un iwlist scan :

lo Interface doesn't support scanning.

eth0 Interface doesn't support scanning.

sit0 Interface doesn't support scanning.

Warning: Driver for device wlan0 recommend version 18 of Wireless Extension,
but has been compiled with version 16, therefore some driver features
may not be available...

wlan0 No scan results


Alors déjà, un warning... Après quelques recherches, j'ai cru comprendre que ce n'était pas trop grave, et que le tout pouvait fonctionner malgré cette avertissement. Si vous pouviez confirmer ?

Après, plus génant, il ne détecte aucun réseau wifi... Alors que pourtant, le réseau est visible sous windows, donc le problème ne vient ni de la carte, ni de la freebox.


Voila ce que donne un iwconfig wlan 0 :

Warning: Driver for device wlan0 recommend version 18 of Wireless Extension,
but has been compiled with version 16, therefore some driver features
may not be available...

wlan0 IEEE 802.11FH ESSID:off/any
Mode:Managed Frequency:2.467 GHz Access Point: 00:00:00:00:00:00
Bit Rate:1 Mb/s Sensitivity=-200 dBm
RTS thr:2346 B Fragment thr:2346 B
Encryption key:off
Power Management:off
Link Quality:100 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:11 Missed beacon:0


Donc visiblement, rien n'est configuré. Je me dis que, peut être, que tout vient de là, et qu'après avoir configuré ma carte wifi, il pourra lister les réseaux correctement. Je lance donc succèssivement les commandes :

iwconfig wlan0 mode Ad-Hoc
iwconfig wlan0 channel 12
iwconfig wlan0 key restricted ABCD1E2345FG67H89I012J34KL
iwconfig wlan0 essid maison


NB : Naturellement, je ne donne pas ma vraie clé wep... je met juste un "modèle" pour que vous voyez sous quelle forme je l'ai entré... Après tout, c'est peut etre pas comme ça qu'il faut faire !

Tout ce passe bien... sauf pour la dernière ligne :
iwconfig wlan0 essid maison
où, il me répond un vilain :
ndiswrapper (set_essid : 58) : setting essid failed.


Donc il n'arriverait pas à définir un essid dans ma carte wif... Et là, je me pose serieusement des questions : comment ça se fait ? Ndiswrapper serait mal installé ? Le driver ne serait pas le bon ? Aurais-je oublié une étape ? Car ce qui est étrange, c'est que tout fonctionne (clé wep, mode, channel...) sauf ça (essid).

Après coup, je retente un "iwlist wlan0 scan", à tout hazard. Et miracle, il voit bien mon réseau wifi :

Warning: Driver for device wlan0 recommend version 18 of Wireless Extension,
but has been compiled with version 16, therefore some driver features
may not be available...

wlan0 Scan completed :
Cell 01 - Address: 8E:E2:5B:7C:8A:52
ESSID:"maison"
Protocol:IEEE 802.11g
Mode:Ad-Hoc
Channel:0
Quality:0/100 Signal level:-91 dBm Noise level:-256 dBm
Encryption key:off
Bit Rate:1 Mb/s
Bit Rate:2 Mb/s
Bit Rate:5.5 Mb/s
Bit Rate:11 Mb/s
Bit Rate:6 Mb/s
Bit Rate:9 Mb/s
Bit Rate:12 Mb/s
Bit Rate:18 Mb/s
Bit Rate:24 Mb/s
Bit Rate:36 Mb/s
Bit Rate:48 Mb/s
Bit Rate:54 Mb/s
Extra:bcn_int=100
Extra:atim=0


Maintenant, reste plus qu'à configurer le essid de ma carte wifi... Mais rien à faire, le "iwconfig wlan0 essid maison" retourne des erreurs en permanence...


Avez vous une idée, une piste ?


En tout cas, merci de m'avoir lu.
En esperant que certains d'entre vous auront la patience de m'aider.

Julien.
  • # itou

    Posté par  (site web personnel) . Évalué à 2.

    J'ai eu les même problèmes que toi, il y a quelques mois!
    j'ai upgradé (à l'époque en unstable vu que je tourne en testing) ndiswrapper-src/ndiswrapper-utils, passé en kernel 2.6.18 ou 2.6.17, compilé ndiswrapper avec module-assistant et tout est rentré dans l'ordre!
    • [^] # Re: itou

      Posté par  . Évalué à 1.

      Merci de ta réponse.

      Quelques précisions :

      - Actuellement, j'ai un noyau 2.6.8-3-386, donc il ne devrait pas y avoir de problème de ce coté. Surtout que j'ai vérifé, NET_RADIO est bien activé dans mon .config
      - J'ai la version 1.2 de ndiswrapper.


      Quelques questions :

      - Tu avais quelle version de ndiswrapper, après upgrade ?

      - Sinon, il y a t'il un moyen simple pour upgrader ndiswrapper ? (sans devoir le désinstaller, et réinstaller le nouveau ?).

      - Est-il necessaire de compiler ndiswrapper avec module-assistant ? Si oui, comment ?
      • [^] # Version de ndiswrapper ?

        Posté par  . Évalué à 2.

        Ndiswrapper a beaucoup évolué depuis la sarge :
        Sur ma testing j'ai la version 1.23.
        Tu auras peut-être plus dans chance avec un noyau récent backporté (tu trouveras un 2.6.17 et un 2.6.18 sur [http://backports.org]) et un ndiswrapper de testing.
        • [^] # Re: Version de ndiswrapper ?

          Posté par  . Évalué à 1.

          Etes vous certains qu'utiliser un noyau backporté (donc provenant des version testing et unstable, si j'ai bien compris) est une bonne solution ? Ne pourrais-je pas tenter, pour commencer, d'installer la dernière version stable de ndiswrapper sur mon noyau actuel ?

          Autre chose : etes vous sûr que le problème vient de ndiswrapper, et non du driver installé, tout simplement ?
          • [^] # Re: Version de ndiswrapper ?

            Posté par  (site web personnel) . Évalué à 2.

            AMHA, passer en etch est une bonne solution!

            Ta machine wifi ne doit pas être un pc critique (j'ai rarement vu un serveur de prod avec une interface wifi) ... Etch sera une distrib correspondant plus à tes besoins (et elle sera la distrib stable à noël d'après le planning)!

            Sur mon pc perso et pro, je tourne en testing régulierement mis à jour (surtout depuis l'arrivée de update-notifier) depuis plus d'un an, je n'ai jamais eu de pbs!

            je n'utilise pas de backports, il y a uniquement le package ndiswrapper que je fabrique avec m-a!

            Mes pbs de wifi ont été résolus depuis le noyau 2.6.16!

            ps: si tu utilises wpasupplicant, il faut mettre en parametre de drivers wext et non plus ndiswrapper!!!

            A+
          • [^] # Re: Version de ndiswrapper ?

            Posté par  . Évalué à 1.

            Etes vous certains qu'utiliser un noyau backporté (donc provenant des version testing et unstable, si j'ai bien compris) est une bonne solution ? Ne pourrais-je pas tenter, pour commencer, d'installer la dernière version stable de ndiswrapper sur mon noyau actuel ?

            Ben je ne suis pas sûr de la compatibilité des denières versions de ndiswrapper avec le noyau de la sarge. Ça se tente...
            Ce dont je suis quasi sûr c'est que l'installation d'un noyau backporté n'est pas trop risquée. J'ai récemment posé un 2.6.17-2 sur une sarge. J'ai eu quelques autres packages à mettre à jour mais rien d'irreversible. Et il m'est toujours possible de booter sur l'ancien noyau que j'ai conservé. Donc comme ça aussi ça se tente...
            Autre chose : etes vous sûr que le problème vient de ndiswrapper, et non du driver installé, tout simplement ?

            Aucune idée : je n'ai pas ce type de carte (moi c'est une Lynksys WPC54G que je fais tourner avec ndiswrapper). Mais d'après le commentaire de mathieu plus haut y'a des chances que ça marche.
          • [^] # Re: Version de ndiswrapper ?

            Posté par  . Évalué à 1.

            Après reflexion, vous avez surement raison. Par contre, sur backports.org, il est visiblement impossible de télécharger les noyaux actuellement :

            The old packages site is currently not available


            Je vais donc télécharger le dernier noyau stable sur kernel.org (cad le 2.6.18.1). Ensuite, après avoir désinstaller la version de ndiswrapper actuellement installé, je vais installer ndiswrapper-1.28, puis remettre le driver windows.

            Donc si vous avez des précisions, ou des conseils, supplémentaires, n'hésitez pas, c'est le moment.
            • [^] # Re: Version de ndiswrapper ?

              Posté par  (site web personnel) . Évalué à 1.

              mais non malheureux!

              mets cela dans ton /etc/apt/source.list :

              deb http://ftp.debian.org/debian/ testing main contrib non-free
              deb http://ftp.debian.org/debian/ unstable main contrib non-free

              cela dans ton /etc/apt/apt.conf:

              APT::Default-Release "stable";


              puis apt-get update ....

              et après:

              apt-get update && apt-get install monkernel && apt-get install ndiswrapper-source -t testing;



              etc.
              • [^] # Mise à jour kernel / ndiswrapper

                Posté par  . Évalué à 1.

                Ouf, ton message me sauve.

                Ca veut donc dire que je n'ai pas besoin d'installer le nouveau noyau ? (ou du moins, pas comme je le faisais moi) Si oui, ça m'arrangerait : depuis tout à l'heure, je tente d'installer le kernel 2.6.18.1 (après avoir téléchargé les sources, et les avoir compilé, en prenant le même .config que sur le noyau actuel). Mais rien n'y fait, j'ai le droit au fameuse "erreur critique"...



                Donc pour résumer, je modifie mon /etc/apt/source.list pour y ajouter

                deb http://ftp.debian.org/debian/ testing main contrib non-free
                deb http://ftp.debian.org/debian/ unstable main contrib non-free

                Je modifie /etc/apt/apt.conf pour ajouter :

                APT::Default-Release "stable";

                Puis je lance :

                apt-get update
                apt-get update && apt-get install monkernel && apt-get install ndiswrapper-source -t testing;

                Heu, par contre, à la place de "monkernel", vous me conseillez quoi finalement ? Car vous avez parlez de plusieurs versions, et je suis un peu perdu au final moi.
                • [^] # Re: Mise à jour kernel / ndiswrapper

                  Posté par  (site web personnel) . Évalué à 1.

                  C'est selon ton processeur (k7 pour amd, 686 pour intel etc.)
                  mets la version testing (2.6.17 je crois) ...

                  Les packages debian ont normallement mis les bonnes dépendances (j'ai plus confiance dans les officiels que les backports)!!!!

                  Pour ndiswrapper, utilise aptitude, sur chaque package, il te propose toutes les versions disponible en bas ...
                  Un peu chiant à utiliser et à mémoriser les raccourcis au début, c'est un coup à prendre!
                  • [^] # Re: Mise à jour kernel / ndiswrapper

                    Posté par  (site web personnel) . Évalué à 1.

                    Je me répond à moi même!

                    Non tu n'as pas besoin de compiler toi même le noyau!!!

                    Avec la config apt que je t'ai fourni, si tu fais un apt-get upgrade ou dist-upgrade, il ne passera pas en testing/unstable!

                    En revanche si tu demandes d'installer un package (ici le noyau) d'une distrib testing/unstable, il le fera et upgradera les dépendances si cela est nécessaire!!!
                    • [^] # Re: Mise à jour kernel / ndiswrapper

                      Posté par  . Évalué à 1.

                      J'ai utilisé ta config, mais il y a un problème : en faisant un

                      apt-get install kernel-image -t testing

                      Le noyau le plus récent disponible sur le ftp de debian est le 2.6.8...
                      Comment cela se fait-il ?




                      Finalement, j'ai donc choisi de recompiler le noyau 2.6.18.1, pris directement sur kernel.org. La création du kernel-image et kernel-headers marchent sans problème, et leur compilation aussi. Je peux donc rebooter sur le nouveau kernel 2.6.18.1, tout marche bien.

                      Ensuite, j'ai installé les headers (necessaire pour installer ndiswrapper), puis j'ai télécharger la dernière version de ndiswrapper (cad la version 1.28). L'installation de ndiswrapper se passe bien aussi.

                      Enfin, j'installe mon driver, aucun problème. Mais ensuite, quand je lance un modprobe ndiswrapper, il me renvoie une erreur... Où est le problème ?
                      • [^] # Re: Mise à jour kernel / ndiswrapper

                        Posté par  (site web personnel) . Évalué à 1.

                        pourtant "apt-cache policy linux-headers-2.6.17-2" me renvoie:
                        linux-image-2.6.17-2-686:
                        Installé : (aucun)
                        Candidat : 2.6.17-9
                        Table de version :
                        2.6.17-9 0
                        990 http://ftp.debian.org testing/main Packages

                        fais un "apt-cache search 2.6.17" ... tu auras surement un package linux-image-XXXX qui te conviendra (et un package de header qui ira avec)!
            • [^] # Re: Version de ndiswrapper ?

              Posté par  . Évalué à 1.

              L'utilisation de backports est très simple.
              Voir la page instructions [http://backports.org/dokuwiki/doku.php?id=instructions] : tout se passe dans le /etc/apt/sources.list.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.