Slashdot Mirror


The Problem With Driver-Loaded Firmware

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

17 of 229 comments (clear)

  1. firmware by chinaguy · · Score: 4, Insightful

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

    1. Re:firmware by Anonymous Coward · · Score: 1, Insightful
      I have always wondered if part of the reason this sort of thing is so popular might be because it curries favor with MS.

      It is always because:

      That's where the market is.

      And it helps to keep their costs down and margins up because they can then reduce the amount of hardware and firmware that they need. Why not eliminate a chip, firmare or whatever and pile on some extra processing to the OS - like Winmodems, and charge a little less, if that, and make more money?

  2. Is it a hardware hacker's paradise? by autophile · · Score: 2, Insightful

    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

    --
    Towards the Singularity.
  3. The good list by jrobinson5 · · Score: 3, Insightful

    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

    Atmel Corporation

    Realtek Linux drivers here

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

    1. Re:The good list by miskatonic+alumnus · · Score: 3, Insightful

      The goal isn't to put the bad company out of business, but to keep the good company in business.

  4. Which card? by astrashe · · Score: 5, Insightful

    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.

  5. The problem with not using the search facility by Tim+C · · Score: 2, Insightful
  6. not a new problem by fermion · · Score: 2, Insightful
    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.

    --
    "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
  7. Re:THERE IS NO PROBLEM! by c0l0 · · Score: 2, Insightful

    Madwifi drivers are not free, as they require a binary-only, proprietary Hardware Abstraction Layer (HAL, not to be confused with freedesktop.org HAL/hald) running, which is in fact even worse than platform-agnostic firmware which is just shoved over the bus to the device and running on an ASIC there. The HAL needs to be present and compiled for every Platform you're going to run the Atheros-powered card on.

    The OpenBSD-folks have developed a free as in speech replacement for the binary-only HAL provided by Atheros, but madwifi did not care to adopt it at all - which leaves their true intentions somewhat dubious to me (and a few concerned others).

    Bottom line is: I would not buy Atheros-based cards, and rather go for RaLink or ZyDas. Though watch out, as the latter company recently has been bought by Atheros, therefore suggesting that either their future devices will come with equally dumb restrictions/dependencies applied on their drivers, or their excellent product line vanish completely.

    --
    :%s/Open Source/Free Software/g

    YTARY!
  8. Re:No wonder it doesn't work for OSS? by Anonymous Coward · · Score: 1, Insightful
    Why should they produce for an OS that has very minuscule marketshare?
    Why on earth are you asking here? Why don't you redirect your enquiry to Ralink or Atmel or another company that are doing the exact thing you're questioning the wisdom of?

    Also, people seem to be forgetting that the "miniscule marketshare" of Linux equates to millions of users, so you question should really be: "Why should they expend a minimal amount of time and effort in order to attract the custom of millions of potential customers and the subsequent recommendations from those that the less tech-savvy hold in high esteem?", which should be pretty much a no-brainer :) And before everyone jumps on me and says "Oh no but if they open their specs their competitors will be able to magically clone every piece of silicon for 0.001c and the company will go bust etc": Intel, Ralink and Atmel have already done precisely that, and I don't see how it has harmed their fortunes any - in fact, I've bought 3 pieces of Ralink gear (PCMCIA for my mum's laptop; PCI card for my desktop; and a USB pen for use in conjunction with Knoppix for travelling to other's machines) solely on the strength of their Linux compatibility, and I would urge all (potential-)convertees who are currently using ndis-wrapper style hacks around proprietary hardware to do the same.
  9. Just look at RealTek.... by Svartalf · · Score: 2, Insightful

    The odds are extremely good that you have a RealTek NIC on your machine if it's an integrated part.

    There's several reasons for this.

    It's cheap.
    It works VERY well, though not the best that money can buy.
    It's completely open in it's documentation and relatively easy to design with.

    Those three things make me think of using their part first- especially the open information part.
    It's no different for any other engineer. I can assure you, they're about to get a batch of people
    on the scene that are customers that will insist on this stuff being the case. Customers that are
    are going to be big enough to not ignore and won't take "NO" for an answer as they'll find someone
    else if they get it.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  10. Yep by bogie · · Score: 2, Insightful

    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 wirless nics from PC Cards, to PCI cards, to USB versions and I think one of them is detected automatically without major problems in linux. And of course the one that is detected won't do WPA in linux so it is 100% worthless. Good thing I don't use Linux as my main desktop OS anymore. While things have gotten better, support for hardware on linux still sucks just as bad now as it did many years ago.

    --
    If you wanna get rich, you know that payback is a bitch
  11. Re:Vote with your wallet by Anonymous Coward · · Score: 1, Insightful

    The problem with this approach is that if you go to most retailers' websites you can not find what chipsets their cards use. I have gone to Amazon.com looking for Ralink and I get only one or two hits, none of which are usb wireless or pcmcia wireless cards. So, yeah, it would be nice to know which brands have which chipsets. It really is confusing.

  12. Re:Free firmware a solution? by Anonymous Coward · · Score: 1, Insightful

    > From my perspective the PC becomes more and more a closed platform, which makes it more and more difficult to compete with Windows.

    Totally agreed. It's not just this topic - it's a bunch of things all moving in a proprietary direction. It's video codecs, it's wireless cards, it's mp3 player software moving away from UMS, it's digital cameras going to proprietary solutions. Some are further along the track than others, but the direction is clear.

    If the EU *really* wants to fix this, never mind whether Windows includes a media player. I don't give a rat's ass whether it does or not. But they should address this large scale move to proprietary protocols. In the past, when the internet was still new and whiz-bang, back in the 1970s and early 80's, the *goal* of everything was interoperability and open standards. That's why you could send email from an 11/780 to a PDP-11.

    Now, the goal seems to be closed standards to wall off any non-windows machine. Eventually, your PC won't even be "trusted" to obtain a network connection from your ISP unless you're running the officially blessed version of Windows.

    It will happen. Just watch.

    > I personally believe that closed source drivers should be banned from the Linux kernels, because they support this trend to the closed PC platform.

    Not sure I agree with you there. I think desktop Linux is too tiny for that "support" to matter in any detectable way. All it'll accomplish is making it harder for normal users to use their HW.

  13. Another example of Driver-Loaded Firmware: M-Audio by azzurro · · Score: 3, Insightful
    M-Audio audio interfaces also use driver-loaded firmware.

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

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

  14. Re:Vote with your wallet by fishbowl · · Score: 2, Insightful

    >all are ralink, and I own one of each of these devices, unless some kind of version-bump has changed the chipset

    That is exactly the problem. Our organization has found compatable devices in the past, only to reorder by exact model number to receive incompatable units. It has happened twice with two manufacturers, and it contributed to linux being abandoned for a project.

    --
    -fb Everything not expressly forbidden is now mandatory.
  15. Re:Vote with your wallet by Lumpy · · Score: 2, Insightful

    And there you have it. As it always has been in linux land. if you go to the big box computer wearhouse and buy crap willy-nilly you cant expect it to work when you get home. Linux works great if you buy supported hardware and make informed purchasing deciciosn like you just mentioned. It avoids the problems with the crap-level broadcom and other wifi hardware that is lower grade than a $3.95 winmodem.

    It blows my mind how the linux community continues to make the low grade hardware work instead of universally blackballing it Broadcom would actually pay attention if the linux community as a whole said "buy nothing with broadcom chipsets, it is low grade dog food"... But that is the problem, the linux community cant get congealed on a topic except for MS hate... hardware that is supported by the vendor get's some allocades but flamed to a crisp by "purists" becuse they dare to release a binary only driver to honor some silly legal agreements they signed.

    The biggest thing holding back linux from taking over the desktop like wildfire is that our diversity looks like a huge group of never happy children. we bitch about everything and everyone while some like the challenge of reverse engineering a piece of hardware the maker tried hard to make linux resistant.

    Every single linux PC I built for relatives to switch them to linux from windows is 100% functional and perfect. I tellthem it's like a MAC, if the software and hardware does not say for linux on the box , then do not buy it. This tactic works great, I get the initial question about software, point them at the add new software on the ubuntu start menu and never get a call again except for thanks or who to send money to to pay for the new software they just installed from that menu. (I tell them to donate $10.00 for each app to the ubuntu org.) Linux on linux supported hardware just works.

    --
    Do not look at laser with remaining good eye.