Posted
by
timothyon Sunday January 11, 2009 @07:48AM
from the perverse-incentives-divine-results dept.

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."

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.

I'd say setting up wi-fi is fairly fiddly even if the drivers are working correctly. Visiting the correct IP address to enable "wireless", setting up security options including encryption keys, WPA passphrase, creating a wlan0 entry, and editing/etc/rc.d/rc.local to make sbin/iwconfig set up the channel, essid, key and "managed mode".

I am using Fedora Core 8 on a laptop with a Atheros AR5212/AR5213 Multiprotocol MAC/baseband processor. The drivers wrk perfectly.

First of all, the broadband router was not configured to enable wifi - that required some grokking of the installation manual to get the IP address, username and password to access the configuration menu, all on the same channel/frequency.

Then there was the configuration to follow various Security Tips [about.com].Regardless of my location, six or seven different wi-fi networks will show up

Fedora doesn't have a wireless network browser? It sounds like you're making this out to be more complicated than it really is; else you're a glutton for punishment who likes to do everything from the command line and refuses to do anything that can't be done from inside emacs. I checked the fedora howtos and its about 8 lines to install ndiswrapper in the console - about the same as ubuntu.

As someone else commented - not even Gentoo is that fiddly. On Ubuntu I just click on a network, enter the passphrase, and boom I'm connected, it even remembers passphrases for multiple networks. Gentoo is a bit more difficult but Gentoo is for hardcore nutcases like myself.:)

For one: If your router didn't have wireless enabled to begin with, that's not the fault of Linux. You would have had to do the same with a Windows machine.

As to the cracker - what you linked to is a brute force dictionary attack

Don't care about wifi? I used to be like that until I got out of the house and discovered wifi connectivity *everywhere*. Now, me and my iPod Touch (with wifi) are inseparable. My home network is 100% wifi....... No way back to a wired world. Moved on. Still connected - everywhere.

According to this [wifinetnews.com] they have to lock out access to certain frequencies and power levels in order to get FCC certification. If those lockouts are implemented in the firmware, that means closed firmware.

I have a laptop with an intel ipw2915abg. The driver and the firmware have some problems. The card supports hw encryption for example, but I can't really use it since it is unstable. The driver is working but the development is dead. I wish somebody took the time to reimplement it.
Btw how can I figure out what kind of arch the firmware runs on? (the wireless chips arch)

I'm not a wireless network chip designer, but this sounds like a poor excuse. Anyone thinking about their design would design it so that any FCC required variables would be handled separately from the device driver. After all, whether they are planning on open sourcing the drivers today or not, they certainly have known for for quite a long time that open sourcing the drivers is an option that they MIGHT choose in the future. If these chips were designed 10 years ago, I might understand not leaving yours

I'm not a wireless network chip designer, but this sounds like a poor excuse.

You prefer your binary blobs in firmware? Assuming you have any firmware, not just EEPROM, then the driver can probably override the transmit limitations anyway. If your suggestion is that they should make their chips immune to reverse engineering, I think you must not be a wireless network chip designer.

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 [jussieu.fr].

I haven't had any problems getting it. Ubuntu 8.10's restricted driver manager let me enable it pretty painlessly (Check the "Broadcom STA Driver" and reboot) and Broadcom has a download page where you can get it. I've compiled it manually once or twice for distributions which don't have packages yet.

Perfectly alright, it happens. You almost certainly would have been correct at one point and they only made the 2.6 driver available recently- I certainly had never heard of it before I checked the Ubuntu wiki for Macbook installation instructions after 8.10 was released.

This would be really useful if you wanted to develop a protocol for single long distsance point-to-point linke. I seem to remember Intel was developing something for use in developing countries with a special version of a wireless router but this gives you the source so has much more hack value.

the XO has a Marvell chip which implements a mesh-networking AP, so that the XO can act as a repeater even when the main power is turned off.

AFAIK, the Marvell chip has an on-board MIPS core and 64 kB of memory, so you can run whatever you can fit in 64 kB of MIPS code without CPU intervention.

Two firmwares are available, one that makes the chip act as a normal, softmac wifi chip, and one that implements parts of 802.11s in the chip -- IIRC, forwarding is done in the chip, but routing table management is done by the CPU.

The chip will not continue working when system power is off, but it will forward packets without waking the CPU. This mean

You mean like these guys:
http://tier.cs.berkeley.edu/wiki/Wireless [berkeley.edu] ?
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.

One does not need to hack a wireless card's firmware to screw up the 2.4GHz ISM band. There are many ways to spew RF at the correct frequencies. (every home in the nation has the one device needed to do it:-))

(In fact, I have 2 ancient Breezenet PCMCIA "802.11" cards right here that will quite happily stomp all over more modern 802.11b/g gear -- while still being fully functional.)

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.

Microsoft helped. They provided a means for hardware manufacturers to make drivers that are closed source (VxD files, sys files). Before that, everyone built their modules, programmed themselves from schematics, etc etc.

No it isn't Microsoft at all. The problem is with the "new globalization" we have a situation where if you build a prototype in the US it is 10x cheaper to manufacturer it in China. The China can make a copy of it, sometimes in the same factory, and ship it into the US. With no R&D expense to recoup, they can seriously undercut the original company which is then driven out of business.

One way to keep this from happening is you outsource the hardware but keep the firmware separate. And you have trick

Broadcom, like many other manufacturers in this field, claim that FCC regulations forbid them from allowing modifications to the radio controls, specifically the access to channels below 1 and above 11. (I say "claim" because the FCC doesn't really care, as Atheros has already shown.) Microsoft has nothing to do with it.

Also, really, if you're going to blame an evil corporation, perhaps Apple would be more appropriate, as they have a propensity for shipping Broadcom wireless devices.

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:

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 [wikipedia.org] is actually something else entirely.

There is no error in the title, because there is no trademark symbol appearing after "Open Firmware". Titles are always capitalized in proper English, and the word "Open" is applicable in this context. Slashdot editors don't and aren't, but this is not an example of one of their many obvious errors. There is a problem with your debug code. You have reported a parser bug as an input error.

What I really need is to be able to pitch over bcm43legacy for a driver which supports Master (AP) mode. It's really pathetic how many cards DON'T do this. I think you can hack 3945abg drivers to do it, but the ONLY reliable host is Atheros. (PC Engines sells Atheros-based Wistron MiniPCI for like $29...)

I have an old dell laptop, so old in fact it has a separate wireless card the connects in the PCMCIA slot. I've put different flavors of linux on it several different times, but the thing that always makes me go back to putting XP on it is the wireless.
Sure it loads up fine using ndiswrapper, and no it isn't tough to do, but for some reasons the settings never stick and only works until the laptop get shut down. The next time it's booted up you have have to go through the whole process again just to get w

That may be it. I followed turorials on how to get it loaded, but it seemed to not stay that way. I'm going to load linux on that old machine tonight and see if I get it to stick now. In reply to the other poster suggesting to buy a different card, all I can say is that this laptop is 6 years old it's not worth throwing another dollar at.
I only mess with Linux as a hobby on this machine as I don't need it from day to day.

<sarcasm>Yeah! Not to mention that they released the source code too! How do they think they're going to monetize something by releasing the source code so their competitors can see it?!?! When will those open source guys ever learn?

Note to open source developers: If you're going to release something, you need to wait until it's completely finished (as EmagGeek said) and not release the source code with it!</sarcasm>

(score -1: unfamiliar with the concept, but commenting on it authoritatively

Congratulations to the developers on getting this working, and a big thank you to all of them for all the hard work that has been put into this. I don't have any of these devices anymore, but I remember what a pain they were to get working back in the day. And, obviously, those are the models in next to every computer with Broadcom WLAN. Thanks again to the devlopers; this will make a lot of people happy.

I dropped another Ubuntu install on a family laptop this weekend. I'm just amazed at how far they've come in the last 5 years. I would have never considered putting Linux on a family PC 5 years ago. The driver support is outstanding, and I could say even better than Windows for the laptops I've put it on. I didn't even have to install wireless drivers on a Dell, two Viao's, and a Macbook Pro. The Sony's and the Mac all worked out of the box, and the Dell (a cheaper model) only required me to install some up

I've never had a fresh installation of Windows XP ( Professional and with SP2 rolled in ) provide drivers for on-board ethernet on multiple different motherboards ( never ever had a problem with Linux though ). Does Windows XP only support PCI ethernet cards out of the box?

They support wired Ethernet cards (integrated, PCI, etc). I've never seen them support a wireless card of any bus type for some reason. The wired cards tend to take a service pack or two before they show up as supported.

It's a shame that the final product was GPLed. A GPLed driver is compatible with Linux, but couldn't be used in other operating systems such as NetBSD, FreeBSD, and OpenBSD. How about releasing driver under a truly free license, such as the BSD license, which would make it usable by all operating systems? Or, if for some reason the authors won't consent to that, how about releasing the specs from which the driver was implemented?