Linux on the compaq M700

June 2000

1. General

This page is about installing and running Linux on the Compaq Armada M700. The M700's have various options; those affecting CPU speed and disk space should be irrelevant to whether you can run Linux on this machine or not. On the other hand, you also have the option of adding built in networking and a modem. In my opinion it is definately worth going for them, since they save you having to carry PCMCIA cards around and you can plug directly into the machine without fragile dongles in the way.

2. Hardware setup

My M700 came with:

3. Installation

I've tried stock RedHat 6.1 and RedHat 6.2 on this machine. Both produce the same results and the rest of this page can be thought of as applicable to both systems.

RedHat bootable cdroms will be booted by the laptop without any problems. Also, you won't need any special kernel options to get the installer to work. The RH 6.2 X-windows based installer works fine with the ATI graphics chip for the initial setup.

Prior to this installation, I installed Windows NT 4. For this to happen successfully of course, one needs to download a truckload of drivers and updates and hotfixes for the machine. As a result, it now has updated BIOS and updated flash code for the hard disk (both of them from Compaq's site). The difference is one extra bug in the APM BIOS, so I'm not sure it's worth doing it: with the current as of June 2000 BIOS, the display doesn't come on with the backlit, you have to close and reopen the screen for that.

4. X Windows

The LCD display and ATI AGP Mobility Pro chipset can support up to 1024x768, 32bpp with the 8mb VRAM that come with the machine. I personally run mine on 24bpp for compatibility reasons with legacy X-based programs that don't know what 32bpp is. Can't tell much of a difference ;)

XConfigurator didn't have any probems detecting the display system and producing a functioning configuration. It's worth mentioning that the mouse has 3 buttons and of course that's a blessing for us working under X. I didn't have any problems using both the built-in and external mice at the same time.

It seems that the LCD is very particular when it comes to timings: When I tried pushing for faster refresh rates, I got very weird colors from it. I imagine it was protesting, so I left it alone.

Here's the modeline:

"1024x768"     65.00   1024 1032 1176 1344    768  771  777  806 -hsync -vsync

5. Modem

The built in modem comes in a small modular package calling itself MiniPCI. Maybe this is a significant new standard for laptop peripherals that will mean that we can have a greater amount of choice when it comes to expanding the laptop's capabilities. What it means for me now is that the laptop comes with an ethernet jack in the casing which I can't use because nobody sells MiniPCI modules. Just order the machine with what you need on it and don't rely on the standard being successful.

The modem itself is a Lucent WinModem, and Lucent makes a driver for it that will work under Linux. It's amusing to have the line drop when the machine is hung, and I'm sure driver hacking possibilities are endless with such a device. It's in the process of being reverse engineered by a couple of people, and I for one am waiting anxiously for a usable driver since the Lucent one only works with 2.2.12-2.2.14 kernels. It does work very well though; throughput is on par with any other V.90 modem although it seems to be a bit sensitive to noise (I can't remember my USR Courier hanging up when I pick up the phone). To get the driver to autoload via kerneld:

6. Network devices/pcmcia

PCMCIA works fine out of the box, there are no problems with detecting and using the Texas Instruments bridge. I've tried pcmcia-cs 3.1.8, 3.1.9 and 3.1.16 with full success.

7. IrDA

IrDA is fun to use, albeit limited. I've tried the irtty driver which limits the speed to 115200, but it did work and that was my first experiment with the technology. I didn't investigate trying a native driver for the IrDA controller chip since I'm sure my other laptop is not supported.

8. Power management

I was used to a laptop which had a good APM implementation. No such luck with the M700.. APM is supported, also it seems to have ACPI support but I didn't have any luck getting ACPI to work at all. So, I was stuck with APM.

Don't try to suspend the machine when in X; it will freeze it. It then needs a hard reset (blue suspend + power switch, or remove all power) to come back to life. It looks like the APM driver successfully syncs the hard disk but can't get it to go to sleep and the machine remains hung while consuming full power. I've tried kernels 2.2.12, rh-2.2.12, 13, 14, 2.3.99preX, all fully modularized, resetting ide DMA and the problem persists.

When trying to suspend from a console, it works about half the time. Same situation with above when it doesn't work. The annoying thing is that NT (yes, NT) seems to have no trouble making the machine suspend.

In short, don't use the suspend button under Linux or prepare for lots of fsck's.

9. USB support

USB support works fine with a Rio 500. The chip works with the UHCI driver with no visible problems and great speed. To get support for both USB and the WinModem, I'd recommend you grab the sources for 2.2.14 and patch it for USB support.

10. Sound

This machine seems to come with a Maestro chipset. The 2.2.14 driver works ok with it, but after prolonged mp3 playing my machine starts giving out static from the left speaker. Same problem with a 2.3.99pre7 kernel. I'm not sure what can be done to alleviate this problem but it's not high on my list.

11. Disk system

I've to admit the problems I've been seeing with this disk have to be due to broken hardware. This here IBM DBCA-206480, while very fast and supporting DMA has some sort of a bug on writes because they seem to be taking five times as long. It is annoying but I'm determined to try out a different drive before I draw any conclusions.

Hot-swapping the cdrom and the floppy works, kinda. You have to boot with the cdrom plugged in otherwise mucking about with hdparm to create the interface is needed. The controller seems to want to notify someone that something has happenned since the machine complains by beeping and occasionally loses an interrupt.

12. Final

For some reason a whole lot of interrupt lines seem to be bundled together on irq 11. Naturally this has performance penalties and .. functionality penalties on older kernels with non-shareable irq's. For the most part 2.2.14 seems to work fine on this machine, including sharing the irq line between USB, sound, vga, winmodem.

OpenGL seems to work with this hardware, providing accelerated 3D video using glxMesa-20000328 which basically is a plugin to the X server. It isn't finished and somewhat unstable so I removed it.

In conclusion, if you agree with the physical properties of the M700, it can be made into a usable Linux laptop. The little quirks that this platform has are not show stoppers.


Back  $Id: compaq-m700.html,v 1.2 2004/10/22 01:47:01 kos Exp $