Forgot your password?
typodupeerror
Networking Hardware

The Problem With Driver-Loaded Firmware 229

Posted by Hemos
from the crippleware-in-the-physical-world dept.
Kadin2048 writes "If you've gone to a big-box store and purchased a wireless card recently, you might have had some trouble getting it to work under Linux, or any non-Windows OS for that matter. One reason for this is that more and more manufacturers are producing hardware that are useless without proprietary firmware. While these new designs allow for lower parts counts and thus lower cost, it presents a serious problem for F/OSS software because it can sometimes guarantee no out-of-the-box compatibility. Jem Matzan has produced a detailed article, "The battle for wireless network drivers," on the subject, including interviews with manufacturers' representatives and OS developers, including Theo de Raadt. The bottom line? In general, Asian hardware manufacturers were far more responsive and liberal about firmware than U.S. manufacturers (Intel included). Look for more firmware issues in the future, as not only wireless hardware, but regular wired Ethernet cards, take the driver-loaded firmware approach."
This discussion has been archived. No new comments can be posted.

The Problem With Driver-Loaded Firmware

Comments Filter:
  • firmware (Score:4, Insightful)

    by chinaguy (1022547) on Monday January 01, 2007 @12:31PM (#17422510)
    I have always wondered if part of the reason this sort of thing is so popular might be because it curries favor with MS. I'm certain MS is NOT displeased with this sort of thing. Can we say "winmodem"?
    • The only way companies that hold things so close to the chest can be influenced is by hurting their cash flow. This is capitalism in action. If they realize they are pissing people off with their attitude, and it is costing them money, then they will change. Until then, you can howl at the moon until the cows come home and they won't stop actively shutting out open source developers.

      I would suggest that it might be an option to use the collective IT experience and position of Slashdotters to effect a b

    • by dave420 (699308)
      And even if it did curry favour, do you think that has anything to do with this? You have to understand that the decision for firmware-based drivers is a no-brainer for most manufacturers, simply because it keeps costs down and doesn't affect 90% of the market. It doesn't matter if that 90% wants monkey turds on sticks - if they want it, they'll get it. But I guess as it's Microsoft, it must be their bidding that everyone else is doing, and there can't be any understandable reason behind anyone doing any
  • Oh yeah, I remember the good old days when I could pick up a USB drive and be able to plug it in and simply move files back and forth as it was intended. Simple. Bought a USB drive from Best Buy and it was garbage. It wanted to - for my convenience - load crap software on my computer and generally was a pain in the ass trying to use it for what I wanted. Next USB flash drive I bought I had to sit there for twenty minutes to find one, more expensive, that would allow me to use it without having all that crap
  • Best Buy loves Linux (Score:3, Informative)

    by slummy (887268) <shawnuthNO@SPAMgmail.com> on Monday January 01, 2007 @12:40PM (#17422566) Homepage
    I recently purchased a Dynex DX-WGDTC PCI card from Best Buy for 35 bucks, the chipset had some sort of aluminum heat sink over it. I took a gamble and bought it anyway with a feeling that it was manufactured by D-Link. Turns out I was right, it has an Atheros 5212 chipset and I was ecstatic. The madwifi [madwifi.org] drivers work spectacular with this card. A patched madwifi-ng driver will allow you to crack WEP using ARP injection *wink* I recommend you go out and buy one immediately.
  • Look for more firmware issues in the future, as not only wireless hardware, but regular wired Ethernet cards, take the driver-loaded firmware approach.

    If you think problems with those are bad, you should see the "license" problems with a lot of bluetooth devices. [geekzone.co.nz]
  • by autophile (640621) on Monday January 01, 2007 @12:44PM (#17422594)

    Correct me if I'm wrong -- the problem is that the firmware doesn't come preloaded on the hardware. So basically you have a hardware platform with no driving software -- essentially one big, blank programmable ASIC with specialty hardware depending on what the card is.

    One of the major complaints seems to be that the loadable firmware is not redistributable, and anyway it's full of bugs and other crazy stuff. It occurs to me that maybe these cards are like CPU platforms -- lots of hardware, no driving software. For one particular piece of hardware -- Intel CPU's -- some bright guy named Linus wrote some "firmware" to make that platform run.

    So couldn't some bright people get together, use the programmable hardware as a starting point, and develop their own firmware? I guess you wouldn't have to develop firmware for every blank hardware platform that was manufactured. Just the ones with the neatest hardware features.

    --Rob

    • by forkazoo (138186) <(wrosecrans) (at) (gmail.com)> on Monday January 01, 2007 @01:04PM (#17422742) Homepage


      Correct me if I'm wrong -- the problem is that the firmware doesn't come preloaded on the hardware. So basically you have a hardware platform with no driving software -- essentially one big, blank programmable ASIC with specialty hardware depending on what the card is.

      One of the major complaints seems to be that the loadable firmware is not redistributable, and anyway it's full of bugs and other crazy stuff. It occurs to me that maybe these cards are like CPU platforms -- lots of hardware, no driving software. For one particular piece of hardware -- Intel CPU's -- some bright guy named Linus wrote some "firmware" to make that platform run.

      So couldn't some bright people get together, use the programmable hardware as a starting point, and develop their own firmware? I guess you wouldn't have to develop firmware for every blank hardware platform that was manufactured. Just the ones with the neatest hardware features.

      --Rob


      Well, it's certainly a nice idea, and in an ideal world, it would be a good plan. Unfortunately, Linus couldn't have written Linux in a vacuum. He had access to an architecture reference manual or similar information about PC's and IA32. He had access to a compiler which would allow him to program in a standard language, which would automatically generate the machine code for IA32. He had access to book on how to write operating systems, and he had access to Minix to get some ideas of how it could be done.

      And it still took a few years before it was really a decent operating system.

      Now, imagine if he had access to only DOS. He didn't have any documentation about the hardware, he didn't have a compiler for it. He just had a copy of DOS. It was all he knew about PC's. It was his only example of how to do an OS. It probably would have taken more than just a few years to turn Linux into a decent OS.

      That's basically all you have when you want to write a firmware. No functional specs. No hardware documentation. Is it possible to make a working irmware for a wireless card? Sure, I don't see why it wouldn't be possible. But, when you have a variety of manufacturers making a variety of cards, and you want to support them all before they stop being relevant to the market, and it takes probably several years of tinkering for any given card, then "hackers GO!" isn't really a viable hardware support plan.

      The US FCC seems to be in no hurry to do anything that would support community efforts to write firmware, given their apparent hostility toward HAMs, and I expect it will be a good many years before the FCC is completely realigned. It isn't really a hot button issue, so I wouldn't even expect a hardcore Democrat president to bother with it just for the sake of being different from Bush. If it won't happen in this or the next administration, then it will be a minimum of six to ten years before we can even dream about regulations causing us to just be handed hardware documentation. Consequently, folks like Theo have made firmware a personal issue. I applaud them, and really hope that he is able to make some headway with this.
      • That's a very good explanation of the situation. Nicely written.
      • by Nasarius (593729)

        It isn't really a hot button issue

        That's a good thing. It means that a strong information campaign might change some minds. I think we'd have a chance with any of the current Democratic frontrunners (Clinton, Obama, Edwards), though my money is still on Edwards, who seems to "get it" in a way the other two don't.

        Unfortunately, the continued survival of FOSS relies on our political action. You've seen it with software patents and DRM, and now we have hardware to deal with. They're trying to beat us with

    • The problem with that is you're adding more elements that you need Linux hackers to work on. This will divert talent from improving the core OS, or interesting tools...
  • This is the same thing that happened years ago with modems. For desktop computers it's not that big of a problem because it's still cheap and easy to get cards that work, although kind of a bummer if you can't use something you've already bought. The times when it's a real problem though is with a laptop, if you've bought a laptop and the onboard networking or wireless is like this you're usually just fucked if you want to run linux, you'll have to buy another external interface for USB or Cardbus or whatev
  • FHF (Score:2, Interesting)

    by Anonymous Coward
    Simple. Start a Free Hardware Foundation.

    Now don't say it's not possible, since there's really difference in producing SW or HW for free from the economical point of view.
    If you think there is, you are wrong.
    • I think there might be some slight difference in that software actually doesn't require any money to develop, while hardware development requires pretty many potentially quite expensive parts (those FPGAs and radio amplifiers and what not cost far too much to play with as a hobby, at least). Add to that the fact that if you were to screw up along the line, the risk isn't just that you'll have to reinstall your operating system, but that you might fry your motherboard.

      The FHF might be a possibility when we

  • by ScrewMaster (602015) on Monday January 01, 2007 @12:54PM (#17422666)
    In general, Asian hardware manufacturers were far more responsive and liberal about firmware than U.S. manufacturers (Intel included). Look for more firmware issues in the future, as not only wireless hardware, but regular wired Ethernet cards, take the driver-loaded firmware approach.

    Let's take this from a slightly different perspective:

    In general American hardware manufacturers were far more pigheaded and close-mouthed about firmware than Asian manufacturers (Intel especially.) Look for more firmware issues in the future, as Asian corporations continue to take over the remnants of the U.S. manufacturing sector, with U.S. companies stubbornly trying to hang on to their "intellectual property".

    Maybe if these idiots stopped listening their legal teams (and Microsoft!) so much, started worrying less about developers using their oh-so-precious "intellectual property" to make their own products useful to even more customers we wouldn't be in this fix. American tech companies are shooting themselves in the foot, having forgotten that continuous innovation and fresh ideas, not hordes of attorneys, are what drive a tech sector to competitiveness. Meanwhile, China is walking off with the the entire candy store.

    There are only two ways to beat your competition in the modern world: out-lawyer them or out-think them. We used to be in the latter camp (Yankee ingenuity, and all that) but not any more.

    Rather depressing, really.
    • by Vellmont (569020)

      Maybe if these idiots stopped listening their legal teams (and Microsoft!) so much, started worrying less about developers using their oh-so-precious "intellectual property" to make their own products useful to even more customers we wouldn't be in this fix.

      Well, there's certainly an aspect of companies trying to protect their IP. But the other problem is that companies are often outsourcing the writing of their firmware, (like the Atmel guy mentioned). With the normal product-development methods of close
      • The same thing happened with American car companies during the 80s and 90s. The sad result is that American companies are STILL suffering from a bad reputation they aquired from the poor quality of cars in the 80s and 90s compared to Japanese cars.

        No, the sad thing is that American companies are still earning that bad reputation by continuing to make poor quality cars! My dad owned a 2003 Chevy Astro that was a total POS. I imagine a 2003 Chevy Aveo (made in Korea) might be better...

    • US and European history is littered with lawsuits over patent infringment. Patent suits go back to the creation of patents. Because in quite a few cases a patent owner has been defrauded of their creation because the law and the courts have not been enough to protect their property they've taken a path of protecting their property with obscurity.

      You could work with the http://www.gnu.org/software/gnuradio/ [gnu.org] and come up with a generic framework that could run most any kind of dsp related tranceiver be it wire
      • True enough ... but when you carry that policy of self-protection to the point where it starts to become self-defeating other options should be brought to the table.

        Wireless tech is becoming ubiquitous and commoditized. That's what happens when a market reaches this stage. Margins are dropping, unit sales are going up, and it is becoming more and more difficult for a particular vendor to achieve any significant degree of product differentiation. Worse, all of these guys are having to play the interoperab
    • I think that part of the 'close-mouthed' mentality is because it is not easy to identify what a piece of software is actually worth. The fear of accidentally releasing a valuable invention unprotected leads to restriction by default, just because it is easier to manage and low risk. It think it's pretty poor that these companies can't take the time to look into developer requests and decide when they could release some info, but then I guess there is no clear financial reward for such actions.

      The thing I
      • Well, here's the thing. We are talking about firmware executed by a processor on the device. The primary operating system doesn't need to know anything about that firmware (as it wouldn't if it were truly firmware and burnt to a ROM.) It seems that we are actually concerned about the interface between the host system driver and the "firmware" on the wireless device. The vendors needn't tell anyone how the firmware operates, or about any proprietary hardware features: just tell the Linux/BSD/Solaris/whatever
  • The only real issue here is vendors who try to restrict distribution of the firmware with open drivers. Otherwise, this is how it has always been, except instead of firmware being loaded from a flash chip, it's loaded from the disk drive by the driver. This is by far the more sensible way to handle it, and removes a redundant component from hardware.
    • by Builder (103701)
      I couldn't find a mod to mark you as inaccurate, so I'll reply.

      This is NOT how things have always been. In the past, the firmware was part of the device. The driver was simply the means to communicate with that device. Loadable firmware is a new(ish) thing, having only popped up around the time of the winmodems some years back.
  • The good list (Score:3, Insightful)

    by jrobinson5 (974354) on Monday January 01, 2007 @12:59PM (#17422706)
    According to the article, there are three companies that have actually worked with the free software community on drivers. Here is the list:

    Ralink Technology [ralinktech.com]

    Atmel Corporation [atmel.com]

    Realtek [realtek.com.tw] Linux drivers here [sourceforge.net]

    Vote with your money, folks. If you would like to see companies cooperate with the free software community, reward the companies that do so by buying their products.

    If you know of a particular piece of WiFi hardware that works particularly well in Linux or BSD, please follow up here so we all know what to buy. (See also this list [seattlewireless.net].)
  • Firmware is often large. Think "megabyte".

    For an OS to drive the hardware, it has to include the firmware. That's no serious problem for driving a few devices after you've installed the OS.

    Problem is, the OS doesn't just support YOUR devices. It has to support ALL devices, with ALL hardware revisions and board layouts. So, how many devices could exist...?

    Now you're talking about real disk space. This could get into the gigabytes.

    What about at install time? It's all going to have to fit.
    • by caluml (551744)

      $ ls -l /lib/firmware/
      total 56
      -rw-r--r-- 1 root root 30555 Dec 2 17:59 dvb-fe-tda10045.fw
      -rw-r--r-- 1 root root 24478 Dec 2 17:59 dvb-fe-tda10046.fw
      $
      Nyet, tovarish.
      • by r00t (33219)
        It varies.

        For some devices it's just a killobyte. For some it's multiple megabytes.

        As a rule, newer devices need bigger firmware.

        Sometimes the firmware contains a whole OS.

  • Which card? (Score:5, Insightful)

    by astrashe (7452) on Monday January 01, 2007 @01:02PM (#17422728) Journal
    These articles are always frustrating to me, because I can read about chipsets that work, but not about which cards support them. It's hard to go to newegg and buy a card, because many of the cards that have the good chipsets come in different versions with bad chipsets.

    My ancient orinoco silver pcmcia card stopped working with ubuntu as of edgy. I don't know why. It works with other distros. But it's not 802.11g, and it doesn't do WPA, and although it's not important to me, it's not great for scanning.

    So I want to buy a card. I'd order one today, but I don't know what to get.

    I know our buying power as a community is small, but I'd think that some no-name card manufacturer would find it worthwhile to make a card that has a picture of a penguin on it, and that is fully supported by free software. I'd pay a little more for a card that I know will just work, and that will continue to work.

    • by rubycodez (864176)
      actually, if you look at the wireless card's boxes at a Best Buy or OfficeDepot or Target, you will see the word "Linux" on some of them. works for me
      • by bfields (66644)

        actually, if you look at the wireless card's boxes at a Best Buy or OfficeDepot or Target, you will see the word "Linux" on some of them.

        Sometimes it's hard to tell whether that just means that they released a binary blob for one particular kernel version and tested it once on some version of Fedora.

        Whereas what I want to know is: is the driver completely free software, is it included in the mainline kernel, and if it's gotta have proprietary firmware, is that at least freely redistributable? Because i

    • Yep (Score:3, Insightful)

      by bogie (31020)
      Hardware makers have done a huge disservice to their customers by not producing stable chipsets. They'll have several revisions of say the "Linksys USB11" and each one using a different chipset. You go to Amazon and buy it and yet have no idea which version you'll be getting. To be fair there have been some new standards like WPA etc that possibly would have required a new chipset, but the vendors just went way overboard in their lack of regard for stability in their product lines.

      I must have half a dozen w
      • by zCyl (14362)
        They'll have several revisions of say the "Linksys USB11" and each one using a different chipset.

        So don't buy mystery-meat hardware. Choose products with stability.
    • Maybe the ASUS WL-107g CardBus card will work for your needs. Newegg carries it for about $30 or so. I got one of these running on gNewSense GNU/Linux [gnewsense.org], a GNU/Linux distribution that places software freedom as a higher priority than trying to work with every device out there (and the concomitant need for distributing non-free software). To this end, they strip out non-free firmware and non-free drivers from their distribution. So, I can try running any device with that OS and know that if it works there
  • by Tim C (15259) on Monday January 01, 2007 @01:02PM (#17422730)
  • Remember winmodems? LOL. There's really no excuse for this.
  • not a new problem (Score:3, Insightful)

    by fermion (181285) on Monday January 01, 2007 @01:05PM (#17422754) Homepage Journal
    This is just another issue with standards, and lack of consumer demand to conform to standards. Today it is wireless cards, yesterday it was printers and cameras.

    Building a standards compliant intelligent machine is often more expensive than building an ad hoc machine, if for no other reason than the cheapest parts can always be used, and there is no need to support all users. The flip side is that a specific driver must be created for each device.

    I had an incident that nicely illustrated this point. I bought a very cheap digital camera a few couple years ago. Now, any standard camera with a USB port should work with my Mac with no additional drivers. Perhaps not all the bells and whistles, but the PTP should work. As it turned out, this camera was not standards based, and, even worse, had undergone a revision so, even thought the model number was the same, it did not work with the drivers I did have. There only way to determine that this camera was not in fact the same camera was to open the hermetically sealed bomb proof packaging, open the camera, and use a magnifying glass to inspect the product code.

    Which just shows that if one wants the cheapest products, then MS Windows is the way to go. Manufacturers can design to the platform, write a few drivers, and sell to the masses. So the point of *nix, and perhaps the Mac,is not to provide the cheapest product, but instead long term stability. I have every reason to believe that Canon camera will work with my computer for a long time, because I am not going to lose connectivity when the next OS upgrade comes around. The standards will still be supported. I have SCSI devices from the OS 9 days that still work perfectly with OS X. I have no idea if those same devices, which required a special driver for MS Window, have continued support for current MS products.

    So really all that can be said is don't buy the cheap products. If one has a choice between the standard printer and generic printer, pay the extra money for the generic printer. Support the standards that will allow *nix to prosper.

    To specifically address the wireless thing, the standard is certainly in flux, and no one can be expected to support a standard that does not necessarily exist. That said, it should still be possible to assemble a standard compliant box that is not targeted towards the MS Windows OS, perhaps at additional costs.

  • How is this really news? This problem has been known about for years... Winmodems, anyone?

  • I don't know if this article is a dupe, but the problem is.

    If you don't remember the WinModem problem, this might seem absurd. This has been a problem for a long time. It never really went away. People just started using networks connected to telephone supplied DSL modems, cable modems, or cheap external USB modems, and forgot about the problem.

  • I was that scum (Score:3, Interesting)

    by Anne Thwacks (531696) on Monday January 01, 2007 @02:00PM (#17423168)
    I have personally designed hardware that has driver-loaded firmware, and I'd do it again. It is a wonderful solution to the issue of upgradability, not to mention bug-fix-ability.

    Not only that, I have written OS/2 and FreeBSD drivers for it outside of work hours (but with permission).

    There is ABSOLUTELY NO REASON why a FOSS driver cannot install the firmware. This is NOT the problem. There MAY be a problem with distribution rights, or with documenting how to load the firmware, but these are NOT what TFA described.

    While one might like to have the spec for writing one's own GPL firmware, and I dont see prob;lems with that, I do see a problem with expecting $100,000 worth of firmware development for free, when the hardware can be replicat4ed for a $10, and the combination normally sells for $100. Ie there are products on the market where the majority of the value is in the firmware. and Yes, it does sometimes take more than three man-years of $100/day consultants to write firmware for a product with a predicted lifetime of 8-months. (Graphics card, anyone?)

    • This is NOT the problem.

      Thank you. RMS and Theo have whipped people up into such a frenzy, that they now think closed source firmware is evil. The real problem is with the drivers. As long as I've got enough specs to load the firmware and write a driver, I'm hunky dory. But once you start putting hardware functionality in the software driver, you're crossing the line.
    • by Yath (6378)

      Sigh. This gets "insightful"?

      Anne Thwacks:

      There MAY be a problem with distribution rights, or with documenting how to load the firmware, but these are NOT what TFA described.

      TFA:

      The first challenge for operating system developers is obtaining the right to distribute the firmware file, which some manufacturers will not allow without significant restriction.

      Please read before you rant.

    • The article is pretty clearly saying that the problem isn't that firmware makers aren't releasing source code to expensively developed firmware (though obviously that would solve the problem). The problem is that many chipset makers aren't providing rights to freely re-distribute firmware, and aren't providing documentation for that firmware so drivers can be written.
    • Free software advocates won't install non-free firmware because that software is non-free. All of the arguments about free software apply to discussions of "firmware" because firmware is software. For those who want their freedom, proprietary software on their systems is not "wonderful".

      Theo de Raadt's requests are quite clear: he's not asking for gratis firmware development (and how much that development costs is wildly overestimated so long as people are willing to do this unpaid). He and other OpenBSD
    • by slamb (119285) *

      Please mod the parent down as "flamebait" or "troll". Anne Thwacks either has shockingly low reading comprehension or is deliberately misrepresenting the article [*]:

      There is ABSOLUTELY NO REASON why a FOSS driver cannot install the firmware. This is NOT the problem. There MAY be a problem with distribution rights, or with documenting how to load the firmware, but these are NOT what TFA described.

      The article says:

      The first challenge for operating system developers is obtaining the right to distribute t

      • Re: (Score:3, Interesting)

        by gregorio (520049)

        You may think your network card firmware is worth $100,000, but it's not. Hardware people think their software is valuable because they see other people selling three man-years of software for huge amounts. Here's what they miss: those other people are good at writing software, while hardware people and poorly supervised contractors are horrible at it. In those three man-years, they'll produce code that's bad in every way you can imagine - filled with magic numbers, race conditions, deadlocks, spaghetti cod

    • by pembo13 (770295)
      So I didn't pay for the hardware?
    • by sjames (1099)

      There is ABSOLUTELY NO REASON why a FOSS driver cannot install the firmware. This is NOT the problem. There MAY be a problem with distribution rights, or with documenting how to load the firmware, but these are NOT what TFA described.

      If only! Even though it would cost NOTHING to put the firmware in a convieniant .bin file somewhere on the CDs, instead, it's inevitably buried inside some Windows installer.

      I can't think of any loss whatsoever for allowing the file to be freely distributed under a licens

  • by MMC Monster (602931) on Monday January 01, 2007 @02:05PM (#17423206)
    I'm actually in the market for a wireless card for a desktop PC running Ubuntu Edgy right about now, actually.

    Any clear winners? Does it matter which router I will be using? For that matter, I need to get a router as well.

    (I figure I might as well ask here, since the topic is here. I would otherwise have just gone to the Ubuntu forum.)
  • Firmware != Drivers (Score:5, Informative)

    by itsdapead (734413) on Monday January 01, 2007 @03:10PM (#17423672)

    Quick clarification, seeing some of the posts here about "winmodems" and junkware-infested drivers:

    Drivers run on your computer and let it talk to the device.

    Firmware is "software" that runs on the device - typically code for on-board microcontrollers, Field Programmamble Gate Arrays (FPGA) and other "soft hardware".

    There is nothing wrong with the idea of using driver-loaded firmware - it simplifies the device (no need for on-board flash memory) and makes it easier to fix "hardware" issues with an updated driver (with less risk of "bricking" a device by muffing a firmware update). Linux can actually cope with it quite happily - A lot of digital TV cards rely on driver-loaded firmware and its all fine and dandy provided that either (a) the manufacturer offers a download of the firmware or (b) it can be extracted from the windows driver CD or (c) some evil pirate has selfishly conspired to increase the manufacturer's customer base by posting an iffy copy.

    There is an interesting question as to the status of such a "firmware blob" vis. the GPL (especialy the anti-TiVOization clauses of V3). Is it part of the software (thus tainting the free-ness of any drivers that require it) or part of the hardware (FPGA "software" is more like a circuit diagram than a program - and the "source code" might be useless without proprietary software from the FPGA manufacturer - and tweaking it might void the FCC/CE certification of the device)?

    • The parent makes a distinction that's VERY important to understand to know what's going on here.

      The only thing I disagree with is the method of distribution of firmware (and is one of the central complaints of the article). Unless distributions have the ability to freely re-distribute firmware, they're sunk. It's just simply too difficult or too much a pain-in-the-ass for end users to go find firmware from a windows CD, a manufacturer, etc. I'm no stranger to Linux and have been using it for 10+ years no
  • So long as the manufacturer distributes firmware freely (and they generally do, so they can distribute new firmware versions), it's no problem for drivers regardless of OS to load that firmware onto the device. It's generally about the easiest device function to implement. Linux has a standard mechanism for the kernel to get the firmware from userspace.

    It's a bit of a pain if the manufacturer doesn't allow redistribution of the firmware, because it means your brand-new wireless card doesn't work until you'v
  • by azzurro (739885) on Monday January 01, 2007 @03:57PM (#17424062)
    M-Audio [m-audio.com] audio interfaces also use driver-loaded firmware.

    From http://www.theory.physics.ubc.ca/transit.html [physics.ubc.ca]:

    This card [M-Audio Transit] needs to have firmware downloaded to the card on the USB bus to work. It uses a non-standard "DFU" method which seems to have some problems with Linux. It also mixes its Type I and Type III endpoints to confuse the software. I have found (with the help of and software written by Clement Ladisch and Takashi Iwai.) a way to make this card useable.

    The card requires firmware to be downloaded to the card first for it to work as a soundcard. While it appears on the usb bus with Vendor/ProductID of 0763/2806 this is a very primative usb device that does nothing except wait for firmware.

    A firmware loader for M-Audio audio devices is available at http://usb-midi-fw.sourceforge.net/ [sourceforge.net]. Interestingly enough, the set-up procedure involves copying the firmware bin file from the Windows driver installation, which is subsequently used by the firmware loader.

    Anyways, TFA makes some interesting points:

    Unrestricted redistribution of firmware files is satisfactory for some open source operating system projects like OpenBSD, FreeBSD, and many varieties of GNU/Linux, but others like Fedora Core and Debian demand an entirely free software environment, so redistribution of the firmware without the ability to modify and distribute the source code is prohibited.

    The firmware, although its being loaded to the device, is still firmware. Do distributions that demand an entirely free sofware environment ship drivers for devices with proprietary firmware? Of course they do. I'm not convinced that this should be any different.

    I think that Theo de Raadt, of OpenBSD, has it right:

    So instead of lobbying for documentation to write open source firmware, de Raadt would prefer to simply have the right to freely distribute necessary proprietary firmware files with his operating system, along with correct firmware interface documentation so that a driver can be created, and information from the manufacturer regarding bug workarounds.

    -azzurro

  • I connect my desktop to the internet by wireless because running cables to the cable modem is very difficult. After trying to get Linux to work with my wireless PCI card, I finally decided that it is much simpler to use a wireless router as a bridge and connect my desktop to the bridge by ethernet. A cheap wireless router is $40. That's not much more than a wireless PCI card. It's even possible to install Linux on many routers and have quite a bit of control over the configuration of the router.
  • A little off topic... but, if you need Linux to work with WiFi and other gear that only has Windows drivers, you can run in a virtualized environment like VMWare. No, it's not the right answer, but it's here now and it works. I can't be bothered to fiddle with WiFi drivers just to get into Linux for a few minutes here and there... it's nice to have it just work with the virtualized network drivers provided by VMWare - especially now that VMWare Server is free as in beer.
  • Funny thing is. All my various wireless cards (which have a Atheros chipset) all work out of the box on Linux distributions that have wireless. I didn't even know this was that much of a issue.

    I know with some other chipsets (like broadcom), it's just requiring you to install some package that contains extracted firmware images.

    Now Windows on the hand (XP SP2, 2k3 sp1), never had a single wireless card in my experience that worked out of the box with it, ever.
  • I have a built-in Broadcom BCM4318 wireless card. I actually found Linux drivers for it. To use it, I needed to extract the firmware from the windows drivers. After that (and tinkering) I could actually connect and send packets. But, alas, any request was painfully slow and had a lot of duplicate packets. So, I just gave up and went with Ndiswrapper. Oh well...

God made machine language; all the rest is the work of man.

Working...