La carte wifi 3945ABG est très commune dans les nouveaux portables Centrino Duo.
Dans le monde des distros GNU/Linux cette carte wifi "Intel PRO/Wireless 3945ABG" est déjà supportée.
Dans le monde OpenBSD cela va également être le cas puisque Damien Bergamini a ajouté son driver le 14 mai dans la branche de développement de ce qui deviendra OpenBSD 4.0.
On trouve sur le site KernelTrap un entretien avec lui qui explique les différences entre les deux drivers.
URL : http://kerneltrap.org/node/6650
Pour résumer le driver Linux fait 18000 lignes de codes et ce n'est en fait qu'une enveloppe (wrapper) autour d'un blob binaire. Selon Intel c'est une exigence des autorités de régulation étatsuniennes (la FCC) qui interdisent de tripoter une carte wifi pour pourrir les bandes de fréquences légales. La solution retenue est donc ce blob opaque qui tourne en espace noyau (ce qui est particulièrement dangereux).
Visiblement Intel profite également de cette exigence légale pour cacher sa précieuse propriété intellectuelle et éviter de dévoiler ses algorithmes d'autocalibration et de réglage dynamique des fréquences. Le blob, soit disant obligatoire, n'est en fait qu'une astuce pour ne pas jouer le jeu de la GPL.
Damien souligne également, outre la dangerosité du blob, que le driver Intel est très largement redondant avec la pile wifi générique de Linux et qu'il est inutilement complexe.
On trouve des phrases comme : "It is amazing how poorly this driver is designed" ou "a spectacular amount of complexity" ou encore "they duplicate large portions of code and implement things directly in the driver that should belong to the 802.11 stack".
Comme c'est Intel qui travaille beaucoup sur la pile wifi générique du noyau Linux, Damien pense que les développeurs ne peuvent pas se permettre de crier et de protester devant la piètre qualité du driver de la carte 3945ABG.
Par contraste le driver OpenBSD fait juste 3000 lignes de codes (1/6 du code Linux sans même compter le blob) et il ne comprends aucun binaire opaque !
Pour être juste soulignons néanmoins que le driver OpenBSD n'est pas encore complet.
En ce qui concerne les exigences légales de la FCC elles sont satisfaites par le respect des canaux présents dans la ROM du firmware. Bien entendu on peut tricher en modifiant directement le code source mais on peut également abuser le blob Linux : "But it's not different with Intel's binary only daemon as you can easily fool it into thinking it is in another regulatory domain by just lying about the EEPROM content."
(Ce qui démontre bien que le blob n'est pas nécessaire).
PS : lors de l'annonce de l'écriture du driver sur le site Undeadly Damien, pour inciter à la relecture et à l'audit de son code, a trouvé une solution originale : I encourage everyone to go and read the code. The first one who find a reference to a very popular TV show in the source code wins a cookie.
L'URL : http://undeadly.org/cgi?action=article&sid=2006051519110(...)
Il semble (au vu des commentaires qui suivent la news) que Daniel Hartmeier soit l'heureux vainqueur mais j'aimerais bien qu'un volontaire m'explique la référence à l'épisode TV en question.
# Petite question...
Posté par François Obada . Évalué à 4.
[^] # Re: Petite question...
Posté par Psychofox (Mastodon) . Évalué à 4.
[^] # Re: Petite question...
Posté par herodiade . Évalué à 10.
Si tu veut tout savoir sur le support du matériel sur x86, regarde ici:
http://www.openbsd.org/i386.html (et http://www.openbsd.org/macppc.html pour les macs).
Commentaire au sujet du journal: le driver Linux n'utlise pas exactement un « blob opaque qui tourne en espace noyau ». Mais ce driver Linux dépend d'un daemon close source et propriétaire qui tourne en root (et qui cause avec le driver, donc le noyau). Ça, c'était une grande innovation délirante d'Intel, qui avait beaucoup fait jaser, cf. http://kerneltrap.org/node/6270 .
Bref, ce qu'explique Damien Bergamini, c'est que son driver de 3000 lignes fonctionne sans ce daemon propriétaire, qui est nécéssaire au driver Linux (écrit par Intel).
De plus, pour être très précis, on ne peut pas vraiment dire que le driver OpenBSD, pour fonctionner, n'utilise « aucun binaire opaque »: il reste le firmware (binaire, closed source) de la carte à charger à l'intialisation. Mais il est vrai que le firmware ne tourne pas dans le noyau (ni même en userland), il est seulement chargé dans la carte wifi puis exécuté par celle-ci.
La performance de Damien est assez somptueuse, lorsqu'on sait qu'Intel ne lui a pas donné de doc, et qu'il a fait son driver en reverse engeneerant le driver Linux, en trouvant moyen de le réduire au 1/6em en nombre de lignes, de virer la dépendance au daemon root propriétaire, tout ceci en seulement 2 mois après qu'Intel ai publié le driver Linux.
Ce n'est pas le coup d'essai de Damien, il a aussi oeuvré pour les drivers OpenBSD des autres chipsets Wifi Intel, là aussi en reverse engeneerant le driver Linux et en trouvant moyen de le rendre beaucoup plus petit et lisible.
On peut aussi citer son admirable travail pour les chipsets Wifi Ralink (société qui, elle, donne les docs et des firmwares redistribuables): en quelques mois son driver marchait mieux que le driver Linux fournis par Ralink (par comparaison, le projet http://rt2x00.serialmonkey.com de réécriture de ce driver sous Linux patauge depuis presque deux ans sans résultat probant, ce qui montre que ce n'est pas facile).
Sur le lien kerneltrap que je donne ci-dessus, vous pourrez remarquer combien le developpeur kernel Linux Christoph Hellwig a vu juste (et Alan Cox a vu faux), lorsqu'il dit: « If intel doesn't do the right thing support for their hardware will have to wait until someone has reverse-engineered their daemon » !
[^] # Re: Petite question...
Posté par patrick_g (site web personnel) . Évalué à 9.
C'est vrai que le boulot qui est fait dans OpenBSD pour supporter le matos avec du code propre et libre est vraiment admirable.
C'est quand même un peu étonnant de constater que de nombreux devs Linux ne se préoccupent pas plus des idéaux du logiciel libre. Il ne faut pas oublier que, même si on n'est pas idéologue et qu'on ne se sent pas concerné par les querelles de GPLvsBSDvsProprio, le logiciel libre procure des avantages techniques indéniables. La sécurité et la relecture du code étant les plus évidents.
Vous qui êtes des paranos sur la sécurité et qui cryptez vos mails et vos partitions, si vous utilisez le driver Intel wifi tout cela ne sert à rien car vous avez, comme l'indique Herodiade, un démon root closed source qui tourne en tache de fond. Qui vous assure de son innocuité ?
[^] # Re: Petite question...
Posté par M . Évalué à 5.
La version intégré dans le noyau 2.6 depuis quelques temps se basse d'ailleur sur son implementation :(
C'est ca que je trouve bien chez openbsd, c'est qu'il font du code propre simple quitte a ne pas supporte toute les features possibles. De plus le nombre de developpeurs etant assez reduit, il y a une grande homogeneite.
Linux c'est plus l'anarchie...
PS : openbsd etait aussi les premiers a faire une version du pilote wifi atheros blob free...
[^] # Re: Petite question...
Posté par patrick_g (site web personnel) . Évalué à 1.
En même temps il faut être conscient que Linux possède bien plus de fonctions qu'OpenBSD qui reste un OS assez spécialisé.
Des clusters, des super-ordinateurs...etc ça existe en linux mais pas en OpenBSD. C'est normal qu'avec une telle magnitude de fonctions le développement soit moins focalisé.
[^] # Re: Petite question...
Posté par kowalsky . Évalué à 4.
Je suis sceptique. Tout est faisable avec les BSD, pareil qu'avec Linux quoi...
J'ai jamais entendu parler de cluster OpenBSD, mais NetBSD et FreeBSD oui, donc
ça dois etre faisable...
[^] # Re: Petite question...
Posté par patrick_g (site web personnel) . Évalué à 2.
C'est hallucinant de voir le nombre de choses qui sont dispos dans le kernel.
Va voir cette news que j'avais posté à l'époque : http://linuxfr.org/2005/07/28/19364.html
Il est indéniable que Linux est beaucoup plus complet que les autres BSD.
[^] # Re: Petite question...
Posté par kowalsky . Évalué à 5.
Redis le si tu es homme...! :)
Plus serieusement, je ne suis pas expert, et tu es surement plus competent que moi
mais je pense que pour les super ordinateurs, et pour plein de chose, c'est surtout
que beaucoup de gens travail sur Linux, sont expert Linux, etc, donc Linux
deviens un choix par defaut pour beaucoup de chose.
C'est bien d'ailleurs, mais bon, je pense pas que Linux sois "mieux" qu'un BSD
pour realiser des choses "exotique", juste que plus de gens s'en servent pour ça.
Et pis NetBSD et FreeBSD detiennent de beau records quand même...
[^] # Re: Petite question...
Posté par M . Évalué à 5.
Mouais, rien qu'au niveau des familles de pilote (ethernet, wifi, video, ...) c'est pas tres uniforme.
Des clusters, des super-ordinateurs...etc ça existe en linux mais pas en OpenBSD.
Il me semble que certains bsd tourne sur plus d'archi que Linux...
Pour les clusters : http://www.freebsd.org/fr/advocacy/myths.html#clustering
Mais je ne connais pas assez les bsd pour savoir ou se place openbsd la dedans.
[^] # Re: Petite question...
Posté par Mathias Bavay (site web personnel) . Évalué à 1.
Enfin ceci n'excuse pas le driver pour une carte wifi, driver qui doit quand meme etre assez isole des problemes dont on parle... (on n'en est plus dans les problemes de gestion des processus, gestion memoire, proximite, ...)
Mathias
# Episode TV
Posté par rangzen (site web personnel) . Évalué à 1.
LOST saison 2
Dans la saison 2 de Lost, il trouve un bunker ou il faut rentrer un code toute les 108 minutes et presser la touche "Execute" sur une veille antiquité d'ordinateur :)
[^] # Re: Episode TV
Posté par Elghinn . Évalué à 1.
# stack ieee80211
Posté par herodiade . Évalué à 3.
Je crois qu'il y a eu un journal ou une dépeche à ce sujet, mais de nombreux developpeurs wifi sous Linux semblent plebisciter le framework wifi alternatif de Devicescape, qui vient d'être totalement libéré.
Il était question d'intégrer cette pile Deviscape -pour le mieux être de chacun- dans le kernel standard, modulo quelques améliorations dans le code actuel: quelqu'un a des nouvelles ? est-ce toujours d'actualité ?
[^] # Re: stack ieee80211
Posté par patrick_g (site web personnel) . Évalué à 5.
http://lwn.net/Articles/179305/
# Pfiou
Posté par Romeo . Évalué à 3.
# Hmmm...
Posté par Guillaume Ceccarelli . Évalué à 5.
Si ça se fait, c'est intel qui risque de faire la tête, mais pour le coup je crois qu'ils l'auront bien cherché. Reste plus qu'à espérer qu'ils ne vont pas continuer dans leur optique d'obscurantisme en faisant encore plus fort qu'un démon proprio au prochain matos qu'ils mettront sur le marché...
# Petite question
Posté par Romeo . Évalué à 5.
[^] # Re: Petite question
Posté par patrick_g (site web personnel) . Évalué à 4.
Pour la france je sais pas trop mais j'ai lu que l'armée avait rechigné au début du wifi car cela recouvrait certaines de leurs fréquences.
[^] # Re: Petite question
Posté par bertrand . Évalué à 3.
elle positionnait une station mobile sur un point haut, écoutait les bandes de fréquences réservées et à chaque détection d'un émetteur non autorisé, la station émettait quelques kilowatts focalisé sur l'émetteur.
Comme avec chaque émetteur radio il y a généralement un récepteur et que celui ci est conçu pour recevoir quelques milliwatts, le résultat était immédiat, récepteur grillé ; et son proprio le remplaçait par un autre équipement peut être aux normes.
Pour le wifi je ne sais pas ce qu'ils font !
[^] # Re: Petite question
Posté par inico (site web personnel) . Évalué à 3.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.