ASUS-ZenBook-Duo-14-UX481-Hackintosh icon indicating copy to clipboard operation
ASUS-ZenBook-Duo-14-UX481-Hackintosh copied to clipboard

Add fan control w/ native fan impl on macOS

Open Qonfused opened this issue 1 year ago • 7 comments

This is mainly relevant for the UX481FA/FL since the UX581/UX582 models have a media key + native ACPI implementation for toggling thermal policy. For all models, both (2) fans are controlled by the BIOS + embedded controller, though cooling policy is still configurable via ACPI methods as hinted by the system control driver used by MyASUS.

RW-Everything on Windows should show what EC registers are actually being used for fan control, however there should be more standard ACPI methods called by the system control driver (which you should always use rather than writing to EC registers directly).

Below are some observations that may clue into the native ACPI implementation of this:

  • An ACPI method \_TZ_.RTMP reads and stores the current CPU temperature.
    • The ECPU EC method reads the current CPU temperature.
    • This method is used under the _TMP method of the THRM thermalzone, which should shed some light on how cooling policy is configured.
  • The \_TZ_.RFAN method (in the same scope) is responsible for reading the fan speed.
    • The ECAV EC method checks if the embedded controller is available/ready, otherwise the method aborts with value zero.
    • The ST83 EC method outputs byte values for a given fan idx (range appears to be between 0x00 and 0xFF)
    • The TACH EC method outputs the RPM from a tachometer for a given fan idx (appears to max at 6000 RPM).
  • Potentially relevant, under WMND (IIA0=0x00110019) there are several blocks checking a FANF variable.
    • This is likely referenced in the MyASUS driver for fan diagnostics; it potentially refers to fan PWM frequency.

Qonfused avatar Feb 13 '23 23:02 Qonfused