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

16 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. Re:As someone that has been there by jridley · · Score: 3, Insightful

      If it wasn't for the 5-year warranty, I'd be looking elsewhere.

      I decided to start ignoring the warranty on drives.

      I mean honestly, if I have a drive fail, the LAST thing I'm worried about is whether I'll get my pissin' $70 back for a 250G drive. I want my DATA not a few bucks.

      I recently had my first real, hard, unpredicted (no SMART warnings) failure EVER out of dozens of drives from every manufacturer, and it was a 4 month old Seagate SATA drive. HP sent me a replacement, I put it in last night, and after 4 hours use the SMART data reads 4 hours spin time and 54 hardware ECC hits. I have 5 year old Maxtors (with 1 year warranties) that don't have 54 ECC hits.

      I don't care if they have a 100 year warranty; I don't care if they're giving them away for free; I'm not going to use drives I can't trust.

      I'm not buying any more Seagate for a while. Maxtor either since Seagate bought them. I think I'll buy WD for a while; I just picked up 2 of them and they're spinning nicely and behaving.

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

    The two companies are Ralink and Amtel.

  3. Just one bit of advice by Anonymous Coward · · Score: 3, Insightful

    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.

  4. Site slow, mirror by killa62 · · Score: 3, Informative
  5. 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.

  6. 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
  7. Re:The view from the other side of the fence by monoqlith · · Score: 3, Informative

    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.

  8. 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
  9. Re:What about Intel? by vally_manea · · Score: 3, Informative

    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.

  10. 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
    1. Re:Suggested Solution by the+Hewster · · Score: 3, Informative

      Creative sound cards don't "just work". Their latest X-Fi cards are unsupported and will probably not have open drivers (or even closed ones) for a long while

  11. 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.
  12. 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

  13. Re:Is the FCC the cause? by doj8 · · Score: 3, Interesting

    > Another possible answer could be that not all vendors agree
    > on the interpretation of the requirements.

    Likely this is true.

    In the case of IBM (now Lenovo), their laptops will not boot with a non-IBM-certified wireless mini-PCI card in the system. Their interpretation of the FCC regulations is that the complete laptop, with wireless card, is FCC-certified. Installing a different wireless card, even though it is a standard component, even from IBM itself, and has been FCC-certified by itself, in IBM's opinion, makes the entire laptop no longer certified. Therefore, they must prevent the now non-certified laptop from working so as to meet FCC compliance.

    It is a singular interpretation of the rules, as far as I know. There is a simple third-party fix to poke a byte to disable the check, so it can be worked around, but is still aggravating.

    While a bit off-topic to wireless drivers, this example shows that the rules are subject to such extreme interpretation. I can easily see the legal department of Intel, et al, deciding some rule would break FCC compliance and thus preventing open sourcing the driver or even making the specifications available.

    --
    -- Dan Jenkins, Rastech Inc.