Reverse Engineered MSI WMI Platform Driver Being Worked On For Linux
Submitted for code review this weekend was a new MSI WMI Platform driver that was developed via reverse engineering MSI laptops. Initially this MSI WMI Platform driver is just exposing fan speed sensors but ultimately can be more useful for other Windows Management Instrumentation (WMI) features.
Mainlined to the Linux kernel last year was the MSI-EC driver for interfacing with the embedded controller (EC) on modern MSI laptops. Right now this initial MSI WMI Platform driver features much the same fan speed sensor monitoring support, but ultimately with further reverse engineering can be useful for exposing other platform features. The benefit to this platform driver over the MSI-EC driver is that this new driver does not rely on DMI whitelisting of supported laptop models.
Armin Wolf worked on this MSI WMI Platform driver as part of the LM_Sensors project. While MSI is not alone, it's too bad -- and rather embarrassing in 2024 -- there still are a number of major OEMs not working on Linux driver support directly for their consumer hardware but leaving it to their customers and the open-source community.
This driver in its initial form is out for review on the platform-driver-x86 mailing list.
Mainlined to the Linux kernel last year was the MSI-EC driver for interfacing with the embedded controller (EC) on modern MSI laptops. Right now this initial MSI WMI Platform driver features much the same fan speed sensor monitoring support, but ultimately with further reverse engineering can be useful for exposing other platform features. The benefit to this platform driver over the MSI-EC driver is that this new driver does not rely on DMI whitelisting of supported laptop models.
Armin Wolf worked on this MSI WMI Platform driver as part of the LM_Sensors project. While MSI is not alone, it's too bad -- and rather embarrassing in 2024 -- there still are a number of major OEMs not working on Linux driver support directly for their consumer hardware but leaving it to their customers and the open-source community.
"Add a new driver for the MSI WMI Platform interface. The underlying ACPI WMI interface supports many features, but so far only reading of fan speed sensors is implemented.
The driver was reverse-engineered based on a user request to the lm-sensors project, see the github issue for details.
The ACPI WMI interface used by this driver seems to use the same embedded controller interface as the msi-ec driver, but supports automatic discovery of supported machines without relying on a DMI whitelist.
The driver was tested by the user who created the github issue."
This driver in its initial form is out for review on the platform-driver-x86 mailing list.
5 Comments