Forgot your password?
typodupeerror
Open Source Wireless Networking Linux

Broadcom Releases Source Code For Drivers 350

Posted by timothy
from the they-sure-get-my-goodwill dept.
I'm Not There (1956) writes "Broadcom, the world's largest manufacturer of Wi-Fi transceivers, open sources its Linux device drivers. This is a big win for Linux users, as there are a lot of users that face Wi-Fi problems when they use Linux on their laptops. With these device drivers now open source, distributions can ship them out-of-the-box, and that means no Linux Wi-Fi problems for new devices and upcoming distributions at all."
This discussion has been archived. No new comments can be posted.

Broadcom Releases Source Code For Drivers

Comments Filter:
  • This is fantastic (Score:5, Interesting)

    by Demanufacture (113381) <DemanufactureNO@SPAMspace.com> on Thursday September 09, 2010 @02:43PM (#33526512)

    Congratulations Broadcom, you have just made at least one geek very happy.

    While you're at it, any chance of releasing the source for your video decoders? I promise that you will own the HTPC market if you do.

  • Re:Hahahahahaha (Score:5, Interesting)

    by C3c6e6 (766943) on Thursday September 09, 2010 @02:48PM (#33526568)

    No one is saying that device drives will magically start working flawlessly because their source code is open, although it will make it easier to track down bugs (see Linus Torvalds' quote about the number of eyeballs).

    The main point, however, is that now Linux distributions can ship these drives out of the box, so wireless devices will work straight away. Until now the biggest (and dare I say only?) problem I've had with installing Linux on a laptop is finding and installing the right drivers for wireless network cards.

  • by Anonymous Coward on Thursday September 09, 2010 @02:57PM (#33526688)

    I tried Ubuntu quite some time ago on my aging Acer Aspire 5000. I really like the idea behind linux and open source. Got everything to work. Except for the WiFi. Well since being wired all the time is a drag, I was forced to go back to dreaded XP. I'm not a complete n00b when it comes to computers. But fiddling with WiFi for a few hours was just to much effort for me as a casual user. Hopefully I can now finally switch.

  • Re:Hahahahahaha (Score:4, Interesting)

    by armanox (826486) <asherewindknight@yahoo.com> on Thursday September 09, 2010 @03:02PM (#33526738) Homepage Journal
    Maybe I'm about a year behind on Broadcom on Linux, but last I looked you had to use NDISWrapper with the Windows driver to get it to work, and Broadcom had no actual driver (was using a 2007 era HP Laptop).
  • by Nimey (114278) on Thursday September 09, 2010 @03:03PM (#33526756) Homepage Journal

    Tomato Firmware is still stuck on Linux 2.4 because Broadcom's driver blob hasn't been ported to 2.6, Don't know how much of a difference it'd make for my WRT54GL, really, but it'd still be nice to be more modern than ~2.4.17.

  • by nine-times (778537) <nine.times@gmail.com> on Thursday September 09, 2010 @03:05PM (#33526780) Homepage

    I've never really understood: why don't more hardware companies open the source for their drivers? Is there super-secret special source in the drivers that they're trying to prevent their competitors from learning? Is it an issue of patents?

    It seems to me that drivers are an instance where opening the source should be a no-brainer. It's not like an application, where you're trying to sell the software. People still need to buy your hardware to make use of the drivers, so it's not like your customers will be inclined to stop buying things from you. I would image you could drastically lower the cost of supporting the drivers by opening them, though. You'll probably increase quality at the same time.

    I'm sure I'm missing something, though. Would someone enlighten me?

  • by phikapjames (811889) on Thursday September 09, 2010 @03:05PM (#33526786)
    As the article states, the source only supports the newer 11n chipsets, which is currently BCM4313, BCM43224, and BCM43225. G and lower chipsets still have to use the older crusty stuff. Still something good to look towards the future for. I'm going to be keeping an eye out for routers that have those chipsets and are dd-wrt compatible in the future when I move to N now.
  • Documentation (Score:3, Interesting)

    by sshore (50665) on Thursday September 09, 2010 @03:12PM (#33526868)

    It's good that they've released source for drivers.

    It would be better still if they released documentation for their hardware that would be adequate to write a driver.

    It's said that source code is the best documentation, but it only documents what the source is doing; not why it's doing it, what it could do, and what it shouldn't do.

  • by networkBoy (774728) on Thursday September 09, 2010 @03:21PM (#33526970) Homepage Journal

    Often these drivers connect to registers in the hardware that are *not* public knowledge. In the case of WiFi and other "firmware" radios the driver often contains DSP code that would normally be in Si but is now in loadable firmware, thus the manufacturers want to keep that a secret.
    -nB

  • by Junta (36770) on Thursday September 09, 2010 @03:21PM (#33526972)

    Speaking as one who routinely works on open and closed projects, believing the documentation would be tempting, but usually a mistake.

    The driver reflects the reality. If well commented (particularly if it has developers venting frustration), it really reflects the reality of how that doc got implemented in reality.

    Often documentation is first written, then parts fabricated/code developed. When the fabricated parts come in, often there are minor different and/or incorrect interpretations of the spec, major enough to make the doc unusable, often minor enough to work with a change to the driver. When this happens, the driver will get updated, but going back to the documentation... No, not so much.

    Particularly when it comes to the 'what it could do' part, at best it's not already done because they decided not to fund it and it is simply untested and may or may not work. Frequently it's because that capability was so fubared in testing that the feature was thrown over the fence to make a schedule.

  • by Anonymous Coward on Thursday September 09, 2010 @03:23PM (#33526998)

    Why? Here are the obvious ones:

    1. Paranoia
    2. Dislike for commie OSS
    3. Don't actually own the code to publish
    4. Code is really shit
    5. Contains many a fudge to work around bugs in the hardware

    Of course, none of these actually matter. All the HW companies have to do is publish the bloody spec sheets and programmers will do the driver themselves. In years gone by, all ICs came with data sheets. These days they're scared shitless of people understanding the very products they're trying to sell.

  • Re:DD-WRT (Score:2, Interesting)

    by domatic (1128127) on Thursday September 09, 2010 @03:26PM (#33527024)

    It could also mean more 2.6.x kernels. Many of these devices gave you the choice of either using the binary blob drivers and a 2.4 based firmware or you could go to 2.6 and hope for the best with the reverse engineered drivers.

  • by rahvin112 (446269) on Thursday September 09, 2010 @04:00PM (#33527394)

    5. Financial. There is no business case to be made to disclose this proprietary information. If I'm not going to make money from something, why should I spend the time/effort to open source it, and perhaps give away information that my competitor could use?

    You might find this hard to believe but the large OEM's (HP, Dell and all the others) are demanding Linux driver compliance in their OEM selection process. Linux is huge in the server market, particularly in visualization, is taking over the cell phone market and will one day be in the home. If you don't OSS your drivers you will lose OEM contracts and likely won't be told that you lost because you didn't have Linux drivers.

    Linux will one day be the dominant OS in all the backend servers, the dominant players in the largest percentage of Embedded devices (including cell phones) and in the future will dominate the desktop.

  • by FrankSchwab (675585) on Thursday September 09, 2010 @04:17PM (#33527580) Journal

    1. I should spend a month or two of engineering time to write specifications for a block that isn't part of my core competency?
    2. Don't take "liar" literally. Marketing is always guilty of Puffery, and in the US this is acceptable. Datasheets always have specifications which, if taken out of context or tested outside the conditions in the tiny print, can be proven wrong. In the market, to remain a viable business, you have to "puff" as much as your competitors do - look at beer, cigarette, car, computer advertising. A company that lets the Engineering department write the marketing materials doesn't survive long. Frankly, our materials are a whole lot closer to reality than our competitors - we've never published wholesale lies, to the best of my knowledge, which isn't always true of those I've competed against.
    3. Yes, really.
    4. Yes, I know that's bullshit. Tell that to my CEO and CFO.
    5. OK, we'll lose your business - that's $3 worth of revenue that we won't receive, once. We hope that you'll see the value of our products in the future and be willing to consider us then.

  • by Lord Ender (156273) on Thursday September 09, 2010 @04:21PM (#33527632) Homepage

    I got so sick of trying to get my broadcom card working on Mythbuntu 10.04, I just gave up and bought Windows 7. By spending $99 on Windows I saved... how many hours of frustration?

    I tell friends: try linux. If it works on all your hardware without requiring you to dig through forums or edit text files, use it. Otherwise, save your time and sanity and get Windows. This action by broadcom means the people who take my advice will stick with linux :-)

  • by Anonymous Coward on Thursday September 09, 2010 @04:23PM (#33527656)

    5. Financial. There is no business case to be made to disclose this proprietary information.

    Wrong. I had reservations about Broadcom before because of their drivers. Now I do not. Given a choice between devices with open-source drivers and closed-source drivers, the only chance the closed-soruce vendor even has is if the open-source product is totally worthless

    Broadcom isn't.

    You have forfeited my business.

  • by Burz (138833) on Thursday September 09, 2010 @04:24PM (#33527670) Journal

    Due to some unfortunate attitudes/politics in the FOSS world, "Linux" is still only loosely defined as a desktop platform.

    Without being defined more clearly with a platform spec -- including UI -- and an SDK to make app developers feel at home, the usability and fragility of the desktop-oriented features (*cough* sound *cough* graphics *cough*) will not much improve, nor will top-notch app developers feel more attracted to the amorphous non-platform.

    Fortunately, that problem doesn't extend as much into the cellphone/PDA world, so a lot of progress is being made there. Google was not savagely attacked for 'taking away our UI freedom' when they started Android as an open-source project. Same thing for WebOS and others. Note that Android has an SDK and is relatively well-defined as a platform, and even the nut-less Linux Foundation now has an SDK for their mobile offering (something they won't do with the desktop).

    And also note: Last I checked none of the desktop Linux-based distros had a platform spec or SDK either. My take on what went wrong is that the issue of creating a desktop Linux became politicized early-on by hackers and other CLI-jockeys when they held a lot more sway than they do now. So having a mandatory/standard GUI was seen as chaining users to something big and overly-complex that many hackers did not want. (My answer to that is, run a non-desktop distro if you want the GUI to be optional.)

    Open source works mainly when the audience being served is programmers and system admins because these types are familiar with and appreciate tweaking to get something to work (and even then, only to a point). Projects that truly focus on end-users' needs are rare: Mozilla, OpenOffice.org, Android and maybe a couple others. The rest are either very nuts-and-bolts, or they are nuts-and-bolts with a thick candy coating.

  • Then perhaps a hybrid kernel might be better: trusted drivers run in the monolithic core, while untrusted drivers run as user processes in a sort of microkernel. See FUSE [wikipedia.org] for an example of this.
  • Re:Hahahahahaha (Score:1, Interesting)

    by Anonymous Coward on Thursday September 09, 2010 @04:39PM (#33527826)

    The big problem with Linux Wifi is not necessarily the drivers, but the usability of the rest of the stack. On Windows and Mac it's easy to connect to a wireless network; you can do it in a few clicks and enter a password, because the Wifi tool is part of the GUI. Then you are done.

    Wow. Exactly the opposite exerience from mine. My corporate Windows laptop has three different network management apps -- I have no idea why -- and a separate VPN app. None of those seem simple, and whenever I have to use Windows I'm a little lost with them. In linux I have Networkmanager that does everything networking related.

  • by Kjella (173770) on Thursday September 09, 2010 @04:45PM (#33527864) Homepage

    1. Is usually not that easy, if it's licensed for use in the driver there might be bits of it many places. It'll take developer time and lawyer time to do, or you could risk a huge lawsuit.

    2. Being the honest loser of an OEM contract doesn't put food on the table.

    3. Common end users? No. But certainly some developers in the community will start asking hard questions and expect answers. If the driver isn't working well enough, the negative PR will hit the company, possibly worse than if they had no driver at all.

    4. It doesn't matter if we "know" it's bullshit, as long as PHBs believe it

    5. Invisible and unmeasurable sales. Nobody will know and can put in a business case that this is why you bought that router.

    I see a lot of these answers, that just say "well it's not a technical problem, so it's not real". Legal liability, losing contracts, bad PR, security concerns and no proven business case are problems even if they're just perceived to be problems. Unless you'd like to buy out some of these companies and bet your fortune on these problems not being real. Yes, I'm being overly pessimistic when I answered here, but it's too easy to think all they needed was a grocery list from slashdot. That's what everyone is looking for in a business case, what's the weaknesses you didn't include and is your downsides soberly assessed? Business cases that only deal with the sunshine scenarios don't usually get through.

  • by djdanlib (732853) on Thursday September 09, 2010 @04:52PM (#33527950) Homepage

    They could wait until Nov. 12, and call it Ubuntu 10.11.12

  • by Ogi_UnixNut (916982) on Thursday September 09, 2010 @05:05PM (#33528042) Homepage

    I believe one of the reasons is that you must not be able to program your wifi cards radio to work on unauthorized frequencies. This is a FCC requirement. This is one of the reasons that the excellent madwifi driver still needs a binary blob (although the devs have access to the firmware source code, it was by NDA only).

    If you have the ability to modify the firmware, you can make it violate regulations. For example, if you hack the madwifi driver you can make some cards work up to 100mW of power (limit where I live is 30mW).

    If you had the firmware source code you could all sorts of crazy stuff that would be against regulations.

  • by Svartalf (2997) on Thursday September 09, 2010 @05:17PM (#33528138) Homepage

    1) Uh... Don't you document your device's interfaces so you can code to them? If not...heh...remind me not to buy your company's tech... >;-D

    2) Puffery is puffery. And worrying about this is in the same vein as the security argument. If you can have a bad situation because of flaws in the framework, what else is broken. I'd not use your product. Keep in mind, though, with me you're likely to be talking 10k+ units worth of revenue if I'm the guy you're talking to. If you're doing this, you may well be a no-buy item for a project I'm trying to bring about.

    3) End users won't if AMD's situation is any indicator. Ditto Intel's.

    4) Heh... I'm sure they'd change their tune if someone as big as Dell, HP, or IBM leaned on them a bit to change that tune of theirs.

    5) I hardly think that any company (Broadcom, even) could sustain a 10-100k unit lost sale these days. Unless you're a niche player somewhere, you can end up experiencing something like it from one of the OEM players in the future.

  • Re:Hahahahahaha (Score:3, Interesting)

    by ScrewMaster (602015) * on Thursday September 09, 2010 @05:22PM (#33528220)

    As a counterpoint, I found it dead easy with Ubuntu Netbook Remix on an Asus 701. It was about as many clicks and menus as it takes on OS X and WinXP. Now a given distribution may not always make it that easy for you but this should basically be solved for the distros intended for desktop use.

    I agree. I found Ubuntu and also OpenSUSE both pretty painless on my Thinkpad. The only problem I had with either of them was that they wouldn't control the CPU fan (but that's a known issue with this model's embedded controller firmware.)

  • Re:Bye-Bye Broadcom (Score:5, Interesting)

    by Ogi_UnixNut (916982) on Thursday September 09, 2010 @05:38PM (#33528372) Homepage

    If that was true then Atheros should have gone by now. They open sourced their drivers almost a decade ago, yet they are still around. In fact, due to the excellent Linux support, I've only been buying and recommending to others the Atheros chipset WiFi cards. Not to mention all the extra abilities it gained from the OS community (like the ability to simultaneously act as an AP and client, which brought about mesh networking and community wifi).

    They probably gained a lot indirectly in the form of higher sales of hardware due to this, plus the reduction in costs because they didn't have to pay a dev team all this time.

  • Firmware? (Score:3, Interesting)

    by david.given (6740) <dg@NOsPaM.cowlark.com> on Thursday September 09, 2010 @05:56PM (#33528536) Homepage Journal
    I haven't looked at the source code --- I can't find it; shouldn't it be visible in in this directory [kernel.org]? --- but the announcement doesn't mention any firmware.

    A lot (but not all) of wireless cards are usually embedded ARM processors with a radio glued on. The operating system driver just talks to the firmware, and the firmware does most of the heavy lifting. Some cards store firmware in flash, but some store it in RAM and it has to be uploaded from the host computer every time the device is reset.

    Does anyone know whether these chipsets do require firmware, and if so whether it's included in the source release?

  • by Anonymous Coward on Thursday September 09, 2010 @08:36PM (#33529764)

    In his defense, he wasn't saying 'it's wrong to open source'. he was stating why his company did not; and he is unlikely to be the one with the power to change it.
    Point #1 is at theleast out of his hands.
    Point #2, granted, he worded his reasoning for poorly, but still, it does offer your competitors an insight first into issues you fixed, and then into the areas your struggling in. i know for a fact that i've been able to sell systems to clients before based on proving my stuff could handle an issue their open documents showed they werent really doing well on; even when it was a tiny, tiny outlier situation no one would ever actually hit.
    Point #3. have you ever done customer support? I have, for 5 years, and trust me. people are idiots. give them a little extra, and they will go insane that it doesn't work on everything. When the cable Co i worked for shut down their personal web space, i personally took 8 calls from people not our customers, demanding we re-host the pages they wanted to get to, for either hot-linked images or whatever reason. It was a drop in the bucket for us, but if you're already only a 5-man company that only supports a few OEM's with decent internal support teams; even a couple hundred people emailing you for support on compiling the driver they really shouldn't be messing with anyway is if not a fatal burden, more then you have any reason to bother with.
    Point #4. Yes. when your job is not proving there's merit in your point to a programmer or fellow geek but to the PHB who thinks his name is 'CEO' or 'VP of holding the money in his purple fists of death grip'; it very much matters what he believes, and not what is true. One of my current supervisors thinks Apples biggest mistake was in letting the iPhone charge from anything not an apple designed wall-wart or mac, with the use of heavy crypto to protect the lockin. That 'allowing unlicensed charging' was recklessly irresponsible because 'the charger might have a virus or something that could steal all your info from your phone if you used it. Good luck convincing him that open-sourcing our product code wouldn't make everyone of our customers instantly hacked by the first bad guy to see it.
    Point #5. Some places, sure. My current job makes a little box that downloads monitoring stats from pacemakers. Not sure i'd want to see the 'improvements' they'd make, nor that i'd want to wade through it.

  • ad hominm (Score:3, Interesting)

    by IBitOBear (410965) on Friday September 10, 2010 @03:18AM (#33531594) Homepage Journal

    I (not the original poster) make six figures a year. I buy a lot of gear. I own my own house (etc) and I select strongly against companies that do not open source their specs and drivers. Granted I cannot avoid such things completely. But I do try and I do substantially succeed.

    I work in defense contracting. My projects substantially select against hardware that doesn't open source their drivers. Granted they do not avoid such things completely, but they do dry and substantially succeed.

    See the pattern?

    In both cases this is rampant self interest. And why shouldn't it be? Both options cost the same, the open sourced (or open source compatible) option works just as well, but in one I have more options and choices and it cost the company nothing and profited them my business.

    Closed source code is a freak outcome of the 1980's PC culture as fostered by MS. For decades before that all software came with source. Heck, the original PC Technical Manual contained a printout of the BIOS for the IBM PC.

    "Closed Source" information theory died in the renaissance, it came back for a bit these last twenty years, but it is just a blip.

Hackers of the world, unite!

Working...