You are not logged in.

#1 2019-06-24 12:30:46

ao333333
Member
Registered: 2019-06-24
Posts: 1

Linux 5.1.8 (and newer) causes max fan speed after suspend

Hello.

The 5.1.8 version of the Kernel seems to cause a regression to automatic control of a fan.
After a reboot, everything works normally, but after waking up from suspend, it spins at full speed.

Here's the output of "sensors" after suspend:

jc42-i2c-0-1c
Adapter: SMBus I801 adapter at 1c00
temp1:        +33.2°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)

jc42-i2c-0-1a
Adapter: SMBus I801 adapter at 1c00
temp1:        +32.0°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)

jc42-i2c-0-18
Adapter: SMBus I801 adapter at 1c00
temp1:        +31.5°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)

adt7473-i2c-4-2e
Adapter: nvkm-0000:02:00.0-bus-0003
in1:          +3.00 V  (min =  +0.00 V, max =  +2.99 V)
+3.3V:        +3.33 V  (min =  +2.96 V, max =  +3.61 V)
fan1:        4393 RPM  (min =    0 RPM)
fan2:           0 RPM  (min =    0 RPM)
fan3:           0 RPM  (min =  164 RPM)
temp1:        +57.5°C  (low  = +70.0°C, high = +85.0°C)
                       (crit = +88.0°C, hyst = +88.0°C)
Board Temp:   +50.2°C  (low  = +20.0°C, high = +60.0°C)
                       (crit = +100.0°C, hyst = +100.0°C)
temp3:        +57.2°C  (low  = +80.0°C, high = +105.0°C)
                       (crit = +107.0°C, hyst = +103.0°C)

fscsyl-i2c-0-73
Adapter: SMBus I801 adapter at 1c00
+12V:             +11.87 V  
+5V:               +5.07 V  
Vbat:              +3.17 V  
+3.3V:             +3.36 V  
in4:               +5.73 V  
+3.3V-Aux:         +3.35 V  
CPU Fan:           720 RPM  (div = 4)
System FAN2:       840 RPM  (div = 4)
System FAN3:       720 RPM  (div = 4)
System FAN4:      1680 RPM  (div = 4)
PSU Fan:          1380 RPM  (div = 4)
CPU Temp:          +32.0°C  (high = +127.0°C)
temp2:             +32.0°C  (high = +127.0°C)
Super I/O Temp:    +39.0°C  (high = +70.0°C)
Northbridge Temp:  +41.0°C  (high = +70.0°C)
temp6:             +73.0°C  (high = +110.0°C)
temp7:             +31.0°C  (high = +65.0°C)

jc42-i2c-0-1d
Adapter: SMBus I801 adapter at 1c00
temp1:        +32.5°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)

jc42-i2c-0-1b
Adapter: SMBus I801 adapter at 1c00
temp1:        +32.2°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)

jc42-i2c-0-19
Adapter: SMBus I801 adapter at 1c00
temp1:        +32.8°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)

nouveau-pci-0200
Adapter: PCI adapter
GPU core:     +1.05 V  (min =  +1.05 V, max =  +1.18 V)

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +51.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:       +50.0°C  (high = +80.0°C, crit = +100.0°C)
Core 2:       +51.0°C  (high = +80.0°C, crit = +100.0°C)
Core 3:       +50.0°C  (high = +80.0°C, crit = +100.0°C)

The fan in question is "fan1" under the "adt7473-i2c-4-2e" category, showing 4400 RPM. After a reboot it shows 760 RPM. Judging from the other values in its category, I'm guessing its a motherboard fan.

I can temporarily fix the problem by writing to "/sys/devices/pci0000:00/0000:00:03.0/0000:02:00.0/i2c-4/4-002e/pwm1", bit if I reset pwm1_enable to "2" (automatic mode), the fan speed goes to 0 and the temperatures under its category start rising. I guess I could set up Fancontrol, but I consider that a pointless workaround of a problem, that wasn't there in Kernel 5.1.7 or earlier.

Excerpt from "dmidecode", if it helps:

# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.5 present.

System Information
	Manufacturer: FUJITSU                         
	Product Name: CELSIUS M470-2                
	Version:         
	Wake-up Type: Power Switch
	Family: Not Specified

Base Board Information
	Manufacturer: FUJITSU                         
	Product Name: D2778-C1
	Version: S26361-D2778-C1
	Asset Tag: Not Specified
	Features:
		Board is a hosting board
		Board is replaceable
	Location In Chassis: Not Specified
	Chassis Handle: 0x0003
	Type: Motherboard
	Contained Object Handles: 0

Last edited by ao333333 (2019-06-24 20:09:00)

Offline

#2 2019-06-25 10:13:56

Ropid
Member
Registered: 2015-03-09
Posts: 1,069

Re: Linux 5.1.8 (and newer) causes max fan speed after suspend

On my motherboard here, the value of pwm1 is used as some sort of multiplier when pwm1_enable is set to the auto value. To restore the original auto behavior after manual experiments, I also need to save and restore the original value of pwm1, not just set pwm1_enable to 2.

I wonder if you could just blacklist the kernel module that provides that "adt7473-i2c-4-2e" device. But then you couldn't check on that fan speed anymore so you wouldn't know what happens to it after a suspend.

Last edited by Ropid (2019-06-25 10:17:37)

Offline

#3 2019-12-21 13:37:20

heavyjoe
Member
Registered: 2019-06-19
Posts: 8

Re: Linux 5.1.8 (and newer) causes max fan speed after suspend

I see this post is quite old but i got the same problem.

I have an GTX 1080 and use wayland, swaywm and the nouveau driver. Kernel is 5.4.2-arch1-1

Anyone found a solution?

Edit: not my cpu fan is at max speed but my graphic card fan.

Last edited by heavyjoe (2019-12-21 21:16:18)

Offline

Board footer

Powered by FluxBB