Skip to content

Instantly share code, notes, and snippets.

@bakman2
Last active August 6, 2025 02:41
Show Gist options
  • Save bakman2/e801f342aaa7cade62d7bd54fd3eabd8 to your computer and use it in GitHub Desktop.
Save bakman2/e801f342aaa7cade62d7bd54fd3eabd8 to your computer and use it in GitHub Desktop.

PWM fan control in Linux with a Gigabyte Aorus motherboard

  • install lm-sensors with your package manager

sensors

If it won't show any fan/speed, continue

sensor-detect

Say YES to at least "Super I/O sensors"

Expected output:

Trying family `ITE'...                                      Yes
Found unknown chip with ID 0x8688

If similar, continue

git clone https://github.com/frankcrawford/it87

cd it87
sudo make clean
sudo make install
sudo modprobe it87 ignore_resource_conflict=1 force_id=0x8622

sensors

The fans should show up now, if yes, continue to make them available at boot:

echo options it87 ignore_resource_conflict=1 force_id=0x8622 > /etc/modprobe.d/it87.conf
echo it87 >> /etc/modules
@lindonm
Copy link

lindonm commented Jun 30, 2025

Thanks for much for this! :)

Running Debian 12, Gigabyte x570 Aorus Pro Wifi

git clone https://github.com/frankcrawford/it87
cd it87
sudo make clean
sudo make
sudo make install

---- This one didn't seem to do anything
sudo modprobe it87 ignore_resource_conflict=1 force_id=0x8622

But after I rebooted, I now have all sesnsors.

it8688-isa-0a40
Adapter: ISA adapter
in0: 1.42 V (min = +0.00 V, max = +3.06 V)
in1: 2.02 V (min = +0.00 V, max = +3.06 V)
in2: 2.02 V (min = +0.00 V, max = +3.06 V)
in3: 1.99 V (min = +0.00 V, max = +3.06 V)
in4: 1.07 V (min = +0.00 V, max = +3.06 V)
in5: 900.00 mV (min = +0.00 V, max = +3.06 V)
in6: 1.36 V (min = +0.00 V, max = +3.06 V)
3VSB: 3.26 V (min = +0.00 V, max = +6.12 V)
Vbat: 3.22 V
fan1: 620 RPM (min = 0 RPM)
fan2: 427 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
fan5: 553 RPM (min = 0 RPM)
temp1: +32.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp2: -55.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp3: +55.0°C (low = +127.0°C, high = +127.0°C) sensor = AMD AMDSI
temp4: +45.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp5: +41.0°C (low = +0.0°C, high = -125.0°C) sensor = thermistor
temp6: +49.0°C (low = -16.0°C, high = +90.0°C) sensor = thermistor

@SinisterCrayon
Copy link

Can confirm this works on the Gigabyte B850M Gaming X Wifi6E motherboard like a champ.

@emilyhorsman
Copy link

Gigabyte X870E Aorus Elite Wifi7 required ignore_resource_conflict=1. force_id and force_addr were insufficient.

> sudo modprobe it87 ignore_resource_conflict=1

> lsmod | grep it87
it87                   86016  0

> sensors
it8696-isa-0a40
Adapter: ISA adapter
in0:         948.00 mV (min =  +0.00 V, max =  +3.06 V)
in1:           1.98 V  (min =  +0.00 V, max =  +3.06 V)
in2:           2.02 V  (min =  +0.00 V, max =  +3.06 V)
in3:           2.04 V  (min =  +0.00 V, max =  +3.06 V)
in4:           1.26 V  (min =  +0.00 V, max =  +3.06 V)
in5:           1.15 V  (min =  +0.00 V, max =  +3.06 V)  ALARM
in6:           1.38 V  (min =  +0.00 V, max =  +3.06 V)  ALARM
3VSB:          3.31 V  (min =  +0.00 V, max =  +6.12 V)
Vbat:          3.17 V
+3.3V:         3.07 V
fan1:        1086 RPM  (min =    0 RPM)
fan2:         872 RPM  (min =    0 RPM)
fan3:           0 RPM  (min =    0 RPM)
fan4:           0 RPM  (min =    0 RPM)
fan5:           0 RPM  (min =    0 RPM)
fan6:           0 RPM  (min =    0 RPM)
temp1:        +30.0°C  (low  = +127.0°C, high = +127.0°C)
temp2:        +49.0°C  (low  = +127.0°C, high = +127.0°C)
temp3:        +40.0°C  (low  = +127.0°C, high = +127.0°C)
temp4:        +41.0°C  (low  = +127.0°C, high = +127.0°C)
temp5:        +36.0°C  (low  =  +0.0°C, high = -125.0°C)
temp6:         +0.0°C  (low  =  +0.0°C, high = +127.0°C)
pwm1:             33%  (freq = 23437 Hz)
pwm2:             32%  (freq = 23437 Hz)
pwm3:             32%  (freq = 23437 Hz)
pwm4:             32%  (freq = 23437 Hz)
pwm5:             33%  (freq = 23437 Hz)
pwm6:             32%  (freq = 23437 Hz)
intrusion0:  ALARM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment