Slashdot Mirror


The OSS Solution to the Linux Wi-Fi Problem

tobs writes "Matt Hartley of MadPenguin.org fame has published an open source way of solving the Linux Wi-Fi problem. He writes, "For intermediate to advanced users, who are willing to track down WiFi cards based on chipsets, live without WPA in some instances or have opted to stick with Ethernet, buying a new notebook for the sake of improved wireless connectivity may seem a little overkill. When a new user faces problems jumping through the NDISWrapper hoops, tracking down WiFi cards from HCLs and other related activities, the end result is almost always the same — they give up. What so many of us, as Linux users, fail to grasp is that projects like OpenHAL are critical to long-term development. The education on what to expect and what not to expect remains a complete load of hot air when articles claim how easy it is to setup wireless Internet on Linux machines. It's downright misleading."

4 of 204 comments (clear)

  1. Weird... by mdm-adph · · Score: 5, Insightful

    It's like I RTFA, but then again I don't feel like I RTFA. Anyone else notice that? Is there some "Page 2" button I'm missing?

    --
    It is by my will alone my thoughts acquire motion; it is by the juice of the coffee bean that the thoughts acquire speed
  2. Atheros by Brian+Lewis · · Score: 5, Informative

    After spending hours on breaking and re-breaking wifi on my laptop, I went out and bought a $20 wifi card with an Atheros chipset. It has worked flawlessly sense, without having to jump through the ndiswrapper hoops.

    And any time someone new the *nix asks me about wireless, and why it isn't working, I always insist they spend the $20 on the Atheros chipset, as, again, it is damn near flawless.

  3. Take the time to buy the right hardware... by Kludge · · Score: 5, Insightful

    a complete load of hot air when articles claim how easy it is to setup wireless Internet on Linux machines


    I just installed Fedora 7, and I am managing multiple wireless networks with NetworkManager, no configuration at all. Zilch.

    Of course, I have a 5 year old Dell. People think they can buy whatever hardware they want and just have it work. No. You have to be selective. That's why my 3D desktop runs on Intel video.

    Buy companies that support open source from the beginning, dammit, or other companies will never see the use of providing drivers or specs PERIOD.

  4. Re:What's the REAL Solution though? by david.given · · Score: 5, Informative

    Now, wireless is here and for some reason, there must be a thousand different manufacturers with their own proprietary chipsets with completely different drivers & BIOS data on the flash memory stored in those chips because I've only had Ubuntu work once out of the box on a Linksys PCI WiFi card. Why? Why isn't that standardized? What do the companies gain from that? Is it because of the ever changing standards that the chips are so wacky? Is it because the A, B, G, N, etc. protocols? I don't understand this because I've never coded drivers.

    Because wireless hardware is really complicated.

    Typically a wireless card is a microcontroller with ROM, RAM, and a CPU --- usually an ARM. One end is plugged into the radio, of which there are a zillion different varieties. The other end is plugged into your computer.

    Some wireless cards don't have their software on ROM --- which means that in order to make it work, the first thing you have to do is to upload the software from your PC. This is the infamous 'binary blob' problem. That software is highly proprietry and really, really hard to write. So far (although I could be wrong) there are no open source firmware replacements.

    Even once you have the card programmed and running, you still need to talk to it. This usually involves a driver that needs to know how to talk to the wireless card's host hardware (the bit between the microcontroller and your computer), the firmware itself (which may have different command sets for different versions of the firmware), and sometimes you even need to know implementation details of the radio chipset. That's a lot of information you need access to, and it all interacts in rather horrible ways. (Also, FCC regulations may mean that the vendors aren't allowed to give you information that could be used to, say, make the card operate on unauthorised frequencies...)

    It also doesn't help that the Linux wireless layer isn't terribly well designed: the abstraction layers are in the wrong place, which means that in order to write a driver you have to duplicate a lot of code. That's one reason why the BSD operating systems typically have better wireless support. Their driver framework makes it a lot easier to write wireless drivers.

    The good cards usually have well-designed firmware on ROM with a sufficiently abstract interface that implementation details aren't exposed. They're easy to support, because the vendor can change the implementation without having to change the driver. The bad cards have firmware that's loaded at run time that exposes lots of implementation details that the vendor can't tell you about because the third party whose radio chipset they're using made them sign an NDA. (Or just because they don't want to. Broadcom fits this category.) They require lots of unpleasant reverse engineering.

    So, in short, wireless drivers are hard because wireless cards are really complicated.