Which Is Less Evil? Ndiswrapper or Binary-Blobs?

By | 2007/08/24

So as you read earlier I’ve rebuilt my laptop today using Ubuntu 7.10 “Gutsy” Tribe 5.ย  I’ve been on a bug-rampage today (I need to get my LP karma up!), one of the bugs being that I have no wireless out of the box.

Now, I want to present you all with the options and see which is less evil.

Option 1: ndiswrapper + windows driver

Option 2: madwifi and the non-free binaries

I asked around in IRC today and the closest answer I heard so far is:

“[Use] madwifi, because ndiswrapper makes baby Jesus cry”

…that may be true, but what do the rest of you think?ย  Non-free ndiswrapper or non-free madwifi?

25 thoughts on “Which Is Less Evil? Ndiswrapper or Binary-Blobs?

  1. Bryan

    It’s true, ndis DOES make baby jesus cry. I saw it myself, like twice. Besides, anyone who doesnt want ANY sort of closed source software on Linux is an idiot, and I stand by that as a programmer.

    PS: my website is http://eligx.livejournal.com, but since your website is a piece of shit, it wont let me post that plzkthx

  2. Darksider415

    I’d go with madwifi, as it’s the lesser of the evils. At least, it is in my experience. Especially since ndiswrapper has a pretty poor track record with me, while madwifi has worked every time, for me. Just my US $0.02

    DS415

  3. nixternal

    they both are evil and they both suck ๐Ÿ™‚

    @Bryan: time to grow up! I can add my website with no problem plus I don’t want any type of closed source software on Linux either, however for my wifi I really have no choice.

    So, binary blobs or windows drivers? they both are locked down so it doesn’t matter. I would choose whichever is best for your card truthfully.

  4. Igor

    That’s like the difference between Coca and Pepsi… all the same non-free software ๐Ÿ™‚

  5. Soren Hansen

    Look at it this way: Madwifi is a free driver (most of it can be redistributed under the GPL), which depends on a binary blob to do some of the dirty work.
    With ndiswrapper, you have an entirely non-free driver loaded by using a compatibility layer of sorts.

    In a be-less-evil competition, “free driver with binary blob dependency” beats “completely non-free driver” in my book.

  6. Dr. Dabbles

    Madwifi, and consider this fact. The binary blobs are basically firmwares that need to be loaded. Your PC is full of devices with closed-source firmwares. After all, you don’t have the code for your system BIOS, do you?

    Plus, NDISwrapper is a little rough around the edges.

  7. Hobbsee

    Definetly Madwifi.

    Madwifi actually works in almost all cases that it’s supposed to. Ndiswrapper doesn’t.

    And the whole “not having to recompile ndiswrapper, because the ubuntu version hates me, every kernel update” thing is good too!

  8. Joe

    I’d choose whatever gets the stuff working.
    ๐Ÿ™‚

  9. P?teris Kriลกj?nis

    I think Madwifi, because stuff like Ndiswrapper just introduces another layer of problems and bugs. Both they are closed and non-free, so they don’t even compete in that level.

    Binary drivers, not matter how evil they are, are more supported and community driven.

  10. Jonas

    Does it really matter? I’d go for whatever works for the chipset in question.

    Evil is a matter of perspective…

    For people who is intent on avoiding non-free stuff at all cost, both are evil. For me, it would be more evil to have no option to get the wireless working.

    Actually, I think it’s highly overdue for the linux community at large to stop thinking in the free vs non-free manner. It is not doing us any favors. And if we want companies, whether hardware manufacturers or Adobe or whatever, to listen to us and provide us with drivers and other software we better be prepared to listen and compromise ourselves too.

  11. zdzichu

    ath5k (open, mac80211-based driver for Atheros) just got included in -mm kernel and will go into Linus’ tree. You may try asking Ubuntu kernel maintainers to patch-in this driver.

  12. Volanin

    For me in particular, madwifi is more energy efficient. Whenever my wireless is disabled, my CPU stays in C3/C4 power states for 98% of the time.

    When I enable wireless, even if not connected to any access point, my cpu stays 50% of the time in C2 and 50% in C3/C4 with madwifi.

    But it stays 98% of the time in C2 with ndiswrapper + latest windows driver 5.3.0.56, reducing battery life by about 30 minutes.

    But I use madwifi compiled from daily snapshots, version r2652. I don’t know if the gutsy version already has this optimized power usage, since feisty version behaved just as ndiswrapper.

    You can check this power usage bug here:
    http://madwifi.org/ticket/1363

  13. erin

    Ndiswrapper, because it supports a greater range of devices. That can be seen as integration, which is good in the long run.

  14. pak33m

    I am going to suggest buying a System76 laptop to avoid the mess either way. But I guess that just because I bought one and have experienced no problems even going from Edgy to Feisty. There again I used System76 drivers.

    Otherwise I would firstly try to find a card that is supported openly. This is of course the right way. If not, I would have to pick ndiswrapper because I have used it with a Belkin card for a few years without any problems at all. I barely even noticed the closed driver was there!

    In the course of freedom sometimes you have to be not-free. Unfortunately because of the hardware support for Linux we are temporarily bound. One day we will all be free…

  15. Jim

    Better yet. Replace the offending thing with Intel one and be done with it.

  16. Michael R. Head

    madwifi. It works out of the box and openhal is under development. What’s more, it supports Ad-Hoc, Managed, and Master(!) mode, so you can use your machine as an accesspoint with hostapd.

    Why would you want to give yourself the headache of using ndiswrapper? It requires setup overhead and only works on ia32.

    By the way, your openID appears to be busted when authenticating against livejournal… it keeps popping back to a wordpress login.

  17. Michael R. Head

    Also, I saw a cool summer project that used a hack of the madwifi driver to collect link quality data in the face of various types of RF interference. It would never have been possible with ndiswrapper.

  18. Tristan Rhodes

    Christer,

    May I request that you keep religious references out of the discussion?

    Thanks,

    Tristan

  19. qhartman

    ndiswrapper is more evil. It’s the binary driver equivalent of not even _trying_ to make something work in a native way.

  20. Jeff Schroeder

    ndiswrapper. It uses something not natively written for linux and has had root exploits available for it.

    Not that madwifi is much better, but at least it is navively linux…

  21. tenshu

    yeah definetly choice is between a linux or windows blob

    the “good point” with ndiswrapper is that the user just KNOW that there is no free driver for his device

    linux blob could be more harmeful because more hidden

  22. Casey Stamper

    I agree w/Joe. I use what works. I don’t know that ndiswrapper DOESN’T work, but the binary worked for me so I never tried ndiswrapper.

Comments are closed.