ACPI_WMI(4)

πŸ’– acpi_wmi(4) β€” the ACPI-to-WMI mapping driver, bestie edition πŸ’–

Kernel Interfaces Manual energy, but make it cute. Sit down, grab a snack πŸ“, we're talking about a little driver that speaks a very specific dialect of firmware.


✨ NAME ✨

acpi_wmi β€” the ACPI to WMI mapping driver. That's it, that's the name, no notes πŸ’…


🌸 SYNOPSIS 🌸

Okay so there are two ways to get this driver living in your system, and you get to pick your vibe.

Option one: bake it right into the kernel. Drop this exact line into your kernel configuration file:

device acpi_wmi

Option two: load it as a module at boot time. In that case, put this exact line into loader.conf(5):

acpi_wmi_load="YES"

Both are valid, both are iconic, choose your fighter 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

So acpi_wmi is the driver that hands you an interface for vendor specific WMI implementations β€” think HP and Acer laptops, that whole crowd. They all do their own little proprietary thing and this driver is the translator.

It creates /dev/wmistat%d, and you can literally just read that thing to get information about the GUIDs found in your system. That's the whole deal. Read the file, learn the GUIDs. No cap ✨


πŸŽ€ FILES πŸŽ€

  • /dev/wmistat%d β€” the WMI status device. This is the one you read. This is the main character πŸ’…

πŸ”₯ EXAMPLES πŸ”₯

Run this:

# cat /dev/wmistat0

And you get this back, in all its glory:

GUID                                  INST EXPE METH STR EVENT OID
{5FB7F034-2C63-45E9-BE91-3D44E2C707E4}   1 NO   WMAA NO  NO    AA
{95F24279-4D7B-4334-9387-ACCDC67EF61C}   1 NO   NO   NO  0x80+ -
{2B814318-4BE8-4707-9D84-A190A859B5D0}   1 NO   NO   NO  0xA0  -
{05901221-D566-11D1-B2F0-00A0C9062910}   1 NO   NO   NO  NO    AB
{1F4C91EB-DC5C-460B-951D-C7CB9B4B8D5E}   1 NO   WMBA NO  NO    BA
{2D114B49-2DFB-4130-B8FE-4A3C09E75133}  57 NO   NO   NO  NO    BC
{988D08E3-68F4-4C35-AF3E-6A1B8106F83C}  20 NO   NO   NO  NO    BD
{14EA9746-CE1F-4098-A0E0-7045CB4DA745}   1 NO   NO   NO  NO    BE
{322F2028-0F84-4901-988E-015176049E2D}   2 NO   NO   NO  NO    BF
{8232DE3D-663D-4327-A8F4-E293ADB9BF05}   0 NO   NO   NO  NO    BG
{8F1F6436-9F42-42C8-BADC-0E9424F20C9A}   0 NO   NO   NO  NO    BH
{8F1F6435-9F42-42C8-BADC-0E9424F20C9A}   0 NO   NO   NO  NO    BI

Look at those GUIDs go 😭 it's giving firmware archaeology and honestly? Obsessed.


πŸ‘‘ SEE ALSO πŸ‘‘


🌈 HISTORY 🌈

The acpi_wmi device driver first appeared in FreeBSD 8.0. A legend was born, fr fr.


πŸ’œ AUTHORS πŸ’œ

The acpi_wmi driver was written by Michael Gmelin <freebsd@grem.de>. Give them their flowers 🌸

The work was inspired by the Linux acpi-wmi driver written by Carlos Corbacho. Collab of the century, honestly.

For the specification of ACPI-WMI, see http://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx β€” go read the source material bestie, it's all there.

This manual page was written by Michael Gmelin <freebsd@grem.de>. Same legend, different job title 🫢


And that's the whole page!! Debian stamped this one on November 22, 2011, and it's still out here doing its thing. Stay mapped, stay slay βœ¨πŸ’…

πŸ“¦ where this page comes from