Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Wireless Networking GNU is Not Unix Software Hardware Linux

Open Firmware Released For Broadcom Wireless 95

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."
This discussion has been archived. No new comments can be posted.

Open Firmware Released For Broadcom Wireless

Comments Filter:
  • 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)

      by lukas.mach ( 999732 )
      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)

        by Hadlock ( 143607 ) on Sunday January 11, 2009 @09:46AM (#26407207) Homepage Journal

        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.

        • by mikael ( 484 )

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

          • by Hadlock ( 143607 )

            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.
              • by Hadlock ( 143607 )

                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?

            • by mikael ( 484 )

              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

              • by Hadlock ( 143607 )

                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.

              • by Andy Dodd ( 701 )

                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

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

      • 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.
    • by nywles ( 1132947 )
      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.
      • 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 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)
        • by cjb658 ( 1235986 )

          IIRC, the Broadcom drivers in Linux are based on Intel's. Only the firmware is proprietary.

      • by Belial6 ( 794905 )
        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.

  • I for one welcome... (Score:2, Interesting)

    by unixan ( 800014 )
    ... 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.
  • 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.

    • Point-to-Point (Score:3, Interesting)

      by msgmonkey ( 599753 )

      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

        • Finally, the docs mention always-on for the repeater mode, there is nothing in the documentation that hints at a repeater mode with the main power turned off.

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

      • Re: (Score:3, Informative)

        by charlesnw ( 843045 )
        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.
      • by Tatsh ( 893946 )

        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.

      • by cdrguru ( 88047 )

        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 ) <greg@gksnetworks.com> 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)

      by drinkypoo ( 153816 )

      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 ) <drink@hyperlogos.org> 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...)

  • 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
    • by orkysoft ( 93727 )

      Why don't you write a script to do all that stuff each time?

      • by rs232 ( 849320 ) on Sunday January 11, 2009 @10:52AM (#26407457)

        It's easier to moan on slashdot ..

        https://launchpad.net/auto-ndiswrapper [launchpad.net]

        • It's easier to moan on slashdot ..

          https://launchpad.net/auto-ndiswrapper [launchpad.net]

          I'll try what you posted and see if it works for me. Thanks for the link. I guess valuing my time is considered moaning on slashdot, go figure.

          • Are you sure your problem isn't just because the ndiswrapper isn't properly loaded each time. I had that with an older machine and I had to just add it to /etc/modules.

            Sure, really simple solution, but sometimes I miss out on the simple things.
            • 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.
    • if it' a seperate mini-pci card, then simply order an Intel based one from CDW as I did. Problem solved on multiple laptops as the Intel models have OpenSource Drivers from Intel

  • 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.
  • 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?
  • Seems everyone neglects the popular 4310 used in many otherwise Linux-friendly laptops.

"The vast majority of successful major crimes against property are perpetrated by individuals abusing positions of trust." -- Lawrence Dalzell

Working...