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
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.
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.
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.
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
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.
So then don't open source it. nVidia does that for their drivers.
So, it's really a case not of these companies not cooperating to allow drivers to be written, it's these companies not cooperating in a manner that suits the OSS software writers - which is a bit different.
I am the maverick of Slashdot
The main problem with Intel wireless drivers is the binary firmware needed to use the device. The open source driver is nothing more than a link between the kernel and the binary blob. The main issue with Intel is however the restrictive distribution rights of the firmware in question.
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
I have compiled the latest rt73 drivers on Edgy and had mixed results as well. There is one nightly that I got working great with a vanilla 2.6.19 kernel: rt73-cvs-2006120917. The current CVS HEAD should work too, it appears they just reversed a kthreads patch between what I have and HEAD.
Main issues I've had were with VIA EHCI usb 2.0 host controller crashing Linux when I tried to use the adapter on my router. I use the Belkin F5D7050 v2000 on my desktop machine in Windows, Linux, and MacOSX. Interestingly enough the Linux and MacOSXdrivers are way better than the windows drivers. In windows 80% of the time I have to "Repair" the adapter, which basically disables & re-enables the drivers. Then 10% of that I have to do it 2 or more times to get it to finally work. Otherwise it can see my network but won't associate. In Linux, 100% of the time it just works. In MacOSX, a generic apple compound device driver wants to take over the adapter before the rt73 driver loads, so I've had to use another driver that grabs the rt73 before apples driver loads, and releases it to the real rt73 driver once its loaded.
Usually within 15-25 seconds of boot the adapter is associated.
- 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 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
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)
No.
Two reasons basically - Intel (and coincidentally Broadcom and Marvell) do make the more functional and high performing network chips in the industry, and they are really not that stoked about releasing driver and firmware source code which exposes the inner workings of these chipsets and IP cores.
It must be said that there is no choice on running an Intel graphics adapter if that is what is built into your device and there is no further expansion. A laptop for instance. This makes it "important" to Intel to eventually make their products more friendly in the open source world. However on a PC which has an integrated ethernet like Marvell Yukon or so, there is plenty of choice; plug in an ethernet expansion card or wireless adapter that DOES work, and you can still do what you wanted to do, even if you spent $4.50 extra on the motherboard for the privilege of said chipset in the first place.
Intel are (as in the article) working on such stuff, but Marvell and Broadcom do seem to outsource their driver writing sometimes and there are some legal hurdles on the original code, such that they cannot release anything. Intel have spent a couple of YEARS working on their open sourcing efforts. Companies like IBM release their firmware and so on after incredible, incredible delays (SLOF for the JS20 is a good example.. they released the Forth part and then 6 months later an open binary for the JS20 boot portion so you could change the IMPORTANT parts of it) so that the code they release is about as far from relevant as it can be, although this is mostly a function of doing it right, sometimes it is also a function of doing it in a way that does not kick sand in the face of another, in-house proprietary offering (for instance, if they did not want a free Linux to run on hardware they intended to sell a proprietary UNIX on as the prefered OS)
The other reason is especially for regulations on wireless frequencies. If Intel let anyone program their controller to operate on channel 13, THEY are responsible for the operation and illegal use of those frequencies in countries where they are not public access. While the guy running his laptop and WLAN on channel 13 will get the fine from the FCC in the US for example, the FCC or CE regulatory bodies may then turn around and refuse to certify their future hardware that so easily breaks their specification (part of the certification process is an assurance that it does not interfere with bands that are regulated). That would be bad as you simply can't sell equipment that generates RF without FCC or CE approval.
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.
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 don't know about you, but I sure don't want a stupid dongle or PC-Card sticking out the side of my laptop, if I've got an otherwise-perfectly-good internal wireless chip!
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
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
Do you know what that daemon does, exactly? Does it have any security holes? Are you sure? Can you port it to other operating systems?
The 3945 is a terrible example of support, it's unacceptable for many of us (I'm not running Linux, for instance) and Intel deserves criticism over it, not support. In this case, it's far, far more than simply the firmware being closed (open firmware? neat for hardware hacking, but otherwise useless to me. I care far more about the drivers being open, and in all too many cases, they aren't...)
-bugg