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."
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
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.
What confuses me so much (and I really am ignorant in this department) is why the ethernet chipsets were seemingly conquered right off the bat? I tried my first Linux distro (debian) in 2001 and ever since then no matter what the machine, no matter what the distro, no matter how confused I was the NICs always came up ready to go when I installed Linux. I've done this on a lot of machines, from obscure to well known Dells and used most of the major distributions. They just 'worked' and it was good.
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.
I understand what MadWiFi & OpenHal are trying to do. I now know to look for "Atheros" chipsets when I buy my wireless stuff but they are often more well known brands and more expensive. A reason I switched to Linux was to save money in college, not spend more on the hardware.
Maybe a more helpful article would be detailing the real underlying issue--that these no name brands that get huge rebates at CompUSA or where ever (Hawking Technologies, generic boxes, etc.) are targeting Windows because of the number of users. How do you change their minds or show them a market for an OSS driver? Is there a way to even open up a channel of communication with them to discover how to write drivers for their chispets? How do you convince them it's worth their time/resources?
That would be a solution moving forward.
The next best thing would be to post an article about how to get started making these drivers. I'm a coder (though not the greatest one) with a little bit of free time. How do I start? How do I get access to the BIOS pages on the chipsets? What do I do with that, how does the Linux kernel use it? What books do I read that teach me how to start with a chipset I know nothing about, have no resources on the data or mechanics and then poke it, prod it until I know enough about it that I can set it up for the kernel to use it?
My work here is dung.
I remember feeling that way around when the internet was gaining traction. It was so hard to find a linux compatible modem in stores since almost everything at the time was a winmodem piece of trash that let windows control everything and had almost no on board processing. I couldn't believe how many hardware vendors wouldn't be bothered to make standalone modems, instead opting for the cheaper windows only idea. Though with my current laptop I got lucky, had an atheros chipset that was supported by madwifi. Took some tooling around to get WPA-PSK to work; but it's ok now.
It is by my will alone my thoughts acquire motion; it is by the juice of the coffee bean that the thoughts acquire speed
In fact, I am an experienced IT professional, and I have only a vague idea what you are talking about. The fact is, I do not spend my time studying the innards of Linux: I have other kinds of issues that I worry about. I am sure I could get a WiFi card working on Linux if I put my mind to it, and edit the right files, find the right drivers, and upgrade the BIOS as required, but I have no inclination to spend the many hours required to learn all those picky details - which I will then forget because I will not use them again. The fact is, if one has to do this, you can kiss Linux goodbye for the typical user. If Linux cannot be made to work with most (like 99%) built-in and third party devices (graphics, WiFi, sound, Bluetooth, etc.) out of the box or with *easily* found drivers - without having to edit files - then it is not a viable desktop for the typical home user. Further, it should be installable from Windows - without having to create an ISO disk and boot. These are far bigger issues than whether the scheduler is "fair" or whether the GUI is KDE or Gnome. Who cares if you can't get it running with an hour of point-and-click effort? It will then never be adopted by the masses, unless manufacturers decide to ship it pre-installed.
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.
Are the three things I get embarassed talking about when trying to promote Linux to non-technical friends and family. All they want it "to do stuff". As the article mentions, they won't spend time fiddling with drivers, checking if the hardware will/might/won't work.
They have a real expectation that they can plug in whatever they choose to a PC and it will just work. This is their experience of (modern) MS and they won't accept any less from an alternative.
Until peripherals become seemlessly operable ordinary people will steer clear of Linux.
Until the applications (and I mean video playing in particular) just work, with no drama and no crashes (Kaffeine, why do you insist on popping up messages saying "The specified file or URL was not found", when you're playing it?) we're backing a loser.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
I'm confused. The past three notebooks I've owned have all been immediately recognized as using WiFi cards with accompanying drivers.
Seriously, I think the article is trying to find a solution in the wrong area. If I want a laptop and I plan to use Linux (which I always do) then I plan to get a wifi card compatible with such. I have no idea how ndiswrapper works and have no plans to ever use it.
My most recent notebook - an HP/Compaq nw9440 - came with the option of a Broadcom or an Intel wireless card. I went with Intel for the simple fact that I know intel works.
Sure enough, wireless was up and running as soon as I installed SUSE 10.2 on the machine. (It initially came with Vista but I upgraded pretty quickly.)
The answer to WiFi is to ensure the manufacturers supply drivers - open source or not - to their chipsets, since they're no longer putting them in the firmware. Intel does. I believe Broadcom is now. Anybody else?
End of story.
The Kai's Semi-Updated Website Thingy
I thought that this was going to be the thing that saved wireless on Linux. Instead of needing kernel support, along with deep knowledge and source code in order to build a loadable module, all you need to know is the wlan_ng API, and compile your driver for that. Much simpler and cleaner. And you would then need only the same API for all of your discovery tools, GUIs, etc. But except for a couple of handheld Linuxes, I haven't seen it deployed much. Anything would be easier than the cranky PCMCIA and hotplug frameworks.
http://linux-wless.passys.nl/. Just search the complete listing and look for the Atheros chipset.
This was a major pain for me as well.
I had read that WiFi has "solved" in the latest release of Ubuntu and have long been wireless in my home network, even for the desktop machines.
After trying all the non-NDISWRAPPER options, I finally used that tool and was able to get WiFi up and running, but even with that, it fails to initialize properly about half the time and I have to manually restart networking.
Combined with not having support for the latest NVIDIA drivers available through the package manager and having to recompile the drivers after a kernel security patch, this would have been an utter failure if I was new to this. NVIDIA is partially to blame as well, since they could well make their drivers have a safe mode that will work with cards released after the drivers, but the 8X series of cards has been out for how long and the driver still isn't in the package manager?
The lack of fail-safe mode in X after all these years is just insane. Fortunately, we shouldn't have to wait too much longer for that to be a mainstream patch.
That's generally the solution to the wireless problem in linux. Get a notebook with an intel based wireless card built in. And if you don't want to fool around with graphics drivers for 3d acceleration, do the same - buy a laptop with integrated intel graphics.
Unfortunately, what you would like to mandate is at the same time a mandate for Chinese domination of the hardware market.
Today the hardware is almost immaterial to a "hardware" product - it is the inner workings of the firmware, the driver and such that are where both the bulk of the engineering time and bulk of the "value" are. There are few, if any, secrets in silicon today.
So a manufacturer puts a lot of effort into developing a new product in the US or EU. If the functionality of the hardware/firmware is then required to be disclosed it is trivial to make the same hardware product elsewhere and compete head-to-head without any real R&D cost. Sure the Linux community and a few hackers might be better off, but at what price?
Today, the only effective way to compete against Chinese manufacture is to have the hardware, firmware and software talking behind the scenes. The firmware interface to the hardware isn't disclosed and the driver that talks to the firmware isn't disclosed. Absolutely, the hardware can be duplicated but without the firmware and driver the device requires an equivalent amount of development effort.
Yes, that put the Chinese manufacturer on an equal footing with the US or EU manufacturer. Instead of how they would much prefer it where all the "hard" problems are solved in the US and they Chinese get to just make cheap knock-offs.
Where was development for USB hubs done? Where are they made today? Compare this to video cards - how many 3D cards are distributed by Chinese manufacturers? Sure, they are all imported with "Made in China" stickers but they are made for US, EU and Canadian manufacturers that own the firmware and drivers.
My laptop came with a Broadcom 4318 chipset. The support for it is flacky and it only seems to work properly using ndiswrapper. Some days ago I decided I was going to try to buy a USB wifi device that was compatible with Linux. If possible, its drivers had to be already part of the vanilla kernel. To my surprise, those devices exist! They are the ones that have the ZyDas zd1211(b) chipset (the "b" one is better). I thought it was going to be hard to find one of those specific devices, but no. They are present in a wide range of USB wifi devices. I went to the two main malls in my country they had one of those devices each. Piece of cake. Furthermore, a USB dongle can be used in future computers very easily, and don't take power unless they're plugged in.
http://linuxwireless.org/en/users/Drivers/zd1211rw/devices
You only need the device, a vanilla kernel and firmware, which can be downloaded from SourceForge.net, and it's also probably available for your distribution as an official package.
http://sourceforge.net/project/showfiles.php?group_id=129083&package_id=187875
Since i have a Medion Mim with some proprietry medion chipset, i'm stuck with no wireless for ubuntu.. :(
the driver doesnt work with NDIS wrapper either...
of course...
that doesn't stop me using debian stable on my desktop!
It's not pretty, but I found a solution which even works with old Windows 95 (for testing) and enables full WBA encryption. It works on any OS that can use the wired NIC in a machine. Are you ready...
Use an access point which is capable of Client Mode operation. I use a D-Link AP in client mode. I configure it with my browser. It requires no software install of any kind. Testing was done on the D-link AP and now a Linksys 54G router has been added to my travel pack because it cost less (lucky find, a version 4 for $12 at Goodwill).
I have been running wireless with an AP in client mode since Breezy Badger. Upgrading the firmware to DD-WRT has added the client mode. As a bonus, you get to use high gain antennas with much better range than a stock laptop provides, and the power is adjustable for use in poor signal locations. The router does the site survey for you internally, so you don't even need to know the SSID ahead of time. It is as simple as switching to either client or client bridge mode, scanning, choosing an AP, and picking the encryption and entering the key. After that it's net, nothing but net.
There are hardware solutions out there. The package may be a little big and bulky and not run on self contained batteries, but it provides excellent connections in hotels in marginal reception areas. With the external box, it can be positioned in a window where the neighbors open AP may provide better bandwidth than the hotel provides. I went to a Starbucks once not knowing the wireless wasn't free (T-mobile). I was able to find 2 unsecured APs from inside Starbucks to use instead. Nobody at Starbucks was the wiser. It beats getting busted for sitting in a car leaching on some residential street.
The truth shall set you free!
I installed Ubuntu on a computer I found at the local landfill, thrilled that it had a wireless card until discovering that ndiswrapper would be necessary to get it online. (No ethernet card.) It took hours to find all the necessary ingredients and instructions. They're all in different places. Why can't they be in just one place, with scripts to install everything automatically? Even if there are hundreds of cards, requiring more-than-hundreds of install packages, it would save millions of hours of frustration for linux newbies.
Ndiswrapper works very well, once it's set up. Kudos to the team for their efforts.
Unfortunately though, the WinModems were never as serious a problem as the current crop of Wifi cards are (and the upcoming driver-based Ethernet cards may be, if some of the predictions I've read come true). With modems, you could always go out and buy an external, serial-interface unit. They weren't hard to find, and every retard at a big-box computer store understood what you were talking about when you asked for an "external modem."
You only ran into trouble with modems if you started getting internal, PCI card ones. (Okay, and there was that weird Apple external thing, the Geoport. But to their great credit, they never called it a modem.) With Wifi cards, you can be just as screwed regardless of what kind of card -- PCI, PCMCIA, USB -- you choose. Even if you try to buy a particular model, you can still get something that doesn't work because the manufacturer has changed the hardware without any indication on the box.
About the only 'guaranteed' way to get wireless working on a Linux machine is to eschew traditional interface cards and go for something that's an Ethernet-to-Wifi bridge instead (usually called 'game adapters'). Like external modems, these use a standard, well-documented interface for both data and control. But they're expensive and I predict that as more game consoles ship with integrated wireless, they're going to be increasingly hard to find.
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
WiFi is an expression of exactly the opposite. Microwave signals are a bad idea for a number of reasons.
--Here's a neat item worth considering. . .
The Neurophone, (look it up), demonstrated that one could transmit messages via electrical impulse through the skin and have those messages understood by the subconscious. When the subject being programmed is in a dissociative state, (you are in a dissociative state when you watch TV or play a video game), it was demonstrated that one could send instructions to the subconscious through the skin and thereby implant hypnotic suggestions. Subjects would follow these suggestions, believing them to be their own thoughts and ideas. They'd never heard the instructions given to them verbally. They had received them by direct electrical impulse. This isn't science fiction.
Okay. So cellphones, when outputting a 10 htz modulated signal, can directly buzz the brain with much the same effect. What a great system for delivering instructions!
Mind control is frighteningly easy. Heck, the Russians figured out how to beam voices directly into a person's head using EM back in the sixties.
WiFi in my house and on all the time? Um. . , gee, no thanks. There's enough garbage signal floating around my town as it is without beaming my own personalized source through my own home 24/7.
Now people will argue with this up and down. Fair enough. They can make their own decisions and refuse to acknowledge the information available. They don't want to be laughed at. But the cool thing is that Linux, for a number of reasons, is incompatible with this mode of social control. --You have to really really want it to microwave your head before it will comply. Now don't you think that's interesting? I sure do!
If you refuse to follow the leader and refuse to install your very own mind-control device in your home, then, well by gum, you don't even need a tin-foil hat. Bonus!
How sure are you that the impulses which guide you to follow self-destructive, limiting patterns at key moments of your life are really coming from within yourself?
The Matrix has you. Have a nice day!
-FL
Wireless on windows isn't exactly flawless either. Sometimes you get windows wanting to control it over the manufacturers software and it doesn't work. Until SP-2 on XP doing 128bit WEP was a hit or miss proposition. And being a systems admin, I've seen a lot of people who are unable to connect to a wireless network using windows. I end up doing it for them. Also, windows can for some reason forget a network profile that it has previously had no problems with. OS X seems to be better at it but it too can suffer from dumb user syndrome. You also have a problem with windows blocking its own connections. And then there is the 3rd party pre-requisite anti-virus / network security suites that block outgoing traffic and want to examine every packet and then ask you if you want to allow. And last but not least. When you buy network cards sometimes they conflict with other chipsets. I have had cards that conflicted with the sound system. Easily fixed by changing settings in device manager but windows will change everything back to the setting that doesn't work next reboot.
My laptop purchase algorithm automatically filters out laptops without an Intel wifi adapter (and Intel graphics, but that's another story).
Intel has a solid track record on Linux driver development done right, going back years. They just Get It, while most others don't. My current Thinkpad with a 3945 has worked, with WPA, networkmanager et al with virtually zero problems as soon as Kubuntu was installed.
Atheros' recent AR6K family may become an option in the not distant future, as they finally remove the need for the magic HAL in-kernel blob. However, given my many problems with AR5K-based adapters and Madwifi (kernel crashes galore, lack of in-official-tree drivers), I'm sticking with Intel unless they mess up.
The Neurophone, (look it up), demonstrated that one could transmit messages via electrical impulse through the skin and have those messages understood by the subconscious. When the subject being programmed is in a dissociative state, (you are in a dissociative state when you watch TV or play a video game), it was demonstrated that one could send instructions to the subconscious through the skin and thereby implant hypnotic suggestions. Subjects would follow these suggestions, believing them to be their own thoughts and ideas. They'd never heard the instructions given to them verbally. They had received them by direct electrical impulse. This isn't science fiction.
The subject in question needs to have been hypnotized before hand and given a series of instructions as to how to interpret the signals which are to be received through electrical impulse. --Sort of like teaching Morse code. When the suitable level of conditioning has been achieved, the subject is brought back into awareness and set into the wild, so to speak. After this point, messages can be delivered to that subject through the skin using the electrical impulses. Apparently, it can be done very rapidly. The subconscious is quite able to understand a quickly changing signal. Then a story can be told; "Bob heads out to the library and takes out a copy of Catcher in the Rye and then buys a bag of turnips and goes home again." Apparently, Bob would go ahead and do exactly this, thinking it was his own idea to perform those actions.
Just wanted to clarify things.
Interestingly, even without hypnotic conditioning, it is entirely possible to alter a target person's emotional state through different types of EM exposure. This in combination with television viewing, (TV's and that hypnotic flicker rate put people under very quickly), opens up a variety of possibilities. There was one item in relation to all of this which I didn't grasp the significance of immediately; the sudden and wide-ranging adoption of the new CFL light bulbs. I thought it was pretty obvious what the intent behind those was; installing everybody's living space with fluorescent lighting creates living environments which are constantly flickering at 120 cycles per second. Uck. --But then the bulbs evolved so that rather than using magnetic ballasts they employed an electronic ballast which served to raise the frequency from one or two hundred cycles per second up into the high thousands, which in combination with the fluorescing coating inside the bulbs appeared to remove any danger of the brain being affected by light flicker. "Hm," I thought, and wondered if perhaps I was just being needlessly paranoid.
Then I ran across an article which talked about the high level of EM radio frequency being emitted from the new bulbs, and another thought struck me. --Until now, incandescent light fixtures were never a noted source of radio frequency EM pollution, but now with this latest generation of CFL's. . .
It's very hard to find stats on what the exact frequencies are which are emitted, or how powerful they are, but I do find it curious that further EM pollution in the radio spectrum should be the result of adopting this new lighting solution. When you know the frequency range, we actually do have enough data in the public realm to work out how it affects the central nervous system.
-FL