Forum Linux.debian/ubuntu BCM4312, pilotes et firmwares

Posté par .
Tags : aucun
1
26
sept.
2010
Bonjour,

J'ai des petits soucis avec la carte wifi sur mon dell inspiron 13z : BCM4312 rev.01 ; en essayant de les résoudre je suis tombés sur pas mal d'informations, et je n'ai pas tout compris. Résultat je viens voir si quelqu'un sur le forum pourrait m'aider à mettre de l'ordre dans ma tête (et accessoirement sur mon PC).

Comme je m'y attendais la carte n'étais pas reconnue après l'installation, donc j'ai installé les paquets broadcom-sta-source et broadcom-sta-common (comme leur description mentionnait qu'ils permettaient le support de mon chipset). Je suis les infos du readme.debian pour recuperer les headers du noyau avec module assistant, compiler le nouveau module, unloader l'ancien module (rmmod b44), et ajouter le nouveau (modprobe wl).

A ce moment là, ma carte wifi est reconnue : elle est listée par le iwconfig ou le ifconfig, je peux faire ifconfig up / down dessus, bref, j'étais content...sauf qu'elle ne détecte aucun réseau wifi.


iwlist eth1 scan
eth1 Failed to read scan data : Invalid argument


Je fus perplexe...

Je retourne donc sur internet, et j'ai lu des choses à propos de firmware broadcom. En cherchant un peu je m'apperçois qu'il existe effectivement des paquets debian firmware-b43-installer et b43-fwcutter, qui sont censés contenir un firmware pour ma carte wifi.

Avant d'aller plus loin, STOP ! Questions pour vous messieurs dames : j'ai besoin d'installer le firmware en plus du driver wl ? Ce n'est pas choquant en soi mais ca me parait juste étrange que la documentation des paquets du driver ne mentionne pas l'existence de ceux du firmware. Deuxième interrogation : en admettant que j'installe le firmware broadcom linux sur ma carte, est-ce qu'elle serait encore reconnue par windows ?

La suite de mes aventures : De toute façon je n'ai pas eu le temps de me torturer trop longtemps avec ces questions : j'installe les paquets en question, mais dpkg calme tout de suite ma joie avec un truc du genre post install script failed. La cause de l'erreur était : "low power PCI device not supported".

La ou je commence à perdre mon latin, c'est quand je tente de voir la liste des différents chips supportées par le firmware :
http://linuxwireless.org/en/users/Drivers/b43#Known_PCI_devi(...)

On constatera notamment avec une joie non simulée que deux devices ayant le même PCI-ID et le même chipset (enfin, certainement pas le même chipset, mais du moins les ingénieurs de chez broadcom n'ont pas jugé utile de leur donner deux noms différents) peuvent néanmoins être suffisamment différentes pour que l'une soit supportée et l'autre non.


pierre-laptop:~/infosconfig# lspci -n | grep 14e4
08:00.0 0280: 14e4:4315 (rev 01)


D'après le site plus haut et mon PCI-ID, je devrais être "partiellement supporté". Les scripts d'install du firmware ont l'air de me dire le contraire, mais j'avoue qu'à ce stade là, je suis loin de prétendre comprendre d'ou vient le problème.

Voilà ou j'en suis. La derniere question est : y a t il encore un rituel que j'ai oublié pour faire marché cette satanée carte ? Est-ce que j'ai besoin de ce firmware ? d'un autre firmware ? d'un autre pilote ? est ce que j'ai clairement merdé quelque part ? Est ce qu'il faut tout simplement que j'attende la sortie de la prochaine stable en priant très fort pour que les bons drivers soient intégrés dans le noyau ?

Merci d'avance pour vos éclaircissements.

Config : Debian Lenny Stable (sauf deux ou trois paquets)
Inspiron 13z, wifi Dell Wireless 1397 / BCM4312 rev.01
  • # à essayer...

    Posté par . Évalué à 0.

    Je crois que la bonne commande est iwlist eth1 scanning
    Essayer également apt-get install wireless-tools
    • [^] # Re: à essayer...

      Posté par . Évalué à 1.

      Merci pour ta réponse,

      J'avais oublié de préciser que j'avais installé aussi wireless-tools (il était recommandé par les paquets du driver)

      iwlist admet "scan" comme raccourci de "scanning" (d'apres la page de manuel), et en effet iwlist eth1 scanning me donne la même erreur :)
  • # en fait, tu as 2 possiblités

    Posté par . Évalué à 2.

    avec ma distrib, il me propose deux paquets pour pouvoir faire fonctionner ma carte BCM43xx

    - un paquet STA
    - un paquet b43fwcutter

    tu dois choisir l'un OU l'autre

    et chez moi j'ai choisis le driver proprio STA plutot que le firmware et fwcutter
    et ca a marché du premier coup.
  • # Firmware

    Posté par . Évalué à 4.


    Avant d'aller plus loin, STOP ! Questions pour vous messieurs dames : j'ai besoin d'installer le firmware en plus du driver wl ?

    Oui.

    Il y a un bout de code pour ton noyau Linux: c'est le pilote.
    Et un autre bout de code que ton noyau va pousser dans la carte WiFi au démarrage: c'est le firmware.
    Les deux sont nécessaires.

    Ce n'est pas choquant en soi mais ca me parait juste étrange que la documentation des paquets du driver ne mentionne pas l'existence de ceux du firmware.

    De quelle documentation parles-tu? Celle de Broadcom? De Debian? Du pilote Linux?


    "b43-fwcutter", en fait, est un utilitaire qui va télécharger et charger le firmware (et, si mes souvenirs sont bons, te faire lire et accepter sa licence avant): pour une obscure raison de licence, le firmware Broadcom n'est pas inclu dans le paquet "firmware-linux-nonfree" qui, sous Debian, contient tous les firmwares propriétaires que Debian a le droit de distribuer.


    Deuxième interrogation : en admettant que j'installe le firmware broadcom linux sur ma carte, est-ce qu'elle serait encore reconnue par windows ?

    Oui. Le firmware est chargé au démarrage dans une mémoire volatile de la carte Broadcom. Quand on éteint la machine, le firmware s'évanouit, c'est pour ça qu'il est nécessaire que chaque OS le charge au démarrage.
    C'est très certainement le même firmware qui est chargé par chaque OS, d'ailleurs: un tout petit bout de code binaire qui sert de "système d'exploitation" à la carte.

    THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

    • [^] # Re: Firmware

      Posté par (page perso) . Évalué à 4.

      Plus précisement, le firmware vient dans le pilote windows, non pas en fichier séparé, mais inclus dans une dll binaire. Du coup :

      - il faut un utilitaire pour extraire la partie firmware du pilote windows
      - la licence du pilote windows stipule qu'il ne peut pas être redistribué modifié, c'est le cas du firmware extrait.

      Pour ma part, ayant une machine dans ce cas, et souhaitant éviter les manipulations fatigantes, je me suis fait un paquet illégal qui installe le firmware dans le bon dossier :

      http://jjorge.free.fr/packages/mandriva/abandonware/noarch/b(...)

      ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

    • [^] # Re: Firmware

      Posté par . Évalué à 1.

      Merci pour vos réponses, je doute un peu moins :)

      >De quelle documentation parles-tu? Celle de Broadcom? De Debian? Du pilote Linux?

      De la description des paquets debian broadcom-sta-* : si ces pilotes, contrairement à certains autres, n'incluent pas le firmware et nécessite donc des manipulations particulières pour fonctionner, cela ne serait pas absurde de le signaler dans le descriptif du package. En fait je me serais même attendu à trouver une dépendance faible ("suggest") sur fwcutter.

      En fait, je viens de me rendre compte que le README.Debian de broadcom-sta-source (driver proprio) signale précisément que l'installation de fwcutter est nécessaire LORSQU'ON UTILISE LE DRIVER LIBRE (b43 ; disponible a partir du noyau 2.6.32). A contrario j'imagine donc que le firmware n'est pas necessaire lorsqu'on utilise le driver proprio (il doit être inclus dedans), ce qui explique qu'ils ne soient mentionnés ni dans la description, ni dans les paquets suggérés. Malheureusement ce driver ne supporte pas ma carte.

      Apparemment, le support des cartes faibles puissance est la grande nouveauté dans le driver libre du noyau 2 6 32 : on dirait bien que je n'ai plus qu'à attendre la prochaine debian, en bénissant l'esprit facétieux des ingénieurs Broadcom : ils annoncent que BCM4312 est supporté par leur pilote linux, mais en vrai ils ont 15 chipsets différents et les appellent tous BCM4312, comme ça on a une chance sur deux, c'est plus fun. Sinistres abrutis...

      Enfin, l'un de vous veux tenter un pari sur la date de release de la prochaine Debian ? ;-)

      Merci encore

Suivre le flux des commentaires

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