Linux on M300

This page describes some problems I had with Debian Etch installation on a Compaq Armada M300 laptop. I haven't listed here anything that I don't have tested or that just worked out of the box. Some of the information may also concern M700.

Contents

Specification

Ethernet

The main problem with the ethernet was that although every M300 has an RJ45 connector they may lack the Mini PCI ethernet card and the wire between the card and the connector. The card itself is easy to find from eBay by searching 153107 which is the Compaq spare number for the card, but few of them include the wire needed.

The connectors of the card and the RJ45 are somewhat non-standard, so it's quite impossible to find a suitable wire or connectors. My solution was to solder wires straight on the card and on the connector. For that you have to disassemble your laptop. M300 has a great manual and chapter 5 describes pretty well howto do that. The manual can be found on the HP's website.

Here's table showing corresponding pins on the card and on the RJ45 connector and a picture showing the pins on the card (not my card but nearly similar, on mine HS00-98265 is replaced with HS0011): Pins on the card

CardRJ45
TX-2
TX+1
RX-6
RX-3

After this little modification there were no problems to make card to work. Unfortunately I don't have photos of the modification.

Hibernate and ACPI

Hibernating to RAM (suspend) and to disk works with 2.6.18-5-686 kernel (default on Etch) and hibernate package. Recovering from suspend takes only few seconds but from disk it takes about 40 seconds. I use apcid to control button presses. With ACPI you can also get temperature and battery state. Below are my config files. Some of them came with Debian and some are created or modified by me. I left out most commented lines to make files clearer.

Synaptics mouse driver seems not to survive properly the suspend. With hibernation this doesn't seem to be a problem. Luckily it's possible to get it work just by visiting the console (crt-alt-f1) and coming back to X (alt-f7).

/etc/hibernate/hibernate.conf

TryMethod sysfs-ram.conf

/etc/hibernate/sysfs-ram.conf

UseSysfsPowerState mem
Include common.conf

/etc/hibernate/sysfs-disk.conf

UseSysfsPowerState disk
Include common.conf

/etc/hibernate/common.conf

I have an Asus wireless PCMCIA card, which is why I have to restart some services. That line can be commented out safely.

Verbosity 0
LogFile /var/log/hibernate.log
LogVerbosity 1
Distribution debian

SaveClock restore-only

UnloadBlacklistedModules yes
LoadModules auto

DownInterfaces eth0 wlan1
UpInterfaces auto

RestartServices ifplugd wpa-ifupdown

SwitchToTextMode yes

/etc/acpi/events/powerbtn

event=button[ /]power
action=/etc/acpi/powerbtn.sh

/etc/acpi/events/sleepbtn

event=button[ /]sleep
action=/etc/acpi/sleepbtn.sh

/etc/acpi/powerbtn.sh

If you prefer shutting the computer down instead of hibernating you can comment out the hibernate line and uncomment the shutdown line.

#!/bin/sh
# If powersaved is running, let it process the acpi event
if pidof powersaved; then
  exit 0
fi

/usr/sbin/hibernate -F /etc/hibernate/sysfs-disk.conf
#/sbin/shutdown -h now "Power button pressed"

/etc/acpi/sleepbtn.sh

#!/bin/sh
# If powersaved is running, let it process the acpi event
if pidof powersaved; then
  exit 0
fi

/usr/sbin/hibernate

Performance

What can you do with a laptop this old? Well, with Fluxbox or Xfce4 you can make it a perfect desktop. I noticed that 64 MB of RAM wasn't enough to run Xfce4 and Firefox but with 128 MB it's possible and even enjoyable. Processor is also fast enough to play movies. And most importantly the battery lasts over three hours. What else do you need?

Other sites you may find interesting:

Last edited May 9 2008

webmaster (ät) perho.org