Ibm-acpi

From ThinkWiki
Revision as of 15:59, 5 December 2005 by Thinker (Talk | contribs) (Thermal sensors)
Jump to: navigation, search

ibm-acpi - IBM ThinkPad ACPI Extras Driver

This is a Linux ACPI driver for the IBM ThinkPad laptops written by Borislav Deianov. It aims to support various features of these laptops which are accessible through the ACPI framework but not otherwise supported by the generic Linux ACPI drivers. As a kernel module, ibm-acpi works as a bridge to deliver information about certain hardware events like key presses or control the state of certain hardware features by software.

Features

  • triggers ACPI Events for
    • Fn key combinations (FnF1, FnF2, FnF3, FnF4, FnF5, FnF6, FnF7, FnF8, FnF9, FnF10, FnF11, FnF12)
    • UltraBay device eject
    • Display lid, Power button, Undock button
  • enables software control of
    • Bluetooth
    • Video output switching, video expansion control
    • Docking and undocking (limited)
    • Fan (on most models, only enable/disable; speed control is added by a further patch)
    • Volume
    • LCD Brightness
    • ThinkLight
    • LEDs
    • Beep codes
    • Several CMOS states
  • can show values of
    • Eight temperature sensors
    • Embedded Controler registers
    • Fan status and speed

Project Homepage / Availability

http://ibm-acpi.sourceforge.net/

Included with the Linux kernel since 2.6.10. (Keep in mind, however, that the version included with the official kernel, or with some particular distribution, is not always the latest one.)

Kernel 2.6.14 included version 0.12 (versus version 0.8 in prior kernels).

Status

In development, usable, author does not reply to patch proposals.

Thermal sensors

Eight thermal sensors are exposed at /proc/acpi/ibm/thermal:

# cat /proc/acpi/ibm/thermal;  
temperatures:   44 41 33 42 33 -128 30 -128

On some models there are additional sensors at EC offsets 0xC0 to 0xC2, which can be read by parsing /proc/acpi/ibm/ecdump:

# perl -ne 'm/^EC 0xc0: .(..) .(..) .(..) / or next; print hex($1)." ".hex($2)." ".hex($3)."\n"' < /proc/acpi/ibm/ecdump
40 48 43

The meaning of these sensor varies with models. See the comments at the top of this ACPI fan control script for the known mappings. The only ones which appear to have a constant meaning are CPU, GPU and battery.

Packages

Application support

Interesting links related to this project