Fighting a USB Wireless Adapter

Just for the fun of it, I decided to install Linux on an old Dell Dimension 4500S desktop (ca. 2002) that I had in the basement. It’s not much of a machine: 640MB RAM, 1.7? GHz processor, and 20GB hard drive, but certainly adequate to install a current version of Linux. The tricky part throughout was its Dell Truemobile 1300 Wireless USB adapter, which has no Linux drivers and which caused me numerous headaches during the install.

Without enumerating all the false starts, and mis-steps (such as trying the Debian distro instead of Ubuntu), here is the right way to go about installing Linux Ubuntu 9.04 on an old machine with such an unsupported USB device.

How-To, in summary (details below):

1. Back up data, if needed.
2. Remove USB devices.
3. Connect to an ethernet cable.
4. Boot from Ubuntu boot CD and install OS.
5. Install ndiswrapper package.
6. Find & install specific device driver.
7. Plug USB device back in.

1. Back up any data that you might want, presumably from an existing Windows install. On this box, I didn’t have anything I wanted.

2. Remove/unplug USB devices. After several false starts, I found that removing the USB wireless device was also the only way I could install any distro of Linux. I removed its USB mouse and used an ordinary PS2 mouse.

3. Plug into an ethernet connection. The Linux install discs can use internet resources during the installation and first steps. If there is an active ethernet connection from the beginning, the newly installed OS will find it, and configure it internet access quite easily.

As noted in the previous post, I had “burned an image” of the Ubuntu 9.04 OS onto a CD and had reset the BIOS to look first in the CD drive for an OS. Neither of those steps is a big deal, unless you don’t know how to do them. 🙂

4. So … I had my Dell Dimension 4500S, plugged into a working ethernet connection (two little green lights!), an Ubuntu 9.04 boot CD, and disconnected all USB devices. With that, I booted from the CD, and installed Linux easily, to include internet access, automatically configured. Promptly after I installed from the CD, the Ubuntu Update Manager found a fairly long list of current updates, which I clicked on, and they updated seamlessly.

5. Now, since I wanted to access the internet wirelessly and return the ethernet cable to the PC that had been using it, the time had come to make the old Dell Truemobile 1300 USB wireless adapter work. But it has no Linux drivers. The general solution is a package called ‘ndiswrapper,’ which allows the Linux kernel to use a Windows driver. From the Synaptics Package Manager, I selected the three needed packages: ndiswrapper-common, ndiswrapper-utils-1.9, and ndisgtk (a very useful graphical interface to ndiswrapper, as I am command-line-phobic). The Package Manager installed these easily.

A digression here. During the earlier false starts, I had found the Windows driver for the device, and had put it on a thumb drive. The driver is here:
DellTruemobile1300WirelessUSB-Linux.tar.gz
Within that tar.gz file are the two needed driver files: oem15.inf and PRISMA02.sys. I extracted both of them and saved them to my Desktop, where they could be easily found. I’m not sure why both are needed; I thought oem15.inf was “the driver,” but both are needed.

Almost there …

6. With the ndiswrapper GUI installed, it showed up in the System –> Administration menu, at the bottom, as Windows Wireless Drivers. Followed the menu, found oem15.inf, and it installed. Note that I had not yet plugged in the USB device. Every time that I had plugged it in before installing this driver, Linux (both Ubuntu and Debian) froze, or otherwise wouldn’t work. DO NOT PLUG IN THE USB WIRELESS DEVICE BEFORE ITS DRIVER IS INSTALLED.

7. Out of an abundance of caution, I restarted the machine after installing the driver. Then I plugged in the USB wireless adapter; Ubuntu found the device; it found all the networks within range; I entered the WEP key for my network, and it all works beautifully.

Great! Now I can put it back in the basement!