Sep 2, 2004 - Note: I have not actively used my Evo since the beginning of 2004, having upgraded to a PowerBook. Therefore, information on this page may be out of date, and emailing me for help will most likely be futile.

(...and MacOS X is a much nicer laptop environment than Linux!)

Running Linux on a Compaq Evo N600c

After some effort, I have Debian GNU/Linux running fairly well on my Compaq Evo N600c. There don't seem to be a lot of resources out there on this, so hopefully this is useful to you. My biggest problems were power management and the lid-mounted USB 802.11 wireless card (Compaq Wireless LAN MultiPort W200).

If you have trouble getting any of this working, or have any information for me to add, please email me. These instructions assume that you know how to configure and compile your own Linux kernel as well as apply patches to it; if you're not at that point yet, please consult other resources first.

I'm currently running kernel 2.4.20-pre9 with the acpi-20021002 patch. I'm using linux-wlan-ng 0.1.16-pre3. My distribution is Debian unstable. My kernel config is available here.

Power Management:

APM on this laptop is barely usable. It works okay on ac power, but if you leave the machine idle for 5 minutes or so on battery power, the screen, keyboard, and mouse all turn off, rendering your machine useless. Using acpi without a modified dsdt will result in your fan never turning on, which will cause your laptop to overheat.

In order to make acpi work, I had to modify the bios dsdt. With a modified dsdt, I now have battery information available, as well as the fan working. The kernel seems to control the fan as needed to maintain safe temperature. Manual control of the fan is only semi-working; you can turn it on at the 3 supported speeds, but not turn it back off. Sleep/standby does not work. This is because the Linux acpi drivers do not support it yet.

One issue that still exists is that "acpi_thermal-0313 [10] acpi_thermal_get_trip_: Invalid passive threshold" messages get printed by the kernel every so often. This appears to have something to do with detecting temperature thresholds for the cpu. You can comment that code out of thermal.c if it really bothers you. I suspect some more tinkering with the dsdt is required to get this working properly. There are also a bunch of acpi errors reported by the kernel at bootup, and various things in the /proc/acpi tree don't work properly.

To use my modified dsdt:
Download dsdt_table.h (v1.0 - Oct 4, 2002) and place it in /usr/local/src/linux/drivers/acpi/include/.
Download osl.c.diff and apply it in /usr/local/src/linux/drivers/acpi/.

After making these changes and recompiling your kernel, you should have mostly working power management!

Wireless Ethernet:

The Compaq Wireless LAN MultiPort W200 is an excellent addition to this laptop; no pc card sticking out of the side, and it's easily upgradable unlike other built-in wireless cards (I just wish they'd made it a bit slimmer). I actually flashed mine with the Actiontec firmware when trying to get it working with a previous version of the linux-wlan drivers (as I found suggested on a mailing list). It's working fine now, but I don't know whether or not it'd work with the Compaq firmware. Please note that, as far as I know, there is NO WAY to revert to the Compaq firmware if you do this. Therefore, I would suggest that you do this only as an absolute last resort, and at your own risk. You could permanently destroy your wireless card. (If anyone knows how to get the Compaq firmware back on the card, please let me know.)

You can get the latest drivers from the linux-wlan site. You need to enable USB support when you configure them.

The default hotplug drivers and config script were having issues (it seems that the normal hotplug program tries to pull information from /proc/bus/usb which makes the card unhappy), so I ended up writing my own hotplug script, available here. Put this somewhere like /usr/local/sbin, then put this startup script wherever your distribution will run it (I have mine in /etc/rc.boot for Debian).

Power to the Multiport card is controlled with Function-F2 on the N600c. Make sure that it's enabled in your BIOS setup. I have issues roaming from one ssid to another; if I do so, I always have to turn the card off and back on to reassociate (which is pretty simple with Fn-F2). Also, tcpdumping causes large amounts of latency/packet loss, even in non-promiscuous mode. I also have found that the card doesn't associate well unless you specify "ssid=" (e.g., no ssid). The two wireless networks I usually use both have broadcast ssid turned on, so I don't know how well the card will work on a network where you have to specify the ssid. If you're having trouble getting your card to associate at all, look at the wlanctl-ng commands in my lighthotplug script, even if you aren't using it. I'm manually modprobing prism2_usb (which installs p80211 beneath it) at bootup via /etc/modules; I don't trust the kernel autoloader. If you're having trouble seeing the card at all, make sure that these two modules are getting loaded.

Other stuff:

My N600c is one of the older ones with a 1024x768 screen. The newer N600c units and the N610c have a 1400x1050 screen. I have no idea how well X will work on the newer high-res screens. I also don't seem to be able to turn off the backlight yet.

Sound and Ethernet are supported just fine in standard kernels. The sound card is an ESS Allegro. The Ethernet card is an Intel EEPro100. The modem is a Lucent Winmodem, but there are working Linux drivers for it available here.

I recommend you run "hdparm -c 1 -d 1 -u 1 -k 1 /dev/hda" on bootup to optimize hard drive performance. This works fine with the Toshiba 30GB drive I have. Your results may vary with other drives.

I don't know of a way to control the brightness of the LCD. Fn-F10 doesn't do anything, so I assume it's software based. Older Compaq laptops (such as the M700) had Fn-F10 support that worked fine in Linux. Video out seems to work, despite Fn-F4 not doing anything either.

References:

Google, of course.
Here's another page about Linux on an N600c.
The acpi-devel archives provided me a lot of helpful information on modifying the dsdt.
The linux-wlan archives were quite helpful in getting the wireless card working.

About:

This page was written by Karthik Arumugham. Last updated Oct 18, 2002.