Its been an item of interest to me ever since using PCMCIA schemes which required some changing of lilo.conf files way back when. Basically, back then with PCMCIA schemes, you could tag different kernel images with different network configurations. Those days have long gone though. Now with amazing cardbus cards, udev, and some minor hackery, you don’t need additional scriptage or GUI-ish programs to make wireless on Linux behave. Mostly, I am discussing WEP here since that’s what I run into mostly at home, work, and tmobile.
You know how it is on Windows XP. You go to a new place with wifi and windows just sorts of “discovers” the network for ya. I really don’t care much for this behavior because it assumes things that may not be true for me. I like a manual approach better where I control what the wifi interface is doing. You also may be running Linux and wondering where happiness really is with 11g cardbus cards. The Asus WL-107g can be happiness :). This little card is different in a few ways. The source code compiles very cleanly on 2.6 kernels, there is no firmware to monkey with, and suspends happen pretty gracefully. The best point is the cost point. Consider at newegg you can find these beauties for around $30.00 each. Go forward and buy some! The FSF in its infinite wisdom also recommends these cards so you know they must work okay with certain open source operating systems.
Now down to my way of wireless but mostly kudos to the debian team. That team stretches all around the globe, makes computing fun, and also really has taught me the value of a truly international endeavor supporting a quality OS, package management, and fun. Debian is fun in the end. It does three different versions, it may release every other year; but I never depend on a release. A few years ago I read this approach that Joey Hess promoted and I’ve been using it since. The wifi adaptors can be used in concert with very simple ifconfig/ifup and ifdown commands and you can stage things with descriptive names in your /etc/network/interfaces file thus:
—————snippet of /etc/network/interfaces file——————
iface tmobile inet dhcp
wireless-essid tmobile
iface hotel inet dhcp
wireless-essid Kimpton
—————-end of snippet——————————————–
So I plop my raylink-based card in the pcmcia slot and the module loads itself automagically thanks to the wonders of something or other. You want this behavior, BTW; so when you do kernel compiles make it happen. If I am sitting at a coffee shop like starbucks or a book store like borders, I can simply do a “ifdown ra0; ifup ra0=tmobile”. One takes the config of the interface down; the other tells it to use a new essid and also do dhcp there. No need for fancy KDE or Gnome tools here. Use the command-line Luke. So, you say, what happens when I want to “find an unknown wifi networki”?
Well, you don’t need fancy gui tools for that either. Running the command “iwlist scanning” will print out all the associations that the card finds with information on encryption, open or closed, etc. Then you can simply do a “iwconfig ra0 essid blahblah key off; dhclient ra0″ and be done with it.
Of course these are all manual steps and require a terminal/xterm and they are not graceful or have pretty windows around them. I say to that, “so what?” What you want? Functional networking that can work in minutes or some tool that really does not do what you expect? A prime example to me is the SuSE tool YAST. I used SuSE way back when at the 5.0 level and I could swear that things I changed in it never really got changed. Reminds me of that one called Linuxconf. Yikes! So, in my own little world of running Linux for work and play, I went back to a kinder and gentler and simpler world.
Learn how to do things on a command line around networking, create simple scripts that do complex things. You’ll always learn more than just launching a Gnome-ish tool that does it all. Linux is really about learning I think. Learning how to do things, make your computer do things you want and not the other way around.



