New ASUS Sensor Driver For Linux Aims For Greater Flexibility & Faster Sensor Reading
The "asus_wmi_ec_sensors" driver relies upon the WMI interface (Windows Management Instrumentation) for sensor reading on a wide-range of modern ASUS motherboards. As with most desktop sensor drivers, this code was developed by the community.
Eugene Shalygin who co-developed the ASUS WMI sensor driver has been working on "asus-ec-sensors" as a newer and yet-to-be-merged ASUS sensor driver. The benefit of this new driver is that it interfaces with the embedded controller (EC) directly and not reliant upon the WMI interface.
By querying the embedded controller directly, sensor reads are much faster. Additionally, there is greater flexibility with this asus-ec-sensors driver in tapping the EC directly. Linux 5.17's ASUS WMI driver meanwhile can take "almost a full second to read all the snesors, that transfers less than 15 bytes of data" while poking the EC directly will yield much more timely readings.
After years of neglect but still without the official support of ASUS, modern ASUS desktop motherboards have finally begun seeing better sensor support on Linux.
At the moment this ASUS EC Sensors driver is targeting newer B550 and X570 ASUS motherboards and can support reading all available temperatures, fan speeds, and CPU current.
The ASUS EC Sensors Linux driver has been quick to develop and is already up to its v8 patches. We'll see if it gets buttoned up for a quick introduction in the 5.18 kernel or will take further time to mature for quicker and more flexible ASUS sensor reading on Linux.
As part of the driver patch series, the plan is to deprecate the 5.17-introduced asus_wmi_ec_sensors once this ASUS EC Sensors driver is merged. After proving itself and a period of deprecation, the asus_wmi_ec_sensors would then ultimately be removed from the kernel as a short-lived driver for ASUS sensor reading on Linux.