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."
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.
According to the specs PDF, it's a MIPS32 core.
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.
This is not about the wifi drivers which AFAIK are open source but about the binary blob the drivers load on startup
Or if you had an bcm43xx that is not supported by the bcm43xx driver, eg the bcm4328 in my laptop.
It registers as both a pci device:
$ lcpsi | grep 4328
03:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)
and USB
$ lsusb || grep WLAN
Bus 001 Device 030: ID 03f0:171d Hewlett-Packard Wireless (Bluetooth + WLAN) Interface [Integrated Module]
I tried replacing it with an other mini pcie card but that won't get recognized on the bus (and HPs helpdesk doesn't actually try to help you in anyway (not even telling you if it actually is a standard mini pcie slot))
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.
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.
... 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.
You mean like these guys: http://tier.cs.berkeley.edu/wiki/Wireless ? In this project, we address the following question: What are the link- and MAC-layer modifications essential to achieve good transport performance in multi-hop WiLD networks? In addressing this problem, an important constraint is that any solution should continue to leverage existing 802.11 hardware to preserve the cost savings.
Charles Wyble System Engineer