CPU temperature

Hello. Just received my Ten64 yesterday. Definitely very excited. I plan to run muvirt on the system and operate a Rockstor NAS and tinker with k3s. I’d like to know if there is a way to monitor the CPU temperature of the system.

There is a package hwmon-traverse-sensors package installed:

root@muvirt:/proc# uname -a                                                                                
Linux muvirt 5.10.46 #0 SMP Mon Jul 19 04:23:28 2021 aarch64 GNU/Linux                                     
root@muvirt:/proc# opkg list |grep -i sensor                                                               
kmod-hwmon-traverse-sensors - 5.10.46+2021-04-19-1cdec491-1                  

But not clear on the user space package to query the sensor information (lm_sensors?). Any suggestions would be greatly appreciated.

The easiest way to read out temperatures is from /sys/class/hwmon:

$  cat /sys/class/hwmon/hwmon0/external1_temp
49375

The hwmon IDs may vary based on what other devices have sensors in your system (e.g some WiFi cards have their own temp sensors), you can see “Sensors” in the manual for the full list.

Some of the sensor drivers aren’t using the newer hwmon API yet so lm_sensors may not pick them up. These will be fixed as the drivers get upstreamed to the kernel.

Much appreciated. Bit of an RTFM moment there!

@mcbridematt would it still possible to get the lm-sensors package into uVirt / OpenWRT? I was searching for lm-sensors as well in the first moment, as I just took the board offering. As the little fan is too loud, I needed to assemble my own for the board and hence I was quite curious if my new fan is cooling the board sufficiently. lm-sensors would be of great help here.

1 Like

I’ve just added lm-sensors to muvirt in this build along with other recently requested packages (qrencode, Mediatek 802.11ac)

Unfortunately you won’t see much as some sensors (most notably the EMC1704 with CPU temp) aren’t [yet] using the new API as mentioned above:

emc2301-i2c-0-2f
Adapter: 2000000.i2c
fan1:           FAULT

ath10k_hwmon-pci-10300
Adapter: PCI adapter
temp1:            N/A

emc1813-i2c-0-4c
Adapter: 2000000.i2c
temp1:        +44.4°C
temp2:        +59.1°C
temp3:        +63.4°C

The ‘fault’ status for fan1 is a driver bug, you can still read out the RPM from sysfs:

$ cat /sys/class/hwmon/hwmon2/fan1_input
3951
2 Likes

How do you envision the upgrade from one muvirt version to another? I went again into the recovery mode and modified the /tmp/appstorecache/traverse plus `baremetal-deploy itself to skip the sha256 checksum. That is not really ideal, as I had to format my storage device again. Any ideas on that?

Another point I would be interested in: could we make muvirt the default on the NAND? From my perspective that would be the “little hypervisor” / the firmware available on NAND, while the guest OSses could be located on other devices.

If you have an existing install, you should use the “.img.gz” file with the built-in firmware update, either via CLI:

sysupgrade muvirt-21.02-snapshot-r0-16209-104234e569-arm64-efi-generic-ext4-combined.img.gz

or the “Backup / Flash Firmware” screen in LuCI:

We could. At the moment there isn’t a OpenWrt or muvirt with the 5.10 kernel packaged for NAND use. This will be fixed sometime soon.
The OpenWrt on the NAND is on the older 5.4 codebase with the “layerscape” target while these 5.10’s are on a more generic “arm64”.

1 Like