Temp sensors on Framework 13 7040 series report negative temps

System details

Which Linux distro are you using?
Arch Linux

Which release version?
Rolling release, last updated on 2025-03-27T17:47:44-0000

Which kernel are you using?
6.13.3-arch1-1

Which BIOS version are you using?
3.08 (updated today, 2025-04-10 via lvfs to see if it would help)

Which Framework Laptop 13 model are you using? (AMD Ryzen™ 7040 Series, Intel® Core™ Ultra Series 1, 13th Gen Intel® Core™ , 12th Gen Intel® Core™, 11th Gen Intel® Core™)
AMD Ryzen™ 7040 Series (Ordered Dec 2023)

EC Tool version:
fw-ectool-git r2763.0ac6155-1

Summary

It seems that some of the sensors on my 7040 series always report negative temps. Note that edge temps report properly, but the values for local_f75303@4d, cpu_f75303@4d, ddr_f75303@4d and cpu@4c are invalid. This also seems to affect the autofanctrl feature as Fan speed stays at 0 unless I set it manually via ectool or use something like the fw-fanctrl daemon with a custom profile that sets the fan speed high regardless of recorded temps. Unless I use manual methods, my fans NEVER turn on. This has persisted since I upgraded to this mainboard from my old 11th gen Intel board, and it’s persisted through BIOS upgrades all the way through to the current 3.08 beta.

Output from lm-sensors:

$ sensors
cros_ec-isa-0000
Adapter: ISA adapter
fan1:               0 RPM
local_f75303@4d:  -17.1°C  
cpu_f75303@4d:    -17.1°C  
ddr_f75303@4d:    -17.1°C  
cpu@4c:             FAULT  

ucsi_source_psy_USBC000:004-isa-0000
Adapter: ISA adapter
in0:          20.00 V  (min =  +5.00 V, max = +38.80 V)
curr1:         3.25 A  (max =  +3.56 A)

spd5118-i2c-20-50
Adapter: SMBus PIIX4 adapter port 0 at 0b00
temp1:        +59.5°C  (low  =  +0.0°C, high = +55.0°C)  ALARM (HIGH)
                       (crit low =  +0.0°C, crit = +85.0°C)

ucsi_source_psy_USBC000:002-isa-0000
Adapter: ISA adapter
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

amdgpu-pci-c100
Adapter: PCI adapter
vddgfx:        1.07 V  
vddnb:       859.00 mV 
edge:         +66.0°C  
PPT:          10.17 W  (avg =   8.09 W)

BAT1-acpi-0
Adapter: ACPI interface
in0:          16.48 V  
curr1:         0.00 A  

ucsi_source_psy_USBC000:001-isa-0000
Adapter: ISA adapter
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:       680.00 mA (max =  +0.00 A)

mt7921_phy0-pci-0100
Adapter: PCI adapter
temp1:        +44.0°C  

spd5118-i2c-20-51
Adapter: SMBus PIIX4 adapter port 0 at 0b00
temp1:        +55.5°C  (low  =  +0.0°C, high = +55.0°C)  ALARM (HIGH)
                       (crit low =  +0.0°C, crit = +85.0°C)

ucsi_source_psy_USBC000:003-isa-0000
Adapter: ISA adapter
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +69.2°C  

nvme-pci-0200
Adapter: PCI adapter
Composite:    +52.9°C  (low  = -273.1°C, high = +81.8°C)
                       (crit = +84.8°C)
Sensor 1:     +52.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +56.9°C  (low  = -273.1°C, high = +65261.8°C)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        -17.2°C  
temp2:        -17.2°C  
temp3:        -17.2°C  
temp4:         +0.0°C  

Output of acpi -t:

$ acpi -t
Thermal 0: ok, -17.2 degrees C
Thermal 1: ok, 0.0 degrees C
Thermal 2: ok, -17.2 degrees C
Thermal 3: ok, -17.2 degrees C

ectool output:

# ectool autofanctrl
Automatic fan control is now on for all fans.

# ectool pwmgetfanrpm
Fan 0 RPM: 0

Maybe I should have gotten the board replaced but at the time I got it I honestly thought it was a software support issue but it’s been more than a minute and I’m not so sure anymore. Wondering if there’s anything else I’m missing or if I should just go open a support ticket and hope for the best.

I have the same mainboard and the same issue: the fans stubbornly refuse to turn on automatically. This machine dual-boots Debian 12 and Gentoo (rolling-release), and the issue appears in both operating systems.

On Debian, I’m running Linux 6.12.12 (via bookworm-backports). sensors reports

cros_ec-isa-0000
Adapter: ISA adapter
fan1:               0 RPM
local_f75303@4d:  -17.1°C  
cpu_f75303@4d:    -17.1°C  
ddr_f75303@4d:    -17.1°C  
cpu@4c:             FAULT  

acpi -t reports

Thermal 0: ok, -17.2 degrees C
Thermal 1: ok, 0.0 degrees C
Thermal 2: ok, -17.2 degrees C
Thermal 3: ok, -17.2 degrees C

On Gentoo, I’m running Linux 6.12.21 (gentoo-sources), but I observe the same behavior. I installed framework_tool v0.3.0; framework_tool --versions reports

UEFI BIOS
  Version:        03.07
  Release Date:   02/19/2025
EC Firmware
  Build version:  "azalea_v3.4.113376-ec:55046b,os:7b88e1,cmsis:4aa3ff 2025-02-18 03:37:44 lotus@ip-172-26-3-226"
  RO Version:     "azalea_v3.4.113376-ec:55046b,os"
  RW Version:     "azalea_v3.4.113376-ec:55046b,os"
  Current image:  RO
PD Controllers
  Right (01)
    Main:       0.0.1C (Active)
    Backup:     0.0.1C
  Left  (23)
    Main:       0.0.1C (Active)
    Backup:     0.0.1C
Retimers
  Unknown
CSME
  Unknown
Touchpad
  IC Type:           0274
  Firmware Version: v0704

framework_tool --thermal reports

  F75303_Local: 239 C
  F75303_CPU:   239 C
  F75303_DDR:   239 C
  APU:          Error
  Fan Speed:       0 RPM

If I load framework_laptop.ko into the Gentoo kernel, I can set the fan speed manually, so the fan itself is not broken.

Do @Sebastien_Dejean and I have broken F75303s?

1 Like

I also do get those negative, zero, high value temperatures reported by the EC. More of less random after boot or suspend/wake cycles. Mostly, if temperatures are reported, they are stuck until another suspend/wake cycle or reboot happens.
Consistently, APU reports error.

There’s also this thread.

@Matt_Hartley, I’ve opened up a service ticket and issues in SoftwareFirmwareIssues and EmbeddedController.

I’ve also checked with my work colleagues, which have either another Framework 13 AMD or two Framework 16. Although, my laptop is the oldest one with 1 1/2 year old. Last pre-order batch.

With the same EC versions, they do not have this issue. So, I’m kind of concerned that this might be a hardware issue.

The solution is to manually set fan speeds according to load, which is quite cumbersome.

I think this is probably an EC bug.
If it is having problems correctly reading the temps, it should report that.
I would say the safest thing to do, if it cannot read the temps correctly, is to set fans to max. At least that is the safest approach.

In any case, raise a support ticket with FW. Its probably a hardware fault causing this.

Hi Sebastien,

Have the same issues with temperature sensors and fan. Did you managed to find a solutuon?

Kinda workaround founded.

I’ve not experienced this at all with my 7640u. Could be a BOM difference or revision of some sort of IC difference. If it’s persistently an issue and others with the same mainboard are not having the issue I would be looking to get a new mainboard. This is kind of basic functionality. I wouldn’t be waiting for warranty to lapse.

Never found a solution for bad sensors, I did implement the fw-fanctrl workaround and it worked pretty well to effectively make sure my system never overheated.

I’ve recently also updated to the AI 9 HX 370 board in my primary laptop. I’m going to convert the older board for use in a different project. If I do get it working in that project I’ll update this thread.

This kinda sounds weird, but I found a solution for my negative temp sensors in not a so obvious way. Long story short – I tried to replace EVERYTHYNG screw-by screw, and sensors fixed after replacement of … O_o … web-camera cable.
Cable produced by DX (from the new cnc cover) - negative temp sensors.
Cable produced by EST (from the original cover) - good state sensors.

While this might be a hardware issue, the fact that it doesn’t error also seems like a software bug to me. -17.1°C is also 256 Kelvin which is 1 too big for an unsigned 8 bit int, so I’m not sure what’s going on there.

Edit: Not sure if this is helpful, but you can read the raw values from the EC memmap with sudo xxd -seek 0xE00 -l 4 /dev/port, then add 200 for the offset, and subtract 273.15 for Kelvin to Celsius (e.g. 0x38 + 200 - 273.15 = -17.15).

Edit 2: f75303 and sb-tsi (cpu) are on the same i2c bus, so I’d say the whole bus is down, rather than a broken sensor. The ambient light sensor also happens to be on the same bus (which explains the webcam cable), so cat /sys/bus/iio/devices/iio\:device0/in_illuminance_raw probably won’t work either.

1 Like