W200 wireless adapter for the Compaq Evo laptops

This page goes over the culmination of effort it took me to figure out how to get this wireless adapter working with Gentoo Linux on my laptop; Compaq Evo N600c. It has taken me many days to figure out how to get this working ... and judging from the forum messages I have encountered it appears that many people have stumbled on how to get it working.

The W200 wireless module is distributed by Compaq specifically for the Evo laptops. It fits onto the top of the lid, as there is a multi module connector on top. This is actually a USB connector.

Compaq provides no support for this module in any operating system except Microsoft Windows.

The Linux community has been active for many years in developing drivers for this type of device. Specifically the Orinoco USB driver. The W200 is an orinoco type card. From what I have found on the web, there are two types. I recently purchased this on eBay.

Use lsusb to view the ProductID.

# lsusb

Bus 003 Device 002: ID 049f:0076 Compaq Computer Corp.

049f = Compaq Computer Corp, the 0076 is the productID

I believe the older productid is 0033 and I do not believe that there are any supported drivers for Linux.

At the bottom of the page there is a list of links to the important pages that I found that have helped me through this installation and provide more details on the installation than I have provided here.

The instruction outline below is based on Gentoo Linux using the Gentoo 2.6.14-r6 kernel, though this should be the same on any 2.6 kernel (as I found out in my "googling".) Some of the commands are particular to Gentoo (ie. emerge) so you will have to find your own way of installing some software packages.

Step 1: The kernel

The first thing that requires to be performed is to enable support for USB and Wireless Networking in your kernel. For those of you that are not too familiar with the kernel:

If you have never built the kernel before you must read over any support documents from your Linux distribution as some may require different steps than I have outlined (ie. such as copying a default .config file or installing the kernel source files).

# cd /usr/src/linux
# make menuconfig

Device Drivers -> Network device support -> Wireless LAN (non-hamradio) ->

(*) Wireless LAN drivers (non-hamradio) & Wireless Extensions
(M) Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)

Device Drivers -> USB support ->

USB options should be enabled (defaults should be fine)

Step 2: Building the orinoco usb driver

The Linux Orinoco drivers are found here: http://www.nongnu.org/orinoco/. The Orinoco USB driver is still tagged as experimental so this is how to get it from the CVS repository:

You will need both the cvs and the ssh installed (though ssh is most likey already installed on your Gentoo system):

# emerge cvs
# emerge ssh

Change directory to somewhere where you would like to keep the orinoco source code.

# export CVS_RSH="ssh"
# cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/orinoco co orinoco

This should download the source code into a directory called "orinoco". Change directory to the firmware subdirectory and use the "get_ezusb_fw" script to build the firmware that is required for the W200 USB module.

# cd orinoco/firmware
# ./get_ezusb_fw

This command will endup with a message about 436+0 records in and out. This means it has created the firmware files. They will be in the firmware directory and called "orinoco_ezusb_fw" and "orinoco_usb_fw.h".

Now ... all the information that I had gathered on the web state to use hotplug and let the hotplug agent download the firmware into the W200 USB module when it is activated. I have never been successful in getting this to work. I kept on encountering failure as indicated in my messages after I enabled verbose debugging.

This was very frustrating as I was soooo close to getting it working

After a couple of days I found a method of building the firmware into the driver (thanks to Chris Schultz). This is the method I will describe below.

Copy the orinoco_usb.fw.h file into the orinoco directory.

Use your favourite editor an open the orinoco_usb.c file. Search around line 99 for the following line:

/* #define EZUSB_FW_INCLUDED 1 */

Remove the "/*" and the "*/". These are c code comment delimiters. Save the file.

Build the driver and then install it:

# make
# make install

Hopefully everything compiled without errors.

Add an entry into your /etc/modules.d/aliases file

alias eth1 orinoco_usb

To activate the W200 module on the laptop use Fn+F2 (that's the Function and F2 keys) ... press once to turn it off then press again to turn it back on. Keep an eye on your messages file (Fn+F12). The LED on the W200 mdoule should turn on.

Step 3: Wireless connection

After this point you will have to configure your wireless setting to connect to you AP. I would suggest reading the documents in the Gentoo guide: http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=4&chap=4

 
Special thanks go to the Orinoco driver maintainers, Gentoo Linux Wiki and Chris Schultz.

http://www.nongnu.org/orinoco/

http://www.de.gentoo-wiki.com/Talk:HOWTO_Wireless_Configuration_and_Startup

http://www.schultz.co.nz/Plone/Members/chris/kernel/laptop/w200

Other links to w200 docs:

http://www.dot7.de/linux/w200.html

 

Home Up W200 wireless HiNote Evo