I was looking at the asus_atk0110 driver when trying to figure out why fan control is not possible on my ASUS M5A78L-MUSB3 and it comes down to the fact that the IC on the MB which is responsible for hardware monitoring and fan control is taken exclusive control over by the BIOS so the kernel has to communicate with the BIOS over ACPI instead of talking with the chip directly.
The asus_atk0110 driver does this but is only reading sensors and nothing else. There is no documentation for the ASUS ACPI tables, which means they have to be reverse engineered.
This is where I need your help: I want the ACPI tables for as many ASUS motherboards (and BIOS versions) as possible.
It's not the latest BIOS and the ACPI table showed some BIOS bugs or something, I don't know what those are about. Do you use some utility to control the fan speeds? I'll post another motherboard tomorrow, if I don't forget.
I've got the exact same motherboard, the md5sum of the tables is different but there is no diff in the important parts when disassembled.
It's currently impossible to control the fan speeds on ASUS motherboards with linux (I'm not sure if all work the same way with ACPI, so that's what I want to figure out). The BIOS takes full control over the fan control and hw monitoring chip so we have to tell the BIOS what to do. On the M5A78L-M/USB3 is looks like the only option is to change the Q-FAN mode (this can be done in the BIOS but it would be nice to be able to change it on the fly).
I've also seen another ASUS motherboard with more control options in ACPI. This is really about understanding all possible features and values in the fan device class.
So I've taken a look at the Asus Z87-PRO ACPI tables and it looks like it's using the ThermalZone standard instead of proprietary ASUS ACPI functions.
This is good because it should work out of the box:
/sys/class/thermal/thermal_zone[0-*] should contain the sensors /sys/class/thermal/cooling_device[0-*] should contain cooling devices
@epsilont, could you check if those files/directories exist?
This means that somewhere in between the M5A78L-M/USB3 and the ASUS Z87-PRO they changed the way they handle sensors and fans. Would be nice to find out when this happened.
No ASUS motherboard here. However, if its not a big ask it would be really interesting to know how you go about doing this, creating the driver and such, I assume you'll be submitting a patch of you get it working as well?
Great, thanks. That already narrows down the number of motherboards to check.
@Eden, creating and pushing the driver into the kernel is probably going to be way easier than figuring out ASUS' proprietary ACPI stuff. I'll keep you guys updated but I need more data and help first.
fyi bf77b00c5ac42829b509 did respond here under another name but its been completely removed. I forget what they said. don't expect anything to come of this topic for a while.