Author: Mayank Sharma
Linuxant’s DriverLoader is a “compatibility wrapper” that allows Linux users to run the standard Windows NDIS driver shipped by the card’s vendor.
DriverLoader supports various devices whose chipsets come from Atheros, Broadcom, Cisco, Intel, Conexant, Texas Instruments, and others. It can work with both 2.4 and the 2.6 kernel.
Unfortunately, DriverLoader is not free software. You can download the software for a 30-day trial, after which you have to pay $20. If commercial software doesn’t suit your lifestyle, you can turn to NDISWrapper as an open source alternative.
NDISWrapper, which comes bundled with several Linux distributions, is another way to set up your wireless network cards with NDIS drivers to work on Linux-based distributions, and this one’s free and open source (released under the GPL). While the level of support might not be as exhaustive as DriverLoader’s, NDISWrapper is being actively developed. Currently it works with many built-in cards, and some PCMCIA cards and a few USB cards.
|What are NDIS drivers?|
NDIS is an acronym for Network Device Interface Specification and was originally developed by IBM, 3Com, Intel, and Microsoft for MS-DOS 3.0 to resolve interoperability issues being faced by the users due to every hardware vendor providing their own proprietary drivers for their devices.
NDIS solved this problem by providing a software API or layer between the network protocols such as TCP/IP and the actual physical devices. As per the standard, all of the hardware interaction with a network card was performed in the NDIS driver.
The NDISWrapper allows Windows NDIS drivers to interact with the Linux kernel by creating an environment in which the NDIS driver’s calls to the NT kernel are translated into native Linux calls.
To use NDISWrapper, first check whether your card is listed among the supported cards. Chances are it is, and even if it’s not, it may still work. You can download the source tarball, and binary packages for some distributions are available as well. Also make sure you have the Windows drivers for your card someplace where NDISWrapper can find them and install them for your distribution.
The NDISWrapper project provides detailed installation instructions. After you install the software and load it with
modprobe you need to configure the wireless interface with
iwconfig, as documented on the NDISWrapper site, or set up the configuration manually. If you choose the latter approach, make sure you have the service set identifier (SSID) and the mode (either managed or ad-hoc) of your network.
You can either use the Network Configuration dialog (System Settings -> Network) or create a wlan0 config file in /etc/sysconfig/network-scripts/ifcfg-wlan0. Add the following lines to the file. Lines in bold will vary according to your configuration:
# NDIS Wrapper Configuration: Linksys WMP11 DEVICE=wlan0 ONBOOT=yes BOOTPROTO=dhcp TYPE=Wireless MODE=Managed ESSID="geekybodhi"CHANNEL=6IPADDR=DOMAIN=NETMASK=255.255.255.0GATEWAY=220.127.116.11 USERCTL=no PEERDNS=no IPV6INIT=no RATE=Auto HWADDR=DHCP_HOSTNAME=FC2 #only enter this if you use DHCP
Finally, restart the network with the new settings:
service network restart
As you can see, setting up a wireless card on a Linux box isn’t rocket science. Configuring a wireless network isn’t really different from configuring a wired one. And while NDISWrapper is a great enabling tool, the real proliferation of wireless hardware on open source software will happen when their vendors provide out-of-the-box support for Linux.
For more general help on networking, I’ve found the Linux Home Networking ebook to be especially helpful.
Mayank Sharma is a freelance technology writer and FLOSS migration consultant in New Delhi, India.