In short, none of the existing APM utilities for Linux work with the TI TravelMate 4000M. There are a few pieces of code that Linux users have the option of using to interface with the APM protocol. There is a daemon called apmd that listens for APM events and passes them on to the APM BIOS (which, according to the APM specs, should be engineered into the OEM's system BIOS and has a very specific interface specification). The other code to mention is the APM BIOS support that is integrated into the latter 1.3.x and all of the 2.x kernels. Both have been tested and neither worked on the TravelMate 4000M. The APM BIOS kernel support reports "APM BIOS not found" at boot time, for instance. This means that TI has chosen to implement the power management features in their system BIOS in such a way that their DOS-based power management driver software can communicate with it, but true-to-APM-specs software cannot.
More specifically, it seems that the APM 1.0 API has been implemented as a DOS driver loaded at DOS boot time and not as a BIOS ROM extension, as Tommy Rutledge < TommyRutledge@dlep1.itg.ti.com> (Electronic Support, Texas Instruments, Inc.) implies:
``The TravelMate 4000M Series of notebooks are designed around the APM v1.0 specification. All the TravelMate 4000M were designed and manufactured prior to the APM v1.1 specification existing. Texas Instruments apologizes if there has been any miscommunication of information in regards to the level of the APM specification compliancy. The latest TravelMate 5000 and Extensa products have added this functionality to the BIOS. If the customer still programs to the Int15 function calls by using 32bit code segments they still can take full advantage of power management. One thing we need to note is that the documentation is created and geared to the configuration that the product ships. We have produced all the TravelMate 4000M's with MS-DOS and Windows for Workgroups. There is no documentation on other operating systems simply because the responsibility for support remains with the operating system vendor. Texas Instruments has no plans to develop or design system drivers and etc. for Linux. Texas Instruments by no means is telling the customer he is using the wrong operating system. Linux is simply an operating system that Texas Instruments does not support development efforts for.''
Said otherwise : on a TM 4000M, APM under Linux will never work, since the APM code to service INT 15h really is loaded as a DOS driver and Texas Instruments definitely doesn't seem to be willing to help in any way.
What to do?
There are some non-APM-based power management strategies that may help prolong battery life. In particular:
You can set the linux virtual consoles and X to both blank the screen after a certain period of inactivity. This is of minimal power savings, but it's at least something.
The hdparm program (found on tsx, sunsite and mirrors) when launched as root with the suitable option (-S timeout-value), interacts with the IDE bus to tell it to spin the disk down after the specified amount of inactivity. It seems to work pretty well. It is not APM, though - it doesn't manage the floppy drive, the I/O ports, the PCMCIA drive, or the CPU itself, but the disk is a significant power suck and this program seems to help.
Check out the Battery Powered Linux Mini-HOWTO
HTML document last updated 18 February 1999