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."
Best Buy loves Linux (Score:3, Informative)
Re:Vote with your wallet (Score:5, Informative)
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.
Re:Is it a hardware hacker's paradise? (Score:5, Informative)
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.
Maybe it's not just the wifi card makers. (Score:1, Informative)
I have read that it is possible to edit the BIOS (decompress, edit the proper bytes in proper places, compress back and flash), the problem arises with flashing, it just doesn't want to do it. A work around I found is if I keep the system in the grub menu and switch out the card, I can still use the card in Linux, the problem is that this is a workaround and not a real solution.
Re:THERE IS NO PROBLEM! (Score:2, Informative)
Looks like RaLink [ralinktech.com] might be the only player on the block soon enough...
Re:Is it a hardware hacker's paradise? (Score:3, Informative)
MOD PARENT DOWN, PLAGIARIZED COMMENT! (Score:2, Informative)
Parent is stealing comments to salvage his poor karma. Notice his extensive "Score: 0" comment history [slashdot.org].
Re:Looking for a wireless card right about now... (Score:3, Informative)
Firmware != Drivers (Score:5, 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)?
More votes for the wealthy is not a good goal. (Score:3, Informative)
I'm all for letting cooperative organizations know why I'm purchasing their equipment and not their uncooperative competitors (and notifying their uncooperative competitors to the contrary), but I don't expect it to mean that I'm in any way "voting" or leveraging some kind of democratic control over what is essentially a private tyranny.
However, if you read Theo de Raadt's informative talk slides [openbsd.org], you'd see another reason why "voting" with your money isn't what it is made out to be [openbsd.org] (slides 24 and 25—"The OEM problem"). Maybe if customers in the US were organized to a scale never before seen and all demanding chips with complete and unrestricted documentation, we'd have more control as a group. This is worth pursuing, and if you are calling for this I would gladly join such an effort.
I say this is another reason because the general problem with the concept of voting by spending money means that rich people have more "votes" than poor people, so this saying tries to cast a egalitarian pall on an inequity. de Raadt addresses how much consumer power you have with regard to computer hardware by pointing out how OEMs leverage competition to insulate themselves from customer's wishes for chips we can operate without proprietary software. I mentioned this before [slashdot.org] but I didn't think it would come up as a repeat so soon.
You've miss-understood the article. (Score:3, Informative)
Re:Vote with your wallet (Score:3, Informative)
I guess for most people knowledgeable about Linux, this isn't a big issue - they know the answers or know where to get them. Still, a better solution would make things more convenient for them. And newcomers would certainly be much happier.
You know, I'm involved with a reasonably young project that aims to do exactly that - provide a community-powered, up-to-date, comprehensive central Linux hardware compatibility listing. It was launched in autumn, but for various reason, no work was done on it for several months, and we're only just picking up on it again now. So it still needs a whole lot of work, and it could do with more contributors, too. We tried to submit it to Slashdot, but the story was refused.
In case anyone is interested in taking a look, the URL is http://www.tuxpatible.info [tuxpatible.info].
If you think this project has potential and is worthwhile supporting, spread the link, contribute to the website, or if you have mod points and feel like it, mod this post up so that more people may see this!
Re:Vote with your wallet (Score:3, Informative)
I think you're missing the point about what exactly tuxpatible.info is meant to be.
Yes, theoretically, something that works in one distro will indeed work in all of them. Practically, however, this is often not the case. Are you seriously claiming that all Linux distros have identical hardware support / recognition? If that was really so, hardware recognition wouldn't be such a major point in Linux distro reviews. Fact is: Not every distro includes every driver, not every distro includes the same version of every driver, not every distro is perfectly bug-free, and so on, and so on.
Tuxpatible isn't just meant to answer the question, "Is there a Linux driver available for $HARDWARE". It's meant to answer more specific questions, like: "What distros will $HARDWARE work well with?" or "Will $HARDWARE work with my distro of choice?", or "What do I have to do to get $HARDWARE working on my distro of choice?", or "How do I fix this common problem with $HARDWARE under my distro of choice?"