[Berlin-wireless] freie Broadcom WLAN Treiber in der Entwicklung

Robert Schuster theBohemian
Fr Okt 28 13:22:17 CEST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



Fabian Melzow wrote:
> Hallo Robert!
> 
> On Thu, 27 Oct 2005 10:32:45 +0200
> Robert Schuster <theBohemian at gmx.net> wrote:
> 
> 
>>mit gro�em Aufwand werden derzeit freie Treiber für Broadcom (BCM) WLAN Karten
>>geschrieben[0].
> 
> 
> Super Sache!
> 
> 
>>Das besondere an dem Vorhaben, was auch der Grund ist, warum ich das hier
>>ausbreite, ist der besondere Aufwand den die Entwickler für die Erlangung freier
>>Treiber investieren.
> 
> 
> OK, machen wir hier mal einen kleinen Entwickler-Ausheul-Thread auf. ;-)
> Immerhin gibt es da noch wenigstens einen Binärtreiber für Linux und sogar freie
> Disassembler für MIPS.
> 
> 
>>Das Spezifikationsteam hat aber noch einen ganz dicken Brocken gestemmt: Bei der
>>Maschinensprache des proprietären Treibers handelt es sich um Anweisungen für
>>MIPS-Prozessoren. Diese sind im Vergleich zu Intel-x86 Anweisungen extrem
>>kleinschrittig: Kompiliert man einen Algorithmus für beide Maschinen, fallen in
>>der MIPS-Version deutlich mehr Anweisungen an. Für das Spezifikationsteam
>>bedeutet dies eine Erhöhung der Komplexität.
> 
> 
> OK, das ist dann mehr, aber ob es einfacher ist, als ein CISC-µC-Assembler mit
> dutzenden von Befehlen, darüber kann man streiten.
Meiner Meinung nach, kann man bei der Assemblerprogrammierung von CISC-Maschinen
 (zB x86) als Mensch immer noch mehr herausholen als ein Compiler. Ich denke da
zB an die ganzen handgemachten Optimierungen im MPlayer und diversen
Multimedia-Bibliotheken.

Bei RISC-Anweisungen (zB MIPS, Itanium) lässt man lieber einen Compiler ran, da
dieser die optimale Verwendung der Register mit AFAIK komplexen Algorithmen
bestimmt.

Ich schliesse daraus, dass zB. x86-Assemblercode leichter nachvollziehbar und in
ihre entsprechenden C-Konstrukte gewandelt werden kann.

> Weil, wenn man Pech hat,
> implementiert der Treiber gerade mal ein Subset der Gerätefunktionen und
> einen brauchbaren, also nicht Beta und mehr als 3 Funktionen implementiert,
> Linuxbinärtreiber gibt es gar nicht erst. Der Windowstreiber implementiert auch
> nur das nötigste, von den zahlreichen Bugs da mal ganz abgesehen.
> Wenn man den Entrypoint der Gerätefirmware mancher Geräte kennt, kann man sich
> ja eigentlich freuen, aber dann wird dir der Spaß dadurch versaut, das es für
> den M16C keinen Disassembler gibt (es gibt Windows-Entwicklertools die das
> wohl können sollen, aber um die Firmware, wenn denn, dort überhaupt lesen lassen
> zu können, muß man Klimmzüge machen, die mindestens genau so schwer sind,
> wie einen freien Disassembler dafür zu coden). :-(
Jupp, das sind in der Tat die unschönen Details des Reverse Engineering (von
denen ich selbst noch nichts wusste). Vielen Dank für die Erläuterung.

> Vielleicht lernen es die Firmen noch mal irgendwann, daß Zurückhalten der Specs
> ihnen eigentlich mehr schadet als nützt. Denn außer Umsatzeinbußen verhindert
> es nicht, daß das Hardwareinterface früher oder später öffentlich zugänglich
> ist.

Kein Specs: "Pfui!"

> Ja, um die Arbeit die da so drin steckt bewerten zu können, muß man das
> wahrscheinlich wirklich mal selbst gemacht/versucht haben. Ich hoffe mal
> es nichtn all zu langweilig und frustrierend, die Java-Klassenlib noch mal
> neu zu schrieben.
Nöp. Mir macht es sehr viel Spass[0]. :)
Neben der interessanten Programmiererei sind es vor allem die vielen
interessanten Menschen[1] in und um unser Projekt, die das ganze zu einem
Erlebnis machen lassen.

cu
Robert

[0] - https://www.fsfe.org/en/fellows/robertschuster/weblog/hacking_a_library_is_fun
[1] - planet.classpath.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFDYgnpG9cfwmwwEtoRAsmIAJ9qHftUxcvQD7kxykSbsghYu50TiQCfW9le
t5rOcftPE8KtHo0n7tH6ghE=
=qSeh
-----END PGP SIGNATURE-----

_______________________________________________
Berlin mailing list
Berlin at olsrexperiment.de
https://olsrexperiment.de/cgi-bin/mailman/listinfo/berlin





Mehr Informationen über die Mailingliste Berlin