Linux/network/wireless

About
This page is about wireless networking in Linux, with a focus (currently) on setting up client adapter cards.

See also mesh network for discussion of wireless networking infrastructure, much of which involves configuration of Linux servers.

Links

 * ndiswrapper driver info: ndiswrapper converts Windows network drivers for use with Linux; this page also includes some information about chipsets and available native Linux drivers
 * Ubuntu ndiswrapper how-to
 * http://ndiswrapper.sourceforge.net/mediawiki/index.php/Ubuntu
 * https://wiki.ubuntu.com//SetupNdiswrapperHowto

wireless-specific

 * iwconfig configures or gets information from one or more wireless interfaces
 * iwlist gets additional information from a wireless interface
 * /proc/net/wireless lists current wireless status

networking

 * (iproute2) gets information about network interfaces (wireless and otherwise)
 * provides some of the same functionality as ipconfig in Windows
 * supercedes (and improves upon) ifconfig and
 * iproute2 can do these things, and ifconfig cannot:
 * assign multiple addresses to a single interface (with ifconfig, you need to create virtual interfaces)
 * ifconfig has been superceded by iproute2, but the latter may not be available on all systems

hardware-related

 * lspci is the command to list all PCI devices, which usually will include any wireless cards
 * lspcmcia is like lspci except that it looks specifically at the PCMCIA cards

External Lists

 * Networkwifi at the Ubuntu Document Storage Facility
 * WifiDocs/WirelessCardsSupported
 * Linux wireless LAN support: "Wireless Adapter Chipset Directory compiled by HJ Heins"; shows date last updated
 * WLAN Adapters: compatibility information from AbsoluteValue Systems, Inc.
 * Although a very extensive list of available cards, this list does not seem to be very up-to-date; as of 2007-05-18, the TRENDnet was not shown as compatible. See below.

Compatible Cards
These cards worked with at least one version of Linux out of the box, no additional installation required.
 * Linksys WPC11 "Instant Wireless" (ID and serial # illegible) -- worked since 2005-11-11 or earlier, Ubuntu 5.10
 * does not show up in (WTF??)
 * TRENDnet TEW-221PC -- worked since 2006-09-06 or earlier
 * controller: ADMtek ADM8211 802.11b rev 11
 * subsystem: ADMtek SMC2635W 802.11b

Relatively Painless Mods

 * Linksys WPC54G ver. 3 serial #BDH61F706933
 * controller: Broadcom Corporation BCM4318 [AirForce One 54g] rev 02
 * subsystem: Linksys WPC54G-EU version 3 [Wireless-G Notebook Adapter]
 * "power" light comes on
 * apparently this card requires firmware which cannot legally be distributed with Linux, but which is nonetheless freely available for download; this shows how. Note that this particular rev is apparently more problematic than others.
 * with Ubuntu 7.04, the "bcm43xx-fwcutter" package now automatically downloads the firmware, extracts it, and installs it; just be sure to use the command-line apt-get rather than graphical (Synaptic or Adept), as there are prompts, and (of course) you will need a working internet connection to do the install.

Would Not Work

 * D-Link DWL-650 Rev M "Air"
 * D-Link DWL-650 Rev P "Air"
 * "Act" light comes on, but nothing listed in lspci; possibly card is bad, as it gave trouble in Win98 as well
 * D-Link DWL-650+ AirPlus
 * controller: Texas Instruments Unknown device 0400
 * subsystem: D-Link System Inc Unknown device 3b00

ndiswrapper on an Ubuntu LiveCD
One of the ndiswrapper how-tos above insists that it's pointlessly difficult to install ndiswrapper when booting from a LiveCD, but (with one caveat) it's not true; I did it (with a KUbuntu 5.10 LiveCD), and it took me about 10 minutes of mostly fiddling. The actual work was about 3 commands and a bit of browsing. The caveat is that you need to have a working network connection in order to be able to install packages; you can disable it once the WLAN card is happy. You will also need to have some way to access the driver -- so if you've only got one CD reader and the driver is on a CD, you might want to copy it somewhere else (floppy, network, or a local hard drive) where the LiveCD-booted machine will be able to access it.

This is typed from memory, so steps are probably missing and out of order.
 * 1) Boot LiveCD with both network cards (wireless and other working connection, which I'll call "wired" for short) installed
 * 2) At some point, run the Wireless LAN Utility; it will show you the status of the WLAN
 * 3) You should probably also run the Network Configuration applet from the System Configuration control panel thingy; it should show either just the wired connection, or possibly both connections with the wireless disabled. You can try enabling it, but it won't stay on at this point.
 * 4) Using Adept, install ndiswrapper-util or whatever it's called (the only thing which shows up when you search for "ndiswrapper")
 * 5) In a console window, type: sudo ndiswrapper -i path/to/driver (Not sure about this, but I don't have ndiswrapper manpage handy) where "driver" is the appropriate .ini file.

The driver is now installed, and just needs to be configured and activated.

With the liveCD, this procedure worked (to the best of my recollection), but it did not work on a full install of Ubuntu:
 * Figure out what device is being assigned to the network card (I forget how this is done; lspci -vv might do it...)
 * In a console window, type: sudo iwconfig ra0 essid "Hypertwins" (substitute the name of your WLAN for "Hypertwins")
 * If everything doesn't magically start working, tell the Network Config applet to activate the wireless card.

With Ubuntu installed on the hard drive, this procedure seemed to work better:
 * In the Network Configuration applet, select the wireless card and press [Configure Interface...].
 * Enter the appropriate settings for your network (mine: use DHCP, and network name is "Hypertwins")
 * Click [Ok]
 * Click [Apply] (at the very bottom right)
 * Click [Enable Interface] (higher up, under the interface list, next to [Configure Interface...])
 * I had also done the "iwconfig" step for the liveCD (described above), so if this doesn't work try iwconfig and repeat.

Scanning for networks with the WLAN Utility and then selecting one seems to have absolutely no effect (at least, when running under a liveCD), but it can give you a clue that things are starting to work.

trying to get a wlan card to work

 * Notes from unassisted research trying to get any of 3 different WLAN cards to work with KUbuntu 7.04
 * 2007-06-23 trying to get wlan working under Kubuntu 7.04
 * Notes from an IRC conversation in which we were trying to get a particular wireless card to work with Red Hat FC5. We didn't succeed, but a lot of useful-looking commands came up in the process.
 * 2006-05-03 chat trying to fix wlan card (to do: extract the relevant commands and such, and link to manpages)

notes on SUSE
SUSE 10.0 appears to have two different KDE applications having to do with wireless. I had to run them both in order to get a wireless card to start working (again). Running both of these resulted in a connection to the internet (ping yahoo.com returned packets). Both of these utilities ran automatically on reboot, but ping yahoo.com failed. Ping of local network addresses was still successful, so apparently DNS was not being set up right. This page seems to be related. I was finally able to fix it with this command: eth1
 * KInternet: this runs in the task tray; it's the icon which either shows two connected plugs or one plug not connected to anything (or sometimes a plug sending data, when it's connected and sending data). Double-click to connect (or disconnect; it toggles).
 * KWiFiManager (command: kwifimanager or run from Internet: Data Exchange: Wireless LAN Manager)

Links

 * PyWireless: alternative wireless management tool
 * 2007-04-10 HOWTO: Broadcom 43xx based wireless cards the EASY way