September 19, 2005

Wireless made easy with Netapplet

Author: Jem Matzan

After several of my favorite operating systems and distributions failed to properly connect to wireless hotspots without a lot of command-line tweaking, I found Netapplet, a great little GNOME applet in Novell's SUSE 9.3 Professional that scans for 802.11a/b/g wireless networks and shows you their signal strength and ESSID. You can then select the hotspot of your choice (if several are available) and continue on to the Internet from there. Yes, you can do the same thing from the command line by using iwlist and iwconfig, but it's nice to have it done automatically. Although Novell engineers created Netapplet for SUSE Linux, it can be installed on any GNU/Linux distribution. Once you've got this program on your GNOME-based laptop, you'll wonder how you ever did mobile computing without it.

Novell also makes an applet for the K Desktop Environment (KDE) called KInternet, which can do the same things that Netapplet can do, except it does them from KDE instead of GNOME. One of the co-authors of the Netapplet project, Robert Love, is now working on a similar project hosted by Red Hat called Network Manager, although it has not yet reached a 1.0 release.

A search through Freshmeat and SourceForge reveals several other, similar projects. But the one that worked best for me on GNOME in GNU/Linux was Netapplet.

Simple, small, invaluable

If you're using SUSE 9.3 Professional already, you'll notice Netapplet running in your GNOME environment. It's in the upper right corner of the screen, next to the video mode selector. Netapplet displays a different icon depending on whether and how you are connected to a network. If you're connected to a wireless network, it shows a cell phone-like signal bar meter. If you're connected via a modem or a wired network, it shows instead two overlapping computer screen icons. If you're not connected at all, you'll see a red X.

Want to see if you're in range of a wireless access point? Click on the Netapplet icon and see what networks show up. Some may be protected by passkeys; these are obviously private networks that you should not attempt to access. Such networks will have a lock icon next to them to indicate their status. "Open" networks will simply show up, arranged by their ESSID and signal strength.

You can click on your network of choice if you need to select a specific one. Otherwise the open network with the best signal strength is automatically selected. If you manually select a network, your network configuration will be statically configured for that network and you may have to go into your network settings program to erase it when you're done.

Installing on other distributions

Netapplet has a drop-down menu to select networks

SUSE 9.3 Professional is the only GNU/Linux distribution I've seen using Netapplet. Even SUSE 10.0 beta 3 doesn't have it installed by default. Fortunately it doesn't take much to get Netapplet installed on other distros.

Debian and Debian-based users can apt-get install netapplet and have all dependencies taken care of. If you're compiling Netapplet by hand and need to see a list of dependencies, RPMfind has a comprehensive list. Most of the Netapplet prerequisites come with a default GNOME installation.

Netapplet also requires a GNU/Linux software framework known as Wireless Tools for Linux. This package includes several userland utilities that interface with wireless network card drivers to manipulate 802.11 wireless connections. As of this writing, Wireless Tools is ported only to GNU/Linux and will not compile on Solaris or any of the BSDs. If your distribution does not have Wireless Tools already installed, you can download the source and compile it, or download and install an RPM.

When you're ready to install Netapplet, download either the source or the RPM and install away. If you're missing a dependency, the configure program or package manager will tell you what it is.

Wireless without the hassle

Once Netapplet is installed, you can run it from the command line or set up your system to load it when GNOME starts. To automatically load Netapplet at startup, go into the GNOME Control Center or click on your Desktop menu, then Preferences. Next, select the Sessions option. A dialogue box with three tabs will appear. Click on the Startup Programs tab, then click on the Add button. Type in netapplet (you may have to enter the full path to Netapplet depending on how your PATH variable is configured) and click Close. Netapplet should now start every time you start GNOME.

Have fun wardriving, or using your GNU/Linux laptop at the airport, coffee shop, or other wireless access hotspot.

Click Here!