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

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

  2. Let's look at this another way ... by ScrewMaster · · Score: 5, Interesting

    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.

    --
    The higher the technology, the sharper that two-edged sword.
  3. Re:Vote with your wallet by c0l0 · · Score: 5, Informative

    Basically everything powered by ZyDas and RaLink-Chipsets works flawlessly with GNU/Linux and the Free/OpenBSD. You can grab those off of EBay dirt cheap in large quantities, mostly from Power Sellers/commercial shops. Big-brand vendors with "the good stuff" on their boards I've personally seen yet were GigaByte (for MiniPCI), ASUS (PCI), and a crapload of others with ZyDas and Prism (for USB - including, for instance, NetGear).
    There's also an emerging (well, maybe they exist for ages, but I've not known the company up until recently) manufacturer for networking gear called "TP-LINK" which sells virtually everything from RaLink. I happen to have a "TP-LINK TL-WN321G" (usb2 full speed) adapter which features a RaLink chip supported by the rt73-usb driver just perfectly. Cost me 9 Euro in germany.

    Hth.

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

    YTARY!
  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. Re:Is it a hardware hacker's paradise? by forkazoo · · Score: 4, Informative


    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.
  6. Firmware != Drivers by itsdapead · · Score: 4, Informative

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

    --
    In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.