Support des chipsets bcm-43xx

Posté par (page perso) . Modéré par Florent Zara.
Tags : aucun
0
6
déc.
2005
Matériel
La première version fonctionnelle des pilotes libres pour les chipsets Wireless Broadcom bcm-43xx vient de sortir. Ce chipset équipe notamment une grande partie des carte Wireless 802.11g du marché (dont l'AirPort Extreme des machines Apple).

Si sur un PC Linux il est possible d'utiliser NDISWrapper pour charger les pilotes Windows, aucune solution concrète n'existait sous Linux sur Mac (hormis de passer par MOL).

Ces pilotes ont été créés en plusieurs étapes.
  • Première étape, rétro-ingénierie des pilotes binaires écrits pour Linux disponibles dans un access point Wireless de Linksys.
  • Suite à cela, une documentation complète a été écrite. De cette documentation, les pilotes sont nés.
Ceci permet de garantir qu'aucun bout de code présent dans les pilotes libres n'est issu du pilote propriétaire original. Voici le message d'un des développeurs du driver libre:

Hi,

I am a developer of the Broadcom-43xx driver project. (The 43xx chipset is used in a lot of chipsets, including the Apple Airport 2 card).

I am writing this mail on my PowerBook and it is sent wireless to my AP. That means, we can transmit real data, if you did not get it, yet. :)

That does _not_ mean, that it completely works, yet. The team is in the progress of writing a SoftwareMAC layer, which is needed for the bcm device. The SoftMAC is still very incomplete. So do not expect to do any fancy stuff like WPA or something line that with it.
Please be patient, thanks. :)

If you want to try the driver, a few steps have to be done manually, because the SoftMAC doesn't do them automatically, yet:

insmod ieee80211softmac.ko
insmod bcm430x.ko
ifup ethX
iwconfig ethX channel YOUR_AP_CHANNEL
iwconfig ethX essid ESSID_OF_YOUR_AP
In between you should pray from time to time.

If it works without crashes, cool. :)
If it crashes, well, fix it or send us a complete OOPS message including detailed information about the device. Most information about the device is printed on insmod. Including this information is _important_, because there are so many different devices around.

Do _not_ expect to get any 802.11a based device working, yet. Only b/g devices should "work".

BCM43xx driver:
http://bcm43xx.berlios.de
Required SoftMAC Layer:
http://softmac.sipsolutions.net

Have fun.

Aller plus loin

  • # c'est tout bon

    Posté par . Évalué à 4.

    c'est tout bon pour le projet OpenWrt si je ne me trompe pas, qui utilise pour plateforme cible du matériel Linksys avec des puce Broadcom (BCM4320, sur les version 2.2).

    • [^] # Re: c'est tout bon

      Posté par . Évalué à 3.

      Oui, sauf que y a encore les drivers ethernet qui sont plus ou moins proprio si je me souviens bien, ainsi que quelques autres trucs...
  • # petition insuffisante, reverse-engeneering virtuose

    Posté par . Évalué à 10.

    Il existe une petition pour obtenir de Broadcom un driver Linux : http://www.petitiononline.com/BCM4301/
    La forme de la pétition est -légèrement- contestable: un « driver Linux » n'est pas suffisant, s'il est binaire seulement, ou pas modifiable, ou i386 seulement, ou pas légalement redistribuable, ou pas portable sur les kernels 2.6, ou pas accomapgné de docs pour les corrections de bugs et l'implementation sur les autres OS libres, etc... ; d'ailleur il existe déjà un driver : celui récupéré dans les WRT54G et retro-engeneeré. Sans parler du driver win + ndiswrapper.

    Il aurait été préférable que la petition réclame clairement et uniquement des specs complètes (au moins, ça serait profitable aux *BSD aussi, et ça permettrai à la communauté de debugguer le driver), mais le boulot de rétro-ingénierie des pilotes binaires Linux a visiblement atteint cet objectif sans l'aide de Broadcom.
    Bravissimo ! et honte à Broadcom !

    Maintenant, une question subsidiaire: ces périphériques necessitent-ils le chargement à chaud d'un firmware ? si oui, le firmware est-il librement redistribuable (sinon libre et opensource) ?
    • [^] # Re: petition insuffisante, reverse-engeneering virtuose

      Posté par . Évalué à 6.

      Pour le problème du firmware: non, et les développeurs ont imaginé à ce sujet une solution relativement sympathique.
      Depuis le commencement, est inclus dans le "bundle" de ce driver libre un soft appelé fwcutter. Celui-ci prend en entrée un driver binaire connu (windows, macos, linux...) et en extrait le firmware. Ainsi, et puisque le matériel est toujours livré avec le driver, il n'est pas nécessaire de distribuer de driver libre. Bien sûr, ce n'est pas idéal, mais c'est une solution qui, jusqu'à présent, a parfaitement suffit.
      Cela dit, notons que le projet http://prism54.org , qui s'est chargé du développement d'un driver pour les chipsets prism 802.11a/b/g (fullmac en leur temps, puis softmac) développent un firmware libre pour ceux-ci. On peut imaginer qu'il viendra l'envie un jour à des développeurs en mal de projet bas niveau de faire de même pour les puces broadcom.
  • # Méthode d'ingénierie inverse (ou rétroingénierie)

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

    Si j'ai bien tout compris, le travail s'est fait en 2 temps, avec 2 équipes différentes, qui normalement ne se sont pas parlés (sur tout ce qui est technique j'entends) selon la méthode qu'ils appellent "Clean Room Design" (traduction?) ou "chinese wall" (mur chinois).
    La première équipe est partie du module binaire du noyau Linux pour plateforme MIPS puisque Broadcom fournissait celui-ci pour les points d'accès WiFi comme le célèbre Linksys WRT54G (processeur MIPS donc), et a écrit la documentation du chip.
    Ensuite, une autre équipe a pu lire la documentation fournie par la première équipe et implémenter le driver Libre.
  • # Utile pour le WRT54GL ?

    Posté par . Évalué à 2.

    Ça tombe assez bien pour Linksys, qui vient d'annoncer un WRT54G spécial « bidouilleurs Linux »: http://linuxdevices.com/news/NS4729641740.html

    Je ne sait pas si ce modèle (la version 'L' des WRT54G) intègre lui aussi un chipset Broadcom, mais on peut regretter que Linksys (comme Apple, d'ailleur) n'ai pas fait pression sur Broadcom pour qu'ils nous filent des specs... la sortie du WRT54GL, bien que louable en soi, révèle un linksys plutôt opportuniste.
  • # La loi?

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

    Voila je vous savoir si le (la?) "rétro-ingénierie" n'est pas considérer comme du piratage ou un truc du genre?

    Ca peux être considérer comme du "vol" ?

    Enfin, si des expert sont la pour répondre ca pourrait être intéréssant ;)

    (La technique du "rétro-ingénierie" est elle utiliser pour écrire tout les driver de matos non documenté?)

    Merci ;)
    • [^] # Re: La loi?

      Posté par . Évalué à 9.

      Au dernière nouvelles, c'est légal partout en Europe si c'est fait à des fins d'interopérabilité (ce qui est clairement le cas ici).
      • [^] # Re: La loi?

        Posté par . Évalué à 7.

        et si c'est fait a partir d'un binaire obtenu legalement (cf l'affaire de l'anti virus (viguard?) dont j'ai oublie le nom des protagonistes (guillermito? ma memoire me joue des tours).
      • [^] # Re: La loi?

        Posté par . Évalué à 4.

        Au vu du resultat de la retro ingenierie, imaginer le resultat que pourait avoir la livraison des specs par le constructeur...
  • # Bravo et merci !

    Posté par . Évalué à 5.

    Bravo pour le boulot, je trouve ça très interessant ce genre de projets, je me demande tjs comment "ils" font, je ne pense pas avoir les compétences (et la patience) pour ce genre de chose. Heureusement certains ont tout ça !! :p

    Possédant un iBook G4 que j'utilise essentiellement en wifi, la non dispo d'un driver sous linux de ma carte était le seul élément qui ne me permettait pas de switcher.. maintenant, nous n'avons plus d'excuses !
    • [^] # Re: Bravo et merci !

      Posté par . Évalué à 4.

      Tu pouvais acheter un dongle usb wifi si vraiment le manque de wifi t'empêchait de switcher ;)
      • [^] # Re: Bravo et merci !

        Posté par . Évalué à 2.

        exact mais j'avais plus de sous après avoir cassé ma tirelire :D

        et les dongles USB, j'aime pas trop ça :/
  • # hostap?

    Posté par . Évalué à 2.

    C'est sympa mais ont-ils prévu le mode master ? C'est une des limitations de ndiswrapper qui est assez embêtante.
    • [^] # Re: hostap?

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

      Théoriquement, il est possible de tout faire. Cependant, ça demande du temps pour développer la fonctionnalité. Pour l'instant le support est sommaire et la mise en place pas forcemment évidente.

      Je pense que dans un premier temps, les développeurs vont mettre l'accent sur la "facilité" d'installation du driver (voir l'intégration au kernel), puis ensuite, les fonctions de cryptage avancées (WPA, peut-être). C'est seulement ensuite qu'ils metterons en place les fonctions "geek" comme le mode master, peut-être le mode furtif pour l'écoute, le mode injection etc...
      • [^] # Re: hostap?

        Posté par . Évalué à 3.

        Y'a pas mal de fonctions comme la sécurité qui ne sont en réalité pas réalisées par le hardware (cf. la réponse à mon commentaire plus haut sur fullmac vs. softmac) et qui sont déjà codées par diverses personnes, dans diverses "piles" (stacks) 802.11. En l'occurence, les puces broadcom sont des puces softmac, donc c'est la cas, et l'équipe, bien qu'elle préfère pour l'instant étendre les fonctionnalités de la pile (relativement élémentaire apparemment) déjà contenue dans le noyau, y réfléchit. Cela dit, ça discute sec sur la ML de dev, car certains voudraient justement que les devs en changent. Enfin bref, si ça vous intéresse, les archives de la ML sont ouvertes.
        Tout ça pour dire que ce sera probablement plus dur de coder le mode master que la partie sécurité.
        Enfin, attention, je suis pas développeur du bouzin hein, je suis juste la ML de très près...
  • # C'est tout bon pour Broadcom ...

    Posté par . Évalué à 7.

    Je me réjouis de cette nouvelle, mais d'un côté cela ne va pas inciter les constructeurs à faire d'effort : Broadcom est toujours gagnant...

    Je m'explique : j'ai un iBook sans carte Wifi Airport Extreme, car acheté à l'époque où c'était encore en option, assez cher (alors que tous les PCs de l'époque étaient livrés d'office avec le Wifi, merci Apple, mais passons). J'ai toujours résisté à en acheter une à cause du problème du driver fermé, et aussi il faut l'avouer, parce que j'en avais pas particulièrement besoin (lire : je me démerdais autrement).

    Aujourd'hui, le besoin s'en fait de plus en plus ressentir, et cette nouvelle me fait penser que d'un côté, je peux maintenant en acheter une "sans remord" (même si elle reste particulièrement chère par rapport aux autres). Mais alors, Broadcom aura gagné un client de plus sans faire aucun effort envers le libre. Ce sera pareil pour tous les nouveaux acheteurs de Macs (et autres bécanes à base de broadcom) qui se diront maintenant "on a un driver libre, c'est cool" (OK je parle pas de n'importe quel acheteur, mais un acheteur qui essaye d'être en accord avec les principes du libre. Oui ça fait pas beaucoup de monde, mais quand même)

    Il est aussi intéressant de constater que en ce qui concerne les drivers de cartes graphiques, on a pas le même problème : tout le monde a l'air de se satisfaire des drivers binaires de NVidia & ATI. Pourtant il ya exactement le même problème : moi qui ait un Linux PPC, je peux aller me gratter pour avoir l'accélération 3D (je parle d'une accélération potable, oui je sais qu'elle est déjà à moitié implantée). Mais pourtant les gens se bougent beaucoup moins que pour les drivers wifi, qui pourtant posent les mêmes problèmes : d'une part idéologiques, et d'autre part, si on utilise ndiswrapper, la stabilité (ma copine a un centrino avec une puce broadcom, je vous parle pas de l'instabilité avec ndiswrapper) et les "features" (AP, ...). On va me répondre qu'un driver OpenGL c'est pas le même niveau de compétences qu'un driver wifi, mais je répondrai qu'un OS aussi complet et performant que linux peut-il être développé par des gens si peu compétant, alors même qu'il a écrasé la majorité des Unix proprio ?

    Ceux qui me disent : "t'as qu'a t'y mettre" auront tout a fait raison :-) Mais cela fait peu de temps que je suis passé à ma Ubuntu PPC, ayant utilisé MacOS X pendant un peu plus d'un an et demi, je m'étais réhabitué à un OS proprio (mes des applis libres !). Mais aux vues de la politique d'Apple concernant son nouvel OS (de plus en plus d'applis sont faites pour Tiger, je n'ai que Panther => veuillez passer par la case Apple et débourser 129¤), et après de multiples crash disque sur 3 Macs différents dont le mien, tous ayant moins de 2 ans (j'avais conseillé d'acheter un Mac à plusieurs potes), j'essaye de me remettre franchement à Linux et au 100% libre, même pour les drivers.

    Bon, désolé de m'être un peu écarté du sujet sur la fin, et bon courage quand même à tous ceux qui bossent sur ce driver libre !
  • # Et je peux confirmer

    Posté par . Évalué à 3.

    Ça marche très bien.

    Evidemment y'a pas encore tout, mais ça marche suffisament pour arriver à faire les opérations courantes. Le dhcp marche pas tout le temps, je sais pas pourquoi, mais sinon tout se passe bien.
    • [^] # Re: Et je peux confirmer

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

      Merci de nous communiquer ton expérience. Quelques questions tout de même :
      - quelle distribution utilises-tu ?
      - j'ai bien compris que le WPA n'est pas (encore) supporté. Qu'en est il du WEP ? Tu as testé avec ou sans cryptage ?
      • [^] # Re: Et je peux confirmer

        Posté par . Évalué à 2.

        Puisqu'on te dis que la stack est tres basique...ne t'attends pas a avoir du WEP.

        Sinon ca me parrait etrange que la puce broacom ne sache rien faire au niveau hard, vu qu'elle utiliser dans des platformes embarqué qui n'ont pas beaucoup de resource...
      • [^] # Re: Et je peux confirmer

        Posté par . Évalué à 1.

        Je suis en debian sid ppc. J'utilise un noyau vanilla 2.6.15-rc5, le tout sur un powerbook 15" (version juin 2005)

        J'ai pas encore testé wep/wpa, vu que je n'en ai pas à disposition, mais effectivement il me semble que ce n'est pas encore supporté.
    • [^] # Re: Et je peux confirmer

      Posté par . Évalué à 2.

      Pareil pour moi. Ca marche très bien.

      Mais j'ai un petit problème. Si je fais "ifdown eth1" la machine plante,. La solution que j'ai trouvé est d'abord faire un "modprobe -r bcm43xx", ensuite "ifdown eth1".
      As-tu rencontré ce problème ?
  • # Pour ce qui est de la coopération du Broadcom

    Posté par . Évalué à 5.

    Je pense que le constructeur voit SON intérêt.

    Ne pas donner les spécifications, même si cela évite de faire
    le boulot parce que des « bonnes poires » vont le faire, cela
    veut aussi dire qu'entre temps, on ne vend pas de cartes à
    ces clients potentiels. Or le coeur du problème, c'est le client.

    Si les autres contructeurs de puces Wifi ont coopéré, c'est,
    je pense, pour cela : vendre plus pour un coût réduit.

    Dans le cas présent, cela ne m'étonnerai qu'à motié que
    dans le contrat qui lie Apple à Broadcom, il soit précisé que
    Broadcom s'engage à n'aider les acteurs du libre en aucune
    façon car (cf un post ci-dessus) Apple considère que linux est
    un concurrent sérieux et il n'a pas envie qu'on puisse installer
    linux trop facilement sur ses machines.

    Dans ces conditions, Broadcom a du faire un choix : vaut-il
    mieux se fermer à MacOS ou à Linux ? La réponse me paraît
    claire.
  • # Carte Wifi Free

    Posté par . Évalué à 1.

    Pour l'anecdote, les utilisateurs de freebox se sont vu fournir (s'ils l'ont command&eacue;) une carte wifi PCMCIA. Sachez que celle-ci fonctionne sur un chipset (à ce jour) de type BCM-43xx ...

    un sincère "Merci" les gars ;) .

    PS : je ne sais pas si c'est normal, mais j'ai pu commander 2 cartes wifi PCMCIA free, donc j'en ai une sur freebox et une sur un vieil armada 233MHz avec du ndiswrapper ( pour le moment ;p )
    • [^] # Re: Carte Wifi Free

      Posté par . Évalué à 2.

      Pas la mienne.
      Je l'ai prise il y a un an, c'est une Prism 2 10 Mb/s et elle est reconnue par orinoco trucmuche (je l'ai pas sous le coude pour vérifier).
      • [^] # Re: Carte Wifi Free

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

        +1, j'ai une des premiere generation de carte pour Freebox, Prism2, reconnu comme Tekram AIR.mate PCF 200, et qui a chargé orinoco_cs comme module.
        Et elle me depanne bien, car j'ai un chipset interne Prism JAvelinPrism Xbow ISL 3886 que je n'ai jamais pu faire fonctionner, et je suis loin d'etre le seul (alors que le chip de mon ancien lap a base de Prism54 fonctionnait nickel :-(
        En revanche sur la Prism 2 avec orinoco_cs, j'ai des soucis avec le WPA, pas moyen de crypter autre qu'en WEP :-(

Suivre le flux des commentaires

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