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 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.
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
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?
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.
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: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.