The Battle for Wireless Network Drivers
An anonymous reader points out this Jem Matzan article "about the pain Linux and BSD programmers have in trying to obtain/write device drivers for various wireless cards," writing: This article also has a fairly detailed explanation of how wireless firmwares and drivers work. Two of the manufacturers are actively working with the FOSS community without requiring an NDA."
Trying to develop wireless 802.11 interfaces for embedded platforms I agree that it is a total pain in a arse. I even knew people that I worked with before at broadcom and couldn't get them to kick down the Software API. We finally got a Philips BGW200 system working and that wasn't easy either since even after filling out NDAs we got messed around for a few months trying to get the right documentation.
But now it does seem that Atmel is working with people, and accourding to the article so is raylink.
What you can do to help is if you have choice, support these guys when you have to buy a wireless adapter even if it is a few bucks more.
-M
I've spent the last 3 hours using nasty work-arounds to get rt73 driver working on linux. Still no go.
Yo.
The two companies are Ralink and Amtel.
I was trying to get an [unnamed] card working.
I spent days looking for drivers for this card.
There were many comments negative about this card
and it's drivers. I was mostly attempting to use
"ndiswrapper" with a variety of versions of drivers
for this card and chipsets.
Hint: Turn OFF the security on the network.
Test just the card. Not the boneheaded typo in the pass-phrase.
Of all the reasons given on this site for the dominance of Microsoft over the mainstream OS market. I think lack of drivers is the main cause. You know your hardware is going to work with Microsoft. If other OS's were able to use drivers written for windows I think you might actually see some competition. Right now companies write drivers for Windows, and maybe Mac Linux if they think its worth it. Its a catch 22, no one writes drivers for an OS with a relatively small number of users, and people don't like not being able to easily use their hardware on an unsupported OS.
No problems with Ralink's driver.
Site is slow, heres a mirror5 c384fec7f7c/index.html
http://mirrordot.org/stories/4e218f7eded126769c2c
I don't know about redistribution rights; you can always ask.
If an open-source developer wants to see the source for the adapter microcode, ask about that one too.
considering the last laptop I tried to help set up did not have a valid driver in existence for its built in wireless receiver, I feel sorry for anyone trying to get an even less common one. Driver writing is just a whole bucket of fun too with most companies' cards, lol.
Google's Super Secret Search Algorithm: SELECT @search_results FROM internet WHERE @search_results = 'good'
Intel GPL'd its integrated graphics drivers recently; wouldn't you think it would release the code or specifications for the wireless chips used in its "Centrino" stuff too?
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
I don't want to be the one to start on this first, and I'm not sure whether you gave all the details and you didn't really give a clear narrative of what actually happened ....but
From what I gather it sounds like you didn't give it at all enough of a chance to work. A few days? That's nothing. There are logistical problems with open sourcing your software, just as there might be with any transition. It takes a little bit of work and time to actually make sure the cooperation with the open source community is fruitful.
You shouldn't have fired someone for merely suggesting something to you. Didn't you make that decision?
Of course, if he was in charge of the transition and let it fail that's another story. If this is the case, then don't blame open source for your employee's failures.
Sign it, get the necessary information to write the driver, and be done with it. Where's the problem here?
I am the maverick of Slashdot
Do what OS/2 does and just write the wrapper around it and use the existing Windows drivers.
(BTW, didn't OS/2 grab that project from Linux anyways?)
Why re-invent the wheel especially when some of them aren't keen for you to do so?
According to the article, there are three companies that have actually worked with the free software community on drivers. Here is the list:
Ralink Technology
Atmel Corporation
Realtek Linux drivers here
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.)
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
$ lspci | grep "Network"
00:14.0 Network controller: RaLink RT2561/RT61 802.11g PCI
Hey look at that, what a coincidence...
PS. Last time I checked (which was a while ago admittedly), it was hell to set up. There are drivers from the manufacturer, and there's a project to write open drivers, with at least two different series of drivers with no clear directions on which to use or how to set everything up in userspace. I haven't even bothered getting it up and running. So I'm lazy, big deal.
I'm still waiting for Linksys to post an updated driver (without the buffer-overflow vulnerability) for a PC-card WiFi adapter I inherited (wouldn't have bought it myself, I'm pretty particular about Linux compatibility).
In the meantime I tried to use the open-source Linux driver from Berlios but it's not quite there yet, at least for the BCM4318. Can't complain, tho, wouldn't want to be in their shoes considering that Broadcom is totally uncooperative, from what I've heard.
The above poster is, simply, lying. The events described did not happen at all, anywhere, anytime.
Just a quick heads-up, monoqlith - this is a pretty common copy-and-paste troll, with the first few instances of "Linux" replaced with "OSS". Just kick it back under its bridge and get on with your morning.
Here you go, a nice break-down of that troll post type - from June 2005:c id=12887520 - Whatever happened to my favourite troll?
http://games.slashdot.org/comments.pl?sid=153632&
GP is an ancient troll, slightly reworded. Don't waste your time responding.
Il n'y a pas de Planet B.
Intel has drivers (IPW2200, others also) and firmware for Fedora and they work out of the box (has at least for me) but I know that there has been some problems for people getting them installed correctly.
I don't get it - Intel has a well-supported, open-source project that they've sponsored for their chipsets - when I recently bought a Dell laptop, I purposefully bought it with the Intel 3945d chipset, and used the RPMs found at their SourceForge project site to get it working on Fedora Core 6.
Why aren't they getting credit for this?
I have no problem with your religion until you decide it's reason to deprive others of the truth.
They don't want people to figure out that wireless network technology was actually discovered amongst the wreckage of the Roswell alien spaceship crash. If the open source developers are allowed to dig too deep, they'll discover the dilithium crystal in the heart of every wireless NIC!!!
And there was much chair throwing in the house of Ballmer that day, I can tell you.
I remember reading awhile back that the reason that Intel had to have closed source firmware for their wireless drivers was because they said the FCC mandated that there was no way anyone could get the power output of their wireless cards. Does anyone know if this is true? If it does shouldn't we be pestering the FCC and not the companies since all they are dong is following the FCC's rules?
Openly promote hardware companies that have fully functioning PCI, PCMCIA, and USB wifi cards in Linux. I will gladly spend my money with them regardless of wether I'm purchasing the hardware for myself or a friend, or for a Windows machine or a Linux machine. In the same way that HP printers almost always "just work" and Creative sounds almost always "just work", and I seek those brands out... I am willing to, and would do the same for other types of hardware. Of course for now, my purchasing quantities are quite small. But who's to say that they won't grow at some later point.
"Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
The madwifi team is going to use the openhal code, since it's the only code that can be included in the linux kernel. I am already using openhal for the wireless cards in my linux routers.
- First I bought a card based on fullmac prism54 chipset. It was known as one of the best supported chipsets in Linux, at the time the only 802.11g driver included in Linux kernel IIRC. It worked fine for basic operation yes, but it did not seem to support WPA. Prism54 development seems to be halted completely already for some time. People are developing the islsm driver which would also support freemac cards, but this is far from usable at the moment.
- Intel Centrino ipw2200: had this in my laptop. Just installing firmware (which was as easy as adding PLF repository to my Mandriva system and running urpmi ipw2200-firmware) and it worked perfectly, WPA included!
- Ralink rt2500 based PC card: I bought this again because I knew the manufacturer published documentation. Well, actually there are two drivers. The legacy driver, which should be somewhat stable, but which you cannot use when using multi-processor (dual core, etc), and the new driver which is beta and still unstable. Well, I tried both, but did not succeed in getting my wireless network to work.
- Broadcom 43xx based PC card: was known at the time as one of the worst chipsets for Linux, because Broadcom was unwilling to publish documentation. Still bought it, because a new reverse engineering project started at that time. Today with kernel 2.6.19, this driver is included in Linux. And it works very good, WPA included. Yes, I had to install firmware by hand by means of bcm-fwcutter.
So I'm arriving at the bizarre conclusion that for me, the best working wireless chipsets, are these from the category of manufacturers that are not very willing to work together with community. Still, there's a free driver, with only the firmware being proprietary and not freely distributable. Other drivers which should be in the recommended category, failed for me. Some reflections:I've picked up one of these cards for wardriving (I'm a complete noobie unfortunately)l e=Main_Page
These chaps have been pretty helpful and the drives (iirc) work out of the box for my rt2500 minipci under ubuntu 6.10
http://rt2x00.serialmonkey.com/wiki/index.php?tit
I had an intel ipw220 but frankly as a noobie, with or without howto's it was nothing short of a fucking nightmare to get working with WPA under ubuntu from 5.04 to about 6.0 if I recall (and it's still not simple, out of the box yet)
I also have an orinoco gold I got from ebay, specifically for wardriving, comes with an external aerial - that thing is the business, just plug and go - good stuff, chipset, sorry - can't recall - I think it's atheros(?)
We recently discussed this issue at the International Plan 9 Workshop. Lack of driver documentation and time/people to write drivers is what will probably eventually kill using Plan 9 on real hardware.
There was a time when documenting your hardware was required for anyone to buy it.
Even a source code leve driver is not enough when you're not Linux/BSD.
Imagine writing a driver when you only have a driver for another OS as your documentation!
It's just someone else's view of the documentation they saw / reverse engineering they did.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
who needs wireless when you have infrared? LOLZ
I've been there on the other side of a situation like this at a large European based semiconductor manufacturer.
Basically, the real 'motivation' for not supporting this kind of stuff is usually corporate inertia and bureaucracy. 99% of the time there is no IP really to protect. However, 'the system' slaps an NDA on everything by default and although field application engineers and tech. marketing are be assigned to the visible customers theres no-one officially tasked with supporting sales-via-FOSS. Result: even if there's goodwill (which is surprisingly often) nothing happens.
It is absolutely normal for the Intel's of this world to simultaenously pay people to evangelise and support FOSS whilst at the same time product-divisions stone-wall. There are simply other (internal) agendas at work than getting the product out. In short-hand: not related to this years' job objectives? No action! No bonus or visibility? Spare-time effort only.
I think it is noticeable that the businesses that responded effectively in the case of the Wireless drivers were the smaller, hungrier, more genuinely market/customer driven operations.
Fortunately, in the longer-term the Marvell's of this world do tend to rip the lazy corps. a new one even in more conventional customer relationships. The underlying culture of an organisation (genuinely customer driven or just talk) *will* show through. Alas it's a slow process...
Andrew
Open Source & Linux Compatibility are two different things.
I don't think WiFi companies will ever Open Source the drivers since this will allow *anyone* to change the chip's power and communication frequency; This ultimately allows *anyone* to listen on any frequency, including the military's.
On the other hand, companies willing to provide a Linux-compatible driver are most likely providing a binary file that is compatible with the chipset in question.
-> Any electronics guru could construct/re-construct a wireless circuit to match the frequency s/he wants. This sure limits the amount of kiddies lurking around...
Mod points are a dangerous tool. Abuse them wisely.
The real reason you cannot get driver information is that it isn't just one company you have to deal with. It's several, most of which have legal obligations in a deadlock situation.
You can't get there from here.
Patents are not the major problem, either. They have to be declared in the public space, and are therefore a licencing issue. The real problem, is that IP is such a vague and fuzzy term that using it is worthless.
RMS has correctly identified copyright, patents, and other legal instruments of author protection, each with their own rules as comprising separate realms in the fuzzy world of IP corporatespeak.
The real risk to a player in that market?
The proprietary information, once it has escaped is no longer deemed a comparative advantage. Once it is out, it is almost trivial to either reverse engineer, or improve upon, according to conventional wisdom. In fact, the entire folly of software patents is just an public extension of proprietary behaviour - but played out in the legal system.
The real value in a company is not the puff of the "owned" property - it is the web of persons that can turn out that design. Those sorts of teams are not built up overnight, although incompetent or foolish management can rip them up pretty fast.
Even the major vendors have to outsource things like driver development, microcode development, and even chip development. Usually because of time to market or personel limits. They don't own all the bits that make up a complete solution. They don't even have access to how the pieces are put together. And, almost to a man, they have signed legal agreements with each other to hide ...err... protect this information.
The entire area of systems on a chip (SOC) needed to take advantage of the reduced silicon geometry requires a huge investment on hardware design, either as verilog, VHDL, or other hardware description language. And it isn't just the hardware design, either, it's the test harnesses to see that the little bits of hardware actually play together.That alone is about half the total man weeks needed in development.
So, what was once a small problem for hardware manufacturers, now is a large problem. To make it worse, the hardware, being software, is now suffering the same scaling problems that the software world sees. I don't think there is an easy way out.
In the design flow, the chip manufacturer (who shall remain fab-less) can either licence chunks of the design from third parties, or use some of the captive designs from the silicon fabs (for some of the manufacturer dependent high speed analog stuff) or roll their own.
I think you can see why you cannot get any design information - someone else owns it.
I think an economist might have a nice time comparing the current cost of control to the case of using the GPL, as an example, and sharing.
Perhaps a mixed model, such as that used for USB might work, too.
This is progress?
Here are a couple of websites with community based ratings/comments on vendor friendliness to FOSS. It might be worth it if you are a real believer of supporting FOSS to make purchases only from companies that are FOSS friendly, especially if you work for a company that is making large hardware purchases and you have any influence over what is to be purchased. And if they have or request a comment/questionaire make sure to note that vendor FOSS friendliness was a factor your decision making.
ZERO ZERO ONE ZERO ONE ZERO ONE ONE! Just brushing up for my next big invention: Ethernet over Voice (EoV)
I see people messing around with NDISWrapper and all sorts of crap drivers, but why not simply replace your notebook's wireless mini-pci card with an opensource friendly Intel 2200 or 2915 Wireless adapter? I did this on my Sony R600 (Pentium III-M (not Pentium-M!)) and it works great, both in Linux and Windows. The card's cheep too, around 30 euro's.
I haven't got much experience in the world of wireless networking, but in my brief excursions into linux and wireless nics, the Intel stuff is the only one that works outta the box. ipw2xxx drivers are included in the FC kernels at least.
I, just yesterday, ordered a belkin wireless G nic specifically because it had a atheros chipset that is supported by madwifi for my MythTv setup at home. I am creating a dedicated htpc frontend because I'm impatient, I whipped out an old Linksys WUSB11 v2.8 USB nic that I had, and again revisited the berlios atmel project page, fully expecting it (like last time) to take a few days before I could even get the drivers to compile. I'm not sure whether it's because I've done it before, or whether the project has proceeded that much further, but I got it working in less than an hour, got bored and created some fc6 rpms for it. They're available here:
http://www.giotechnology.com/fc6
There's probably something wrong with them: ie the versioning scheme isn't FC standard, I could have included a hotplug config file, so you don't have to roll your own, etc etc. I'm willing to listen to feedback.
If someone would like to host them, let me know, they're currently on a dinky cable connection.
FYI myth users, wireless B will not cut it for watching video, Wireless G works, but I get the feeling that it is strained, so if your following my footsteps, you may want to look into one of the faster G protocols.
I'm waiting for the upstream G protocols to actually standardize before I go any higher in the Wireless spectrum. I dislike vendor lock in.
The arguments that Intel, Marvell, and Broadcomm make are very weak indeed. After all, 802.11 is a standard so the big 3 must ensure interoperatibility with other 802.11 products so the firmware really isn't really Intellectual Property per se. I cannot see how Intel, Marvell, or Broadcomm could loose by supporting the BSDs and Linux. If anything, it stands to reason that by opening their products to more platforms, they reach a broader audience thereby increasing sales potential. This is only speculation, but I wonder if Microsoft has some hand in this. This may just be another angle of attack in Microsoft's bid to slow adoption of open source operating systems. With the ever increasing use of wireless networks, it stands to reason that if an operating system lacks good support for wireless networking capability it will not be considered for use. Maybe I am a conspiracy theorist, but this one does not seem to far fetched. After all, Microsoft had a hand in killing Netscape. Just something to think about.
Certainly, Ralink, Realtek, Atmel (to some degree) and ZyDAS (no longer a company of its own) are the good guys among wireless chip manufacturers.
B /
In order to be able to vote with one's wallet (or credit card), one needs to get to know who are the good guys among device manufacturers as well (namely which chips are inside the various wireless devices).
Here are some links to support these decisions:
Devices using Ralink chipsets
http://ralink.rapla.net/
Devices using Realtek chipsets
http://realtek.rapla.net/
Devices using ZyDAS chipsets (mostly external "stick type" USB devices)
http://zydas.rapla.net/
Beware of those manufacturers who routinely change chipsets without changing a device's name or model number!
Btw.: It might be worth noting that ZyDAS has been acquired by Atheros earlier this year. The open ZyDAS drivers are still available. They have been moved (e.g. for the popular ZD1211B chipset) to
http://www.atheros.com/RD/ZyDAS/web_driver/ZD1211
Regards,
Walter.
Ralink seems friendly.
There is a wiki about hardware vendors who have device drivers open source, etc.
http://vendors.bluwiki.org/
My wifi card worked without any real config or install needed. It's a trendnet or something like that, can't remember exactly.
Of course, I do know how much of a pain in the ass these things CAN be...I had a belkin that I never got installed, and my bro's laptop took about 5 hours, and we pretty much kept doing the same exact thing and each time it got a little bit closer.
I recently bought a brand-new laptop. Everything was PERFECT about it, according to the specs I was looking for, so I bought it, figuring I'd have no trouble solving any small Linux driver problems I'd inevitably run into.
Well, to my dismay, it turns out this particular laptop contains the Broadcom 4311 chipset. Now, there IS a bcm43xx driver, but it seems that, just my luck, the 4311 is one of the more "problematic" chipsets that are supported by that driver. (And when I say supported, I mean, go clone the current git repository if you want something that sort of might work.)
Anyways, I DID finally manage to get it working, thankfully. The bcm43xx people are doing a FINE job with the information they have. Especially considering they have reported more than once that they don't have a card with 4311, it's amazing that it works at all. In fact, I'm writing this post over my wireless connection. It's not perfect -- slow, and doesn't always connect when there are many APs in the area, but I'm SO happy it works as much as it does.
But my point of this post is: Since I'd really prefer a working and reliable solution, I'm *this* close to buying an external wireless card. I don't particularly want a USB card that sticks 4 inches out of my computer. However, a lot of new laptops, including mine, no longer come with a PCMCIA slot!! This _really_ limits my options, meaning I'm stuck with getting the 4311 working as well as I can.
There seem to be VERY few ExpressCard options on the market. Is this going to change anytime soon?
I appreciate that it's a better bus than PCMCIA, and I'm glad we're moving forward with better standards and higher bus bandwidth, but what's the point of having an ExpressCard slot if there are NO DEVICES for it?
So, in short, does anyone know of an ExpressCard wireless solution that is WELL supported under Linux?
Thanks.
I've built a few 802.11 networks in rural areas (some solar powered!) using really low end hardware.
Frequently devices get smoked by high (lightning) or low (flat batteries) volts and stop operating completely. Sometimes they just start acting strange. I am going to start using ethereal (now wireshark) with the appropriate card to hopefully find out a bit more about what is going on when there is funny behaviour.
On a related note: read Theo de Raadt's slides from his OpenCON 2006 talk "Why hardware documentation matters so much and why it is so hard to get". In this talk he answers these questions and he debunks common arguments presented by vendors who don't want to tell you how the hardware works and sycophantic users who act as intellectual bodyguards for these vendors. You'll also learn another problem with what is often described as "voting with your wallets"—informative counterarguments to what you've read on /. any time this topic comes up.
Digital Citizen
So far this is the main reason I've not switched to Linux. I've got a Belkin wireless card, and it refuses to work with any version of Linux I've tried so far. I've managed to conenct to a network with the latest version of BackTrack, but it's so unstable I'm staying on XP until it's fixed for good, or I can get a new card.
I bought one of those MSI-branded RT2500-based miniPCI cards for my Dell C640. It works quite well with Centos -- but only after compiling the driver myself, and I haven't been able to get it to work with a newer kernel quite yet. Otherwise, for stock Centos, this card worked great for me. I do wish I could figure out how to get the bluetooth working on it, but for $30 I was happy enough to drop the PCMCIA card.
Then again, I haven't been able to figure out encryption, and all that fancy stuff yet. Works instantly with Kismet, which is really the important part.
Zhrodague.net - I do projects and stuff too.
Older versions of the ipw2200 driver had a bug that broke WPA support when using NetworkManager, even though it worked fine if you were to use wpasupplicant directly. That bug has now been fixed, though, so give it a try with the current version of Ubuntu.
So far this is the main reason I've not switched to Linux.
If you've got the Unix bug but want good driver support, consider a Mac. I'm a die-hard linux geek, but I'm writing this on a MacBook Pro. I run Fedora Core 6 and Windows under VMWare, the first for my fix (and development), the second for a couple apps that haven't been ported yet. With the virtualization support in the latest Intel processors it's really quite usable, and wireless is never a problem.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
It's not too often we get a well-researched article anymore. This one clearly took a good amount of legwork, and a good investment of time. For it we get some really useful data and interesting information. What's more, it has a Creative Commons license.
Kudos to Jem Matzan.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
With good backups (I use a rsync script for drive mirroring and a dar script for DVD archiving) the consequences of a hard drive failure generally mean 15 minutes taking the backup out of the mobile rack (unplugged and removed from the computer room when not in use) and put it in the drive slot and if the bad drive's in warranty, waiting for the replacement drive to come back and mirroring your main workstation (ex-backup) drive to it. . . loss a day or two's worth of files.
Note that I said DVD+R. . . I'd been using DVD -R for years (including a bare-metal restore) before I discovered that +R is more reliable.
Tech Public Policy stuff
Well-known vendors NOT on the list frequently buy chipsets from these vendors. . . I have a D-Link G122B2 USB wireless adaptor that works with the Ralink 2570 driver, SLED10 and Freespire with no setup. I think the G122C3 uses another Ralink driver, and the A model doesn't use a Ralink chip set.
This makes checking for Linux compatibility a lot more interesting.
Tech Public Policy stuff
Around three or four years ago, I had this problem when I bought an Inspiron 5150 from Dell. I later sold it, but that's not the point. I installed Slackware 10 on it and proceeded to boot up, waiting for my wireless to blink on. Imagine my surprise when nothing happened. I booted back into XP (it was dual-booted with lilo) and Googled for drivers for the Broadcom 4400 chipset that Dell had rebadged as something proprietary and built into a PCMCIA slot. Nothing. I'm still a devoted Slackware user, and have since managed to cobble together a semi-working driver with no hotplug support. Hopefully, Broadcom will notice that fewer cards are selling and ascertain the cause.
... and don't buy product that use these chipsets.
MkLinux?
Mach Linux?
McClean-ix?
McKleenex?
?