Controlling LEDs on ThinkPad T440p
9 February 2024
We'll use Linux and ectool and (optionally) pmh7tool from coreboot.
Most of registers documented below should work on other ThinkPads too, but I'm writing and testing this on T440p specifically. And because starting from this generation, ThinkPads lack many LEDs that were present on previous generations (such as Wi-Fi, disk activity, battery state indicator and so on), I don't include them here.
EC
EC LED control register is 0x0c
. Bits 0-3 of value is LED number, bits 4-7 is state. Check this out for more info.
Bit mask | State |
---|---|
0x80 |
on |
0xc0 |
blinking rapidly |
0xa0 |
fading in and out |
0x00 |
off |
List of LEDs
# | Description | Supported states |
---|---|---|
0x0 |
Power button | all |
0x6 |
Fn button on keyboard | all except fading |
0xa |
The red dot on the 'i' of the 'ThinkPad' logo on laptop's lid | all |
0xe |
Mic mute button on keyboard | all except fading |
ectool usage example
Suppose you want to make the red dot on the logo to start fading in and out. 0xa0 | 0x0a = 0xaa
, so following will do it:
# ectool -w 0x0c -z 0xaa
PMH7
Some LEDs can be controlled via PMH7, register 0x102
.
To clear bit:
# pmh7tool -c 0x102 $bit
To set bit:
# pmh7tool -s 0x102 $bit
Bit | LED description |
---|---|
3 | Fn button on keyboard (0=on, 1=off) |
4 | Audio mute button on keyboard (0=on, 1=off) |
If you have any comments, contact me by email.