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

9 of 229 comments (clear)

  1. Re:Vote with your wallet by fishbowl · · Score: 3, Interesting

    I've asked a thousand times and never had answered very well:

    List wireless cards, vendors, and prices that I can obtain today, which do work with Linux.

    The compatability lists on the linux wireless sites are useless -- sure there are lots of cards that work, but many of them
    have been discontinued for years, some were only available in certain locales, and some, if you found the model, have had their
    chipsets changes.

    I know of no resource that would allow me to successfully pursue wither of the following use cases:

    1. I want to purchase an 802.11g device guaranteed by the vendor to work with some version of Linux.

    2. I want to make a purchase order for a wireless device by vendor and part number, for a corpoarte deployment.

    I consider my wireless cards to be rare and treasured artifacts. I didn't upgrade my notebook because I knew I was extremely
    lucky to get a laptop with a built-in Prysm2. The situation *sucks* far worse than the winmodem situation ever did.

    --
    -fb Everything not expressly forbidden is now mandatory.
  2. FHF by Anonymous Coward · · Score: 2, Interesting

    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.

  3. 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.
  4. Re:Free firmware a solution? by kune · · Score: 2, Interesting

    This sounds well in theory, but in practice it will not work. There is a lot of very specific information required to implement firmware, which is not even available from the open-source-friendly vendors. If you think, this shouldn't stop smart people, then try it on your own.

    I write together with others the ZD1211 WLAN driver for the Linux kernel and though we have a lot of useful information from the vendor, we have huge trouble to match the performance of the Windows driver. If you think that is our fault, try to do better. Keep in mind that the developers of the Windows driver, have access to the hardware engineers, know all the registers on the chips and have access to test labs and equipment. All the information we have about the hardware registers is the open-source driver of the vendor, but you have to reverse engineer the semantics of the vendor driver.

    From my perspective the PC becomes more and more a closed platform, which makes it more and more difficult to compete with Windows. The reverse-engineering effort required becomes larger and larger, which should be spend on performance optimizations or feature requests. I personally believe that closed source drivers should be banned from the Linux kernels, because they support this trend to the closed PC platform.

  5. Not exactly by QuasiEvil · · Score: 2, Interesting

    Different creatures, these and winmodems. These are drivers that load firmware to chips on the cards that actually *do* something. A winmodem was really just a lousy sound card integrated with a DAA and thus could be plugged into a phone line. Nearly *all* of the signal processing was done by the host processor. No firmware was downloaded to winmodems, because nothing (or very little) was being done on the card itself.

    With these, the cards actually still do processing for themselves, but the manufacturer decided to spare themselves the cost of the EEPROM/flash to store the firmware image, so they make the host download it to them.

    Either solution is craptastic if you ask me, but winmodems were a different critter. At least with a winmodem, it would be possible to write your own drivers (in theory), since all you need is a good solid background in signal processing theory, some reasonably cool telco test gear, and all of the modem modulation specs. The hardware was relatively simple to figure out. With these, the hardware is a black box, likely riddled with bugs and gotchas, that would be almost impossible to reverse engineer without spending a good deal of time/money (possibly down to reverse-engineering the silicon itself).

  6. I was that scum by Anne+Thwacks · · Score: 3, Interesting
    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?)

    --
    Sent from my ASR33 using ASCII
    1. Re:I was that scum by gregorio · · Score: 2, Interesting
      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 code, massive duplication, inefficiencies, and bizarre workarounds for bugs both in the hardware and the firmware. It's entirely free of comments or documentation. It's not even indented right. It's a miracle it ever works. Be thankful this software does not require sophisticated algorithms, or it would be entirely hopeless. It's nearly worthless - it certainly isn't well-written enough to be useful on a competitor's chipset. But for some reason, hardware people think their software is the secret sauce, so they're afraid to let anyone even distribute the binary, much less see their awful code.
      You're wrong, sorry. You're just being arrogant, nothing more. You don't have any proof or whatsoever that firmware development is "spaghetti code with bad identation". That's B/S.

      Hardware development teams are not "cursed" with a "bad coding virus". In fact, a lot of hardware people are much better programmers than basement-living nerds. If you really think that Open Source programming is the heaven of code quality, I guess you never looked at OSS source code.

      While you're probably going to "prove" your dumb generalisation using some lame-ass anecdote, I also have mine: I worked with a lot of embedded development people (I'm also one of them) and most people I met are extremely good programmers, that can not only code well but they can hand-optimize their software without making a mess out of it. After all, we work with 30-200 MIPS processors that sometimes need to execute data-processing tasks that would bring a multitasked P4 to its knees. We know A LOT about optimization and we're far better coders than any basement rat you can find.

      If there's a market where you're going to find good programming skills and culture, it's the embedded development market.
  7. Looking for a wireless card right about now... by MMC+Monster · · Score: 2, Interesting

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

    --
    Help! I'm a slashdot refugee.
  8. Re:big problem for EVERYBODY by faragon · · Score: 2, Interesting

    Embedded systems have both space and boot time constraints, the more bloat you have to load after a reset (e.g. due to Watch-Dog reset) the worse boot times.