Slashdot Mirror


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."

9 of 163 comments (clear)

  1. As someone that has been there by mycal · · Score: 5, Interesting


    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

    1. Re:As someone that has been there by DavidNWelton · · Score: 5, Informative

      I set up a wiki a while ago in order to track hardware that does not work with Linux and that you should avoid:

      http://www.leenooks.com/

      It's going pretty well and seems to have become popular enough in its niche that it's not just me maintaining it, and it (almost) pays for the hosting, with adsense.

  2. The companies by Anonymous Coward · · Score: 5, Informative

    The two companies are Ralink and Amtel.

  3. I know what IBM will do. I don't know why. by quiberon2 · · Score: 4, Interesting
    If you want (say) a disk controller subsystem from IBM, then IBM will generelly supply the adapter microcode as 'Object Code Only, All Rights Reserved'; and the device driver as open-source.

    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.

  4. Re:Of all the things by infinityxi · · Score: 5, Informative

    No, lack of drivers is a product of Microsoft's dominance. Vendors didn't inherently go with Microsoft because they were Microsoft (Before they started being used on every desktop). Microsoft is now the dominant OS therefore vendors will release drivers especially for windows. Ever look at an AMD chip in the plastic? It says Designed for XP, same for 90% of the graphics cards made for PCs today. I think that the only way to have a level playing field with the drivers are for the vendors to open the code of the driver (NOT the firmware as some douchebags will want you to think) and/or give out some clear or semi-clear documentation on how the computer should interact with the device. OpenBSD has made leaps and bounds on doing this and stay committed. In fact they have excellent wireless support, especially since they love to be technically correct with code/security etc. Open source operating systems lack the back door business deals that make this easier to accomplish but it is a hell of a lot better than it was back in 1999. Win-modems anyone?

    --
    Turn based strategy game that runs over XMPP. Phalanx
  5. The good list by steveha · · Score: 5, Informative

    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
  6. Suggested Solution by pembo13 · · Score: 4, Insightful

    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
  7. There's more needed than just documentation by Freggy · · Score: 4, Interesting
    Still I have the impression that lack of manufacturer willingness to publish documentation, is abused all too often to explain that there are no drivers for Linux, while the reality shows some other interesting facts. Here are some of my experiences I had with wireless in Linux:
    • 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:
    • Good Linux support depends of much more than just the manufacturer publishing documentation. There should be an active community of developers: if that is lacking, even with good documentation, support will remain problematic.
    • Even without documentation it is possible to create good drivers by means of reverse engineering. If a card is popular enough and the right people at the right time start reverse engineering, then this could be a big success.
    • The presence of a proprietary, non-free driver could harm development of a free driver. For example take a look at the nvidia driver. Since a year, there's a reverse-engineering project to create a free dri-driver for nvidia, but it's not advancing at all. I guess lack of developer interest, because there's already the proprietary driver. Also look at ipw2945 driver: OpenBSD proved it can work without the the Intel binary-only daemon, but for Linux, nobody cared to reverse engineer it.
  8. Been there (on the Corp. side) by Wackston · · Score: 4, Informative

    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