Getting wireless networking working on Ubuntu Linux 6.06 LTS with a Belkin Wireless-G Notebook PCMCIA card, WPA, wpa_supplicant, and ndiswrapper… and plenty of time, pain and expletives.

*** Note: this page is a work in progress… ***

I spent quite some time getting this setup working on Breezy, but never documented it. Of course, the upgrade to Dapper 6.06 LTS broke it all completely.

I’ve got it sort-of working again now, so for the benefit of others (who simply shouldn’t have to go through this utter lossage), here are some hints….

I’m using:
* an IBM Thinkpad T21 (although AFAIK, this shouldn’t matter)
* a Belkin Wireless-G Notebook PCMCIA card, model F5D7010
* a WPA network – you should too, as WEP is insecure

Dapper adds native support for the card, which it detects as needing the @rt2500@ module. I haven’t had any success with this. I’ve fallen back on using @ndiswrapper@, and for this, I used the native Windows XP drivers from “A-Link”:ftp://ftp.a-link.com/wl54h/WL54driver2.2.6.0.zip

This page isn’t a guide to @ndiswrapper@, but I’ll cover the basics. @ndiswrapper@ allows you to use native Windows networking drivers in lieu of proper Linux ones, for hardware that isn’t supported at all/yet. It’s a pity we have to use this, but hey, we’re desperate.

The packages/versions I use are:
* @wpa_supplicant@ 0.4.8-3ubuntu1.1
* @ndiswrapper-source@ 0.12+1.0rc2-1
* @ndiswrapper-utils@ 1.8-0ubuntu2

Overview

The basic stages are:
* Defeating the @rt2500@ module
* Getting @ndiswrapper@ loaded
* Setting up @hotplug@ to activate _ndiswrapper_
* Configuring @ndiswrapper@ to work with the native Windows drivers
* Setting up @wpa_supplicant@ to associate with your WPA network
* Running @wpa_supplicant@ on card insertion
* Learning the appropriate prayers to St. Jude (I hear she’s particularly good for lost causes)

ndiswrapper and friends

Edit @/etc/modprobe.d/blacklist@, and add:

blacklist rt2500

Edit @/etc/modules@, and add

ndiswrapper

This knocks out the @rt2500@ module, and ensures that @ndiswrapper@ is loaded at startup.

Extract the contents of the “Windows native drivers”:ftp://ftp.a-link.com/wl54h/WL54driver2.2.6.0.zip into a temporary directory (e.g. @/tmp@, with @cd /tmp; unzip WL54driver2.2.6.0.zip@).

note.. the following comes from distant memory, and may be slightly wrong – the @man@ page for @ndiswrapper@ seems like this is what I did

Run @ndiswrapper -i /tmp/WinXP/Rt2500.INF@ to install the Windows driver.

Run @ndiswrapper -m@ to ensure that @ndiswrapper@ is used when the @wlan0@ default wireless network device is used.

I _think_ that this last step creates @/etc/modprobe.d/ndiswrapper@, which contains @alias wlan0 ndiswrapper@.

At this stage, it might be useful to reboot. Yes, this is Linux, you shouldn’t have to reboot to effect changes, but frankly, I haven’t the will to work out what/how to reload whatever needs reloading. Getting this working as flakily as it does has worn me down, and makes me want to become a goat herd in Andalucia, it’s _that much fun_.

*WARNING!* Do NOT insert your network card yet. I know it’s tempting….

When the system is back, get a root console, and @tail -f kern.log@. Then insert your card… you might see:

Jul 24 20:49:33 localhost kernel: [17179713.412000] ndiswrapper: using irq 11
Jul 24 20:49:34 localhost kernel: [17179714.420000] wlan0: vendor: 'IEEE 802.11g Wireless Card.'
Jul 24 20:49:34 localhost kernel: [17179714.420000] wlan0: ndiswrapper ethernet device 00:11:22:33:44:55 using driver rt2500, 1814:0201.5.conf
Jul 24 20:49:34 localhost kernel: [17179714.420000] wlan0: encryption modes supported: WEP; TKIP with WPA; AES/CCMP with WPA
Jul 24 20:49:45 localhost kernel: [17179725.664000] wlan0: no IPv6 routers present

If you see this, rejoice! If you don’t, you have some interesting times ahead…

… the above notwithstanding, I think Ubuntu Linux is a very user-friendly system. It’s just picky about its friends.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s