How to determine if 13th gen motherboard knows it has a fan (Ubuntu 24.04)?

Hi,

I have a 13th gen intel motherboard in a cooler master case which is my primary desktop machine but I’ve recently had a number of issues where the fan doesn’t change speed or spin down when the computer is ‘suspended’ which caused the fan to break. I’ve put a new fan in it but it still doesn’t vary the speed and the fan keeps going when in suspend mode.

I have cleaned out the cooling system and re-thermal-pasted it as part of the overall fan replacement.

It is running Ubuntu 24.04.3 (6.8.0-62-generic kernel) with TPM/FDE and the current firmware 3.9 (all configured for standalone battery-less operation), and it has been running OK for a year or so but over the last few months it had started playing up (after some software updates) and the fan started to be problematic as described in the opening paragraph.

Most of the time, the computer runs at 60c or less and 10-20% CPU but I do development on here using docker and visual studio and postgresql so the memory can get quite busy (it has 64GB) and CPU loading can hit 50-60% briefly but most of the time the box isn’t really struggling apart from also driving 3 4k monitors through displayport.

I need to determine if either Ubuntu has removed something it shouldn’t have which stops the computer from knowing it has a fan and therefore adjusting it according to workload/CPU temperature or if the motherboard has a fault and needs replacing.

If it’s the latter I might as well just buy a proper framework desktop to replace it then sell it off for spares, but if it’s the former I might take the hit and reinstall everything from scratch.

So is there a magic command line diagnostic incantation I can type to get it to let me know if the motherboard thinks it has a fan and test if it can vary the speed of it (so it becomes a software issue), or if the motherboard has decided it doesn’t like only fans and I need to replace the device?

Any help from the community would be greatly appreciated please.

Many thanks,

Scott…

The package to install is called lm-sensors and has a tool called sensors-detect that will probe the available sensors and fan controllers on your board. I have an AMD board but the CPU fan shows up in the cros_ec-isa-… cluster so I would guess the same ChromeOS Embedded Controller code interfaces with the fan on your 13th-gen Intel setup.

Hi Kenny,

thank you for your reply. When I run sensors-detect I get the following:

# sensors-detect version 3.6.0
# System: Framework Laptop (13th Gen Intel Core) [A7] (laptop)
# Board: Framework FRANMCCP07
# Kernel: 6.8.0-62-generic x86_64
# Processor: 13th Gen Intel(R) Core(TM) i7-1370P (6/186/2)

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): y
Module cpuid loaded successfully.
Silicon Integrated Systems SIS5595...                       No
VIA VT82C686 Integrated Sensors...                          No
VIA VT8231 Integrated Sensors...                            No
AMD K8 thermal sensors...                                   No
AMD Family 10h thermal sensors...                           No
AMD Family 11h thermal sensors...                           No
AMD Family 12h and 14h thermal sensors...                   No
AMD Family 15h thermal sensors...                           No
AMD Family 16h thermal sensors...                           No
AMD Family 17h thermal sensors...                           No
AMD Family 15h power sensors...                             No
AMD Family 16h power sensors...                             No
Hygon Family 18h thermal sensors...                         No
Intel digital thermal sensor...                             Success!
    (driver `coretemp')
Intel AMB FB-DIMM thermal sensor...                         No
Intel 5500/5520/X58 thermal sensor...                       No
VIA C7 thermal sensor...                                    No
VIA Nano thermal sensor...                                  No

Some Super I/O chips contain embedded sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no): yes
/dev/port: Operation not permitted

Some hardware monitoring chips are accessible through the ISA I/O ports.
We have to write to arbitrary I/O ports to probe them. This is usually
safe though. Yes, you do have ISA I/O ports even if you do not have any
ISA slots! Do you want to scan the ISA I/O ports? (YES/no): yes
/dev/port: Operation not permitted

Lastly, we can probe the I2C/SMBus adapters for connected hardware
monitoring devices. This is the most risky part, and while it works
reasonably well on most systems, it has been reported to cause trouble
on some systems.
Do you want to probe the I2C/SMBus adapters now? (YES/no): yes
Found unknown SMBus adapter 8086:51a3 at 0000:00:1f.4.
Sorry, no supported PCI bus adapters found.

Next adapter: i915 gmbus dpa (i2c-0)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: i915 gmbus dpb (i2c-1)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: i915 gmbus dpc (i2c-2)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: i915 gmbus tc1 (i2c-3)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: i915 gmbus tc2 (i2c-4)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: i915 gmbus tc3 (i2c-5)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: i915 gmbus tc4 (i2c-6)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: i915 gmbus tc5 (i2c-7)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: i915 gmbus tc6 (i2c-8)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: AUX USBC1/DDI TC1/PHY TC1 (i2c-9)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: AUX USBC2/DDI TC2/PHY TC2 (i2c-10)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: AUX USBC3/DDI TC3/PHY TC3 (i2c-11)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: AUX USBC4/DDI TC4/PHY TC4 (i2c-12)
Do you want to scan it? (yes/NO/selectively): yes

Next adapter: SMBus I801 adapter at efa0 (i2c-13)
Do you want to scan it? (YES/no/selectively): yes
Client found at address 0x50
Handled by driver `ee1004' (already loaded), chip type `ee1004'
    (note: this is probably NOT a sensor chip!)
Client found at address 0x52
Probing for `Analog Devices ADM1033'...                     No
Probing for `Analog Devices ADM1034'...                     No
Probing for `SPD EEPROM'...                                 Yes
    (confidence 8, not a hardware monitoring chip)

Next adapter: Synopsys DesignWare I2C adapter (i2c-14)
Do you want to scan it? (YES/no/selectively): yes
Adapter doesn't support all probing functions.
Some addresses won't be probed.

Next adapter: Synopsys DesignWare I2C adapter (i2c-15)
Do you want to scan it? (YES/no/selectively): yes
Adapter doesn't support all probing functions.
Some addresses won't be probed.
Client at address 0x50 can not be probed - unload all client drivers first!

Next adapter: Synopsys DesignWare I2C adapter (i2c-16)
Do you want to scan it? (YES/no/selectively): yes
Adapter doesn't support all probing functions.
Some addresses won't be probed.


Now follows a summary of the probes I have just done.
Just press ENTER to continue: 

Driver `coretemp':
  * Chip `Intel digital thermal sensor' (confidence: 9)

To load everything that is needed, add this to /etc/modules:
#----cut here----
# Chip drivers
coretemp
#----cut here----
If you have some drivers built into your kernel, the list above will
contain too many modules. Skip the appropriate ones!

Do you want to add these lines automatically to /etc/modules? (yes/NO)yes
Successful!

Monitoring programs won't work until the needed modules are
loaded. You may want to run '/etc/init.d/kmod start'
to load them.

Unloading cpuid... OK

and subsequently running sensors I then get

iwlwifi_1-virtual-0
Adapter: Virtual device
temp1:            N/A  

nvme-pci-0100
Adapter: PCI adapter
Composite:    +36.9°C  (low  =  -5.2°C, high = +89.8°C)
                       (crit = +93.8°C)

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +49.0°C  (high = +100.0°C, crit = +100.0°C)
Core 0:        +42.0°C  (high = +100.0°C, crit = +100.0°C)
Core 4:        +41.0°C  (high = +100.0°C, crit = +100.0°C)
Core 8:        +44.0°C  (high = +100.0°C, crit = +100.0°C)
Core 12:       +41.0°C  (high = +100.0°C, crit = +100.0°C)
Core 16:       +44.0°C  (high = +100.0°C, crit = +100.0°C)
Core 20:       +39.0°C  (high = +100.0°C, crit = +100.0°C)
Core 24:       +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 25:       +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 26:       +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 27:       +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 28:       +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 29:       +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 30:       +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 31:       +48.0°C  (high = +100.0°C, crit = +100.0°C)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +49.8°C  
temp2:        +45.8°C  
temp3:        +48.8°C  
temp4:        +41.8°C  
temp5:         +0.0°C  

so I can see the board has picked up various thermal sensors on and around the CPU but I haven’t seen anything indicating a fan so based on that, I wonder if the part of the motherboard which controls the fan is no longer working.

When the computer is off, so is the fan, but when it is on whether it is suspended or not, the fan runs at a single speed.

OK, by way of an update, I booted this up from an Ubuntu live USB to test it out and the fan just kept on going even in ‘suspend’ mode. No speed change. No stopping. So I guess the motherboard has expired and that’ll be a new one of those on the way then.