Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Open Firmware Released For Broadcom Wireless

Posted by timothy on Sun Jan 11, 2009 06:48 AM
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."
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Cool (Score:3, Funny)

    by GFree678 (1363845) on Sunday January 11 2009, @07:06AM (#26406619)

    Does this mean Broadcom can finally stop acting like precious little bitches, resign themselves to the enviable and open-source their officials drivers so we can have complete support?

    Why must they insist on holding out? It's obvious that if they don't open source their drivers, someone else will. Might as well supply official drivers in that case.

    • Re: (Score:3, Informative)

      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.
      • Re:Cool (Score:4, Informative)

        by vally_manea (911530) on Sunday January 11 2009, @08:03AM (#26406815) Homepage
        This is not about the wifi drivers which AFAIK are open source but about the binary blob the drivers load on startup
      • Re:Cool (Score:5, Informative)

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

          • What distro are you using? I don't recall having to do any of that when doing the ndiswrapper workaround in ubuntu

            • Last time I installed a Broadcom driver in Ubuntu, the OS downloaded the driver and did the ndiswrapping for me.
              • I had to do the workaround manually in 8.04 -maybe it's changed in 8.10?-; you dodged my question what distro did you have to do all that manual setup in?

            • 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

          • What on earth?
            Its not even that fiddly on Gentoo.

      • Re: (Score:3, Informative)

        by Anonymous Coward

        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.

      • 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
  • ... no longer needing ndiswrapper, even if it's getting getting pretty easy [davidwatson.org] these days.
    • Firmware, not driver (Score:5, Informative)

      by klapaucjusz (1167407) on Sunday January 11 2009, @12:24PM (#26407953) Homepage

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

      • Broadcom, who provide their own binary driver for 2.4 kernels (wl.o).

        They also provide a closed driver for 2.6 kernels.

        • [Broadcom] also provide a closed driver for 2.6 kernels.

          I've heard there's one, but unlike the 2.4 version, it is not widely available.

          • Re: (Score:3, Informative)

            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.

            http://www.broadcom.com/support/802.11/linux_sta.php
            • I haven't had any problems getting it.

              I stand corrected. Sorry for the mis-information.

              • 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.
        • Solution: Modify BIOS hardware IDs, flash, install new network card. That is what I had to do and it works great. Now I have an Atheros ar5xxx and use madwifi drivers.

  • What kind of processor is used?

    It does not seem like ARM code what I assumed, no general purpose registers at all.

    Seems like some kind of memory only architecture.

    Can anyone more knowledgeable chip in? Seems very interesting to play with.

  • Usefull (Score:4, Interesting)

    by Casandro (751346) on Sunday January 11 2009, @07:30AM (#26406707)

    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.

    • 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. Or does it? It was certainly supposed to :)

        • 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. Or does it? It was certainly supposed to :)

          Have you any links to technical docs about that?

        • 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

      • Absolutely. You could also optimice the protocoll for many situations.

      • Re: (Score:3, Informative)

        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.
  • Quite incredible in this third millenium there are still companies trying to cling to MS-only products.

    Not so bad when it is a separately bought product but plain obnoxious when it's integrated into some other equipment like a laptop.

    So yeah, kudos to the developers.

    • by Detritus (11846) on Sunday January 11 2009, @07:57AM (#26406787) Homepage
      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

        • I hear you saying "We have 'closed source' hardware 'cause a bunch of unethical folks own fabrication facilities."

          Am I wrong here?

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

    • by SCHecklerX (229973) <slshdt@freefall.homeip.net> on Sunday January 11 2009, @12:14PM (#26407889) Homepage

      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 [aircrack-ng.org]
      http://www.google.com/products?q=intel+3945&btnG=Search+Products&show=dd [google.com]

      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.

  • Error in Title (Score:5, Informative)

    by kidde_valind (1060754) on Sunday January 11 2009, @07:47AM (#26406755)
    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.
    • Re: (Score:3, Informative)

      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.

  • by drinkypoo (153816) <martin.espinoza@gmail.com> on Sunday January 11 2009, @08:18AM (#26406861) Homepage Journal

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

  • You can go check out and download the firmware at the Italian Universita' Degli Studi Di Brescia

    Woulnd't that make it Fermi-ware?

  • 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?
    • <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

    • I think they do understand that. However, they also understand that "good enough" is better than "nothing", which makes me wonder why you are complaining.