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."
firmware (Score:4, Insightful)
Is it a hardware hacker's paradise? (Score:3, 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
Re:firmware (Score:1, Insightful)
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?
The good list (Score:3, Insightful)
Ralink Technology [ralinktech.com]
Atmel Corporation [atmel.com]
Realtek [realtek.com.tw] Linux drivers here [sourceforge.net]
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 [seattlewireless.net].)
Which card? (Score:5, Insightful)
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.
The problem with not using the search facility (Score:3, Insightful)
not a new problem (Score:3, Insightful)
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.
Re:THERE IS NO PROBLEM! (Score:3, Insightful)
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.
Re:No wonder it doesn't work for OSS? (Score:1, Insightful)
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
Just look at RealTek.... (Score:3, Insightful)
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.
Yep (Score:3, Insightful)
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.
Re:Vote with your wallet (Score:1, Insightful)
Re:Free firmware a solution? (Score:1, Insightful)
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.
Re:The good list (Score:4, Insightful)
Another example of Driver-Loaded Firmware: M-Audio (Score:3, Insightful)
From http://www.theory.physics.ubc.ca/transit.html [physics.ubc.ca]:
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/ [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:
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:
-azzurro
Re:Vote with your wallet (Score:2, Insightful)
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.
Re:Vote with your wallet (Score:3, Insightful)
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.