Support for Intel Atom 525

Hi everyone,

i know it’s old but i found a ITX Mini-PC and installed x64 Image. It is equiped with 4 NICs, 4 GB RAM and CF and SATA Port with Intel Atom 525 1,8 GHz.
It has more RAM and hopefully more performance for Pihole, Open/PiVPN and Nextcloud then my RPI3.
I also want to use 2 NICs for routing between my internal and my guest-wifi net for managing house-automation.

After installing the (very old 6.x IMG, please refresh that), the first thing I saw is, that the temperature is not read correctly so i think powermanagement features won’t work too.

Here are the CPU-Specs:
https://ark.intel.com/content/www/de/de/ark/products/49490/intel-atom-processor-d525-1m-cache-1-80-ghz.html

processor       : 0-3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 28
model name      : Intel(R) Atom(TM) CPU D525   @ 1.80GHz
stepping        : 10
microcode       : 0x107
cpu MHz         : 1795.564
cache size      : 512 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm movbe lahf_lm dtherm
bugs            :
bogomips        : 3591.02
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

https://ark.intel.com/content/www/us/en/ark/products/49490/intel-atom-processor-d525-1m-cache-1-80-ghz.html

Thermal Monitoring Technologies: No

Did some googling…this might help or point you in the right direction (if maybe you want to respin the latest .iso to run more cleanly on ATOM processors)

https://linuxiumcomau.blogspot.com/2017/06/customizing-ubuntu-isos-documentation.html
https://github.com/kenorb-contrib/isorespin

Is lm-sensors installed?

Nope it wont work with the defautl DietPi~.iso
darnit!

If you mean the temperature shown in the DietPi-Banner, this has no influence on power management or anything like that, it just read the temperature from a known list of sysfs files, and since every board has the CPU temperature on a different file, there are some cases where the wrong is picket.

To check the usually available sysfs temperature files and their content, please run:

for i in /sys/class/thermal/thermal_zone[0-9]/temp /sys/class/hwmon/hwmon[0-9]/temp[0-9]_input /sys/devices/platform/coretemp.[0-9]/hwmon/hwmon[0-9]/temp[0-9]_input
do
[[ -e $i ]] && echo "$i : $(<$i)"
done

Thanks to @all

If powermanagement is not affected, everything is fine. I will ignore the “freezer” warnings :wink:
I have to find out a temp offset for myself and it will be fine.
Don’t want a melting fanless case in my basement.

btw:
/sys/class/thermal/thermal_zone0/temp : 24000
/sys/class/hwmon/hwmon0/temp1_input : 24000
/sys/class/hwmon/hwmon1/temp2_input : 15000
/sys/class/hwmon/hwmon1/temp3_input : 16000
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_input : 15000
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input : 16000

Okay those temperatures all do not seem to be the real CPU temperature. Not sure what those 2/3 temps refer to, as I guess ambient temperature is way above 15/16 degree Celsius? :slight_smile:
It more looks like static values that never change, like there was no sensor.

Can you also check:

ls -l /sys/devices/virtual/thermal
ls -l /sys/class/thermal
ls -l /sys/class/hwmon

WarHawk
Why would lm-sensors not work?

apt install lm-sensors
sensors

The CPU temperature should usually be available without any additional tool, but worth to give it a shot when we cannot find any functional sysfs file for that.

EDIT: Ah, a way to possibly check which sysfs temperature means what:

for i in /sys/class/thermal/thermal_zone[0-9]/type /sys/class/hwmon/hwmon[0-9]/name /sys/devices/platform/coretemp.[0-9]/hwmon/hwmon[0-9]/name
do
[[ -e $i ]] && echo "$i : $(<$i)"
done

Sorry for the late reply.
Those temperatures aren’t static values.
The values rise from 0 and that is even to low for the basement. :wink:
In fact there are about 20°C

dietpi@DietPi:~$ ls -l /sys/devices/virtual/thermal
total 0
drwxr-xr-x 4 root root 0 Jun 20 14:54 cooling_device0
drwxr-xr-x 4 root root 0 Jun 20 14:54 cooling_device1
drwxr-xr-x 4 root root 0 Jun 20 14:54 cooling_device2
drwxr-xr-x 4 root root 0 Jun 20 14:54 cooling_device3
drwxr-xr-x 4 root root 0 Jun 20 14:54 cooling_device4
drwxr-xr-x 4 root root 0 Jun 20 14:54 thermal_zone0
dietpi@DietPi:~$ ls -l /sys/class/thermal
total 0
lrwxrwxrwx 1 root root 0 Jun 20 14:54 cooling_device0 -> ../../devices/virtual/thermal/cooling_device0
lrwxrwxrwx 1 root root 0 Jun 20 14:54 cooling_device1 -> ../../devices/virtual/thermal/cooling_device1
lrwxrwxrwx 1 root root 0 Jun 20 14:54 cooling_device2 -> ../../devices/virtual/thermal/cooling_device2
lrwxrwxrwx 1 root root 0 Jun 20 14:54 cooling_device3 -> ../../devices/virtual/thermal/cooling_device3
lrwxrwxrwx 1 root root 0 Jun 19 23:03 cooling_device4 -> ../../devices/virtual/thermal/cooling_device4
lrwxrwxrwx 1 root root 0 Jun 19 23:03 thermal_zone0 -> ../../devices/virtual/thermal/thermal_zone0
dietpi@DietPi:~$ ls -l /sys/class/hwmon
total 0
lrwxrwxrwx 1 root root 0 Jun 19 23:03 hwmon0 -> ../../devices/virtual/thermal/thermal_zone0/hwmon0
lrwxrwxrwx 1 root root 0 Jun 25 21:49 hwmon1 -> ../../devices/platform/coretemp.0/hwmon/hwmon1

root@DietPi:~# sensors
acpitz-acpi-0
Adapter: ACPI interface
temp1: +25.0°C (crit = +100.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Core 0: +17.0°C (crit = +100.0°C)
Core 1: +18.0°C (crit = +100.0°C)

root@DietPi:~# for i in /sys/class/thermal/thermal_zone[0-9]/type /sys/class/hwmon/hwmon[0-9]/name /sys/devices/platform/coretemp.[0-9]/hwmon/hwmon[0-9]/name
> do
> [[ -e $i ]] && echo "$i : $(<$i)"
> done
/sys/class/thermal/thermal_zone0/type : acpitz
/sys/class/hwmon/hwmon0/name : acpitz
/sys/class/hwmon/hwmon1/name : coretemp
/sys/devices/platform/coretemp.0/hwmon/hwmon1/name : coretemp

─────────────────────────────────────────────────────
DietPi v7.3.2 : 21:01 - Tue 06/29/21
─────────────────────────────────────────────────────

  • Device model : Native PC (x86_64)
  • CPU temp : 17’C : 62’F (Who put me in the freezer!)

Okay, there are three different temperatures:

/sys/devices/virtual/thermal/thermal_zone0/temp
/devices/platform/coretemp.0/hwmon/hwmon1/temp2_input
/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input

and everything else is only symlinks to those, which is pretty normal.

Also lm-sensors detects these three, matching the device names as well. The first is a generic ACPI thermal zone sensor, which is usually interpreted as CPU or nearby CPU temperature. The other two are identified and named as individual CPU core temperatures. But all of them do not show values anywhere expected. I’m afraid then there is nothing we can do about it, script-wise.

What you can try is:

  • Upgrade the systems BIOS/firmware, if updates are available.
  • Upgrade the kernel to buster-backports Linux 5.10:
echo -e 'Package: linux-image-*\nPin: release a=buster-backports\nPin-Priority: 500' > /etc/apt/preferences.d/buster-backports
apt install -t buster-backports linux-image-amd64