Home

Awesome

thinkpad-wmi

Linux Driver for Thinkpad WMI interface, allows you to control most BIOS settings from Linux, and maybe more.

⚠️ (think-lmi)[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/platform/x86/think-lmi.c] now provides the same features and has been merged upstream ⚠️ - Use think-lmi instead

sysfs interface

Directory: /sys/bus/wmi/drivers/thinkpad-wmi/

Each setting exposed by the WMI interface is available under its own name in this sysfs directory. Read from the file to get the current value (line 1) and list of options (line 2), and write an option to the file to set it.

Additionally, there are some extra files for querying and managing BIOS password(s).

password

Must contain the BIOS supervisor password (aka 'pap'), if set, to be able to do any change.

Every subsequent password change will be authorized with this password. The password may be unloaded by writing an empty string. Writing an invalid password may trigger the BIOS' invalid password limit, such that a reboot will be required in order to make any further BIOS changes.

password_encoding

Encoding used for the password, either '', 'scancode' or 'ascii'.

Scan-code encoding appears to require the key-down scan codes, e.g. 0x1e, 0x30, 0x2e for the ASCII encoded password 'abc'.

password_kbd_lang

Keyboard language mapping, can be '', 'us', 'fr' or 'gr'.

password_type

Specify the password type to be changed when password_change is written to. Can be:

Other types may be valid, e.g. for user and master disk passwords.

password_change

Writing to this file will change the password specified by password_type. The new password will not take effect until the next reboot.

password_settings

Display password related settings. This includes:

load_default_settings

Reset all settings to factory default.

debugfs interface

The debugfs interface maps closely to the WMI Interface (see driver and doc).

References

Thinkpad WMI interface documentation: http://download.lenovo.com/ibmdl/pub/pc/pccbbs/thinkcentre_pdf/hrdeploy_en.pdf