Open Firmware Released For Broadcom Wireless
mcgrof writes "Linux developers have announced the release of a reverse-engineered open source firmware for Broadcom 4306 and 4318 wireless hardware, licensed under the GPLv2. 'Although the base firmware is not fully 802.11 compliant, e.g., it does not support RTS/CTS procedure or QoS, we believe that someone could be interested in testing it. The firmware does not require the kernel to be modified and it uses the same shared memory layout and global registers usage of the original stuff from broadcom to ease loading by the b43 driver.' You can go check out and download the firmware at the Italian Universita' Degli Studi Di Brescia Open FirmWare for WiFi networks project page. This is a good example of clean room reverse engineering design where one group worked on specifications while another worked on the the driver and the firmware. Kudos to the specification writers and bcm43xx development team for their hard work."
Obviously you can now implement all kinds of things in there. For example you could implement a simple wireless mesh router which would still work when your computer is in standby.
When I first read the headline, I thought "Why on earth would anyone want to run Open Firmware on a wireless chipset" - because you know, Open Firmware is actually something else entirely.
Is this really fair? Broadcom releases at least their ethernet drivers for Linux and Solaris as opensource. I expected that they do the same with they wifi drivers, but I don't really care about wifi.
It isn't Microsoft's fault. I've gotten used to the institutional paranoia that is rampant in the today's electronics industry. Everything is a trade secret. Schematics, if available, are mostly useless. When the product's functionality is hidden inside FPGAs and microcontrollers with proprietary firmware, you're screwed. In the old days, they used standard parts and you could learn something by reading the schematics, which were included with the product.
Mea navis aericumbens anguillis abundat
This is not about the wifi drivers which AFAIK are open source but about the binary blob the drivers load on startup
I wouldn't care much either but a large percentage of laptops (my dell laptop for example) use broadcom wifi hardware and to get it to work I had to dig down to the console to implement a fix in ubuntu. Seeing as how more than 50% of consumer computers this year were laptops, this solves a very annoying issue for something like 60% of all non-thinkpad linux-laptop users.
moox. for a new generation.
It's easier to moan on slashdot ..
https://launchpad.net/auto-ndiswrapper
davecb5620@gmail.com
Intel also has to work under those restrictions, and their drivers/firmware are not nearly as shitty. Also, the driver is at least open source.
See: iwlwifi.
It wasn't always this way, of course. ipw3945 and friends were asstastic.
Yup. Luckily my new dell laptop allowed me to swap out the broadcom stuff that came with it for an intel wireless card instead. $20. Works flawlessly, even with kismet. Bonus, can run managed and monitor mode at the same time:
http://www.aircrack-ng.org/doku.php?id=iwl3945
http://www.google.com/products?q=intel+3945&btnG=Search+Products&show=dd
So, for the hassle, I'd rather have a card that is properly supported, and companies *other* than broadcom will continue to get my money.
... no longer needing ndiswrapper
You're confused. There already are reverse engineered drivers for Broadcom chips, and they are included in the Linux kernel tree, no less (b43 and b43legacy). These drivers were not developed by Broadcom, who provide their own binary driver for 2.4 kernels (wl.o).
This is about the firmware -- the binary blob that is loaded into the chip's embedded CPU, and with which the drivers, whether binary or opensource, need to interact.
I, for one, welcome open source firmware, and am looking forward to using the firmware's idea of link quality in my mesh networking experiments.
Typically, it's MIPS32 R4000 architecture.
To be entirely pedantic, it's usually a MIPS32 4k core, which is derived from the old R4000 chip.