We went on a mission to find, experiment with, and examine Linux programs to help manage our Wi-Fi connections. We found many different networking utilities. Most are based around profile-based configuration, where connection details such as encryption keys are saved for reccurring connections. Some even support per-network IP and DNS settings. This is great, for example, if your work network requires a static IP address, while at home your router using its DHCP server; IP address information is saved for each network's profile. In addition to a simple signal indicator for wireless networks, some utilities offer details such as signal and noise level graphs and the displaying of the channels used by the wireless networks.
On our search, here are some of the network connectivity utilities we came across: NetworkManager, Wicd, KWiFiManger, WaveSelect, AP Radar, NetChoose, gWireless. We're going to review Network Manager, Wicd, and KWifiManager.
As Figure 1 shows, a click on the tray icon displays all the detected Wi-Fi networks and shortcuts to perform networking tasks. When you click a wireless network, you're prompted if a encryption key is required and then it connects. A profile is automatically created for the network, including any encryption keys you entered.
You can click on Connect to Other Wireless Network to manually enter a network name (SSID) and the security type, in order to connect to non-broadcast or hidden Wi-Fi networks. Additionally, you can create your own ad-hoc or computer-to-computer network by clicking Create New Wireless Network.
As Figure 2 shows, right-clicking the icon lets you disable/enable the wired and wireless connectivity. Clicking Connection Information shows you the details of the current connection, such as the data rate, IP settings, and the hardware (or MAC) address. To view and/or change the profiles created for networks you've connected to, you can click Edit Wireless Networks.... Shown in Figure 3, for each profile, you can change the security/encryption settings and, for networks with multiple access points (APs), you can add the MAC addresses of all the APs that use the same network name (BSSID).
You'll find NetworkManager provides a simple networking experience when working with simple networks. You may want to look elsewhere if you work on multiple networks that each require advanced settings (such as static IP addresses) or need a tool that provides detailed signal strength and channel information.
Wicd is another utility that helps you manage connections to wired and wireless networks. It has no Gnome dependencies (although it does require GTK) and it should work on any Linux distribution (distro). It can be obtained from their Website or through your distro's repository. For specific installation instructions on a variety of distros, see their downloads page.
Once installed, clicking on its tray icon opens up the Wicd Manager, where all the action happens. As Figure 4 shows, you see an entry for the wired connection and each Wi-Fi network with its signal strength (percentage or dBm), encryption status, and physical (MAC) address.
Clicking an entry's arrow shows the details area, as you can see for the dlink network in Figure 4. For wireless networks you see another piece of information, the channel, plus buttons to configure custom scripts for the network and to set advanced settings, such as static IP and DNS addresses and encryption keys. Figure 5 shows all these areas: the Wicd Manager with a network's details plus the script and advanced setting windows. The settings you input into these windows are saved, so even if you go out of the network's range, the settings will return the next time it's detected-sort of a disappearing profile scheme. The details area of the wired connection is similar, however also contains a field where you can create and pick different profiles for the wired adapter, each configurable with static IP and DNS addresses.
Now for the application's toolbar. The Network menu provides the shortcuts to connect to hidden wireless networks and to create a ad-hoc network. Obviously, the Disconnect button disconnects you from the network and the Refresh button re-scans the airwaves for a updated list of Wi-Fi signals. The Preferences button takes you to where you can change advanced settings. Besides applying global DNS settings and switching to displaying signals in dBm, you probably can steer clear of these settings.
Though Wicd provides advanced features, such as profile-based IP settings, signal strength, and channel information, it lacks a simple window displaying the common connection details, such as the IP settings and MAC addresses. Nevertheless, you can use other methods to get the run down of connection details, such as by running the ifconfig -a or iwconfig command.
The last networking utility we'll look at is KWiFiManager, for managing wireless connections. We found that though it lacks support for wired networks, it provides a few features that make it quite useful in the wireless arena. Lets take a tour and see.
Like the other utilities, KWiFiManager places a icon in the system tray, however this one can even show the signal strength number in addition to its set of animated signal bars, so you'll always have a solid idea of the signal with just a glance. Plus you on the icon. A click of the icon brings up the KWiFiManager program.
As Figure 6 shows, the Scan for Networks... button brings up a list of nearby Wi-Fi networks. You can select one, based off its network name, signal strength, and encryption settings, and then click Switch to Network.... Then on the window, you'll see the connection's speed (data rate), name or SSID, MAC address of the AP, and the channel. Plus on the left you see the signal bars and number.
From the File menu, you can disable/enable the wireless radio and bring up the Connection Statistics window. This window shows a real-time graph of the signal and, if enabled, noise levels. This is great for checking if RF interference is causing connectivity problems. Plus it could even serve as a crude tool for wireless LAN surveying.
The Settings menu offers even more geeky wireless features. When Acoustic Scanning is enabled, the program emits tones (lower tones for weak signals and higher for better signals) to help you find a better spot for the connection or even the AP itself. This menu is also where you can enable the noise levels to be shown with the signal levels on the Connection Statistics window. Additionally, here is where you can tell the program to always display the tray icon and/or enable the signal strength number on it.
From the Settings menu, you can also launch the Configuration Editor (see Figure 7), where you can create profiles for wireless networks. Though the interface is a bit crude compared to those of other utilities and only WEP encryption is supported, it does provide profile-based management. You can enter a network's name (SSID) and WEP keys, desired speed and power management settings for the adapter, and specify scripts to run on successfully connection.
Wrapping It Up
Now you should have a feel for what three different Linux networking utilities offer and how to get around their interfaces. In the end, we'd like to recommend that for Linux and wireless newbies that are using Ubuntu, you might want to just stick with NetworkManager. However, for those that use multiple wireless networks and desire a utility that shows a bit more Wi-Fi details, Wicd might be the answer. Then for those that need even more advanced wireless features, KWiFiManager could serve great along with another utility to manage wired connections.
Eric Geier is an author of many computing and networking books, including Home Networking All-in-One Desk Reference For Dummies (Wiley 2008) and 100 Things You Need to Know about Microsoft Windows Vista (Que 2007).
This article was first published on LinuxPlanet.com.