The Problem With Driver-Loaded Firmware 229
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."
Re:Vote with your wallet (Score:3, Interesting)
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.
FHF (Score:2, Interesting)
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.
Let's look at this another way ... (Score:5, Interesting)
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.
Re:Free firmware a solution? (Score:3, Interesting)
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.
Not exactly (Score:3, Interesting)
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).
I was that scum (Score:3, Interesting)
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?)
Looking for a wireless card right about now... (Score:3, Interesting)
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.)
Re:big problem for EVERYBODY (Score:3, Interesting)
Re:I was that scum (Score:3, Interesting)
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.