Keyitdev GitHub avatar

asus-fan-control-ec

Keyitdev

A user-space tool that directly communicates with the embedded controller to control fans on ASUS laptops (mainly AMD) where standard ACPI fan control is unavailable due to the AE_NOT_FOUND error.

Stars

5

7-day growth

No data

Forks

0

Open issues

0

License

GPL-3.0

Last updated

2026-07-28

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It solves a common problem on ASUS AMD laptops that lack ACPI-based fan control by implementing its own protocol over private I/O ports, without requiring kernel modules or firmware methods.

Who it is for

  • Owners of ASUS AMD laptops affected by the AE_NOT_FOUND ACPI error
  • Linux users who want manual fan control or custom fan curves
  • Developers or power users interested in low-level EC communication
  • System administrators managing fan control on compatible ASUS hardware

Use cases

  • Manually setting fan duty to a fixed percentage or raw value
  • Running a temperature-based fan curve defined in a config file
  • Validating compatibility on an untested device before writing fan settings
  • Deploying as a systemd service for automatic fan control

Strengths

  • No kernel module or ACPI dependency required – works purely in user space via /dev/mem and I/O ports
  • Includes a safe validation command (fan-info) that verifies communication without changing fan state
  • Supports both manual duty control and configurable automatic curves with hysteresis and panic temperature
  • Tested and explicitly confirmed on two ASUS TUF Gaming A15 models with known EC versions

Considerations

  • Only officially tested on two specific ASUS models; other devices may not work or may risk damage
  • Requires root privileges and access to /dev/mem (may need iomem=relaxed kernel parameter)
  • Writing incorrect register values can permanently damage the embedded controller or overheat the laptop

README quick start

Quick start

Description

Fan control for ASUS devices on Linux using the embedded controller directly.

Related repositories

Similar projects matched by category, topics, and programming language.

slvDev
Featured
slvDev GitHub avatar

esp32-ai

A 28.9 million parameter language model runs on an $8 ESP32-S3 microcontroller entirely on-device, generating simple stories at about 9.5 tokens per second.

AI & Machine LearningLarge Language Models
1,960
m-novotny
Featured
m-novotny GitHub avatar

memguard-rs

A Rust library that provides secure memory handling primitives including zeroization on drop, memory locking, constant-time comparison, and compile-time guarded regions, with zero dependencies and no_std support.

Embedded & IoTSecurity
131
zju3dv
Featured
zju3dv GitHub avatar

INTACT-JEPA

INTACT is an end-to-end JEPA world model that learns an isomorphic intent-to-action interface, enabling search-free direct control for goal-conditioned robot tasks with high success rates after just one epoch of training.

AI & Machine LearningEmbedded & IoT
14