Jump to content

Recommended Posts

Posted (edited)

Hi,

I have installed the latest image "Minimal/IOT images with Armbian Linux v6.12" with the mainline Kernel. Many thanks
@ColorfulRhino , @amazingfate and many others for their hard  work.

 

I have a board with 32GB RAM and 4x NVMe and it is working with HDMI, USB and network. I have installed XFCE on top by my own.


Some parts currently not working (what I have seen so far):

* second HDMI

* HDMI audio

* sensor controlled fan speed

 

This seems to be on the roadmap for 2025 for the upstream Kernel.

 

For the fan control I currently use my own overlay and want to share it.

 

/dts-v1/;
/plugin/;

/ {
	/* our pwm-fan comes with 6 cooling levels (0-5) in relation to 255 <0 50 80 120 160 220> */
	/* this overlay use the sensors of big core 0 to control cooling by the fan */
	/* add new trips for active cooling */
	fragment@0 {
		target-path = "/thermal-zones/bigcore0-thermal/trips";

		__overlay__ {
			bigcore0-active1 {
				/* 55 degree with hysteresis of 5 deg */
				temperature = <55000>;
				hysteresis = <5000>;
				type = "active";
				// internal phandles use a small integer to be able to reference
				phandle = <0x00000001>;
			};
			
			bigcore0-active2 {
				/* 60 degree with hysteresis of 2 deg */
				temperature = <60000>;
				hysteresis = <2000>;
				type = "active";
				// internal phandles use a small integer to be able to reference
				phandle = <0x00000002>;
			};
		};
	};
	
	/* add cooling maps to use the new trips by the pwm-fan with level 0-5 */
	fragment@1 {
		target-path = "/thermal-zones/bigcore0-thermal/cooling-maps";

		__overlay__ {
			map1 {
				trip = <0x00000001>;
				cooling-device = <0xffffffff 0 1>;
			};

			map2 {
				trip = <0x00000002>;
				cooling-device = <0xffffffff 2 5>;
			};
		};
	};
	
	/* we need to poll, because in interrupt mode the fan will not stop */
	/* alternatively we can use type="passive", a poll interval of 250 ms is already defined for passive */
	fragment@2 {
		target-path = "/thermal-zones/bigcore0-thermal";

		__overlay__ {
			/* for active cooling, in milliseconds */
			polling-delay = <2000>;
		};
	};

	/* adjust the original fan levels <0 50 80 120 160 220> a bit */
	/* the fan starts rotating at 40-45, 45 is sufficient to keep <50°C at normal operation */
	fragment@3 {
		target = <0xffffffff>;
		__overlay__ {
			cooling-levels = <0 45 80 120 160 255>;
		};
	};

	__fixups__ {
		fan = "/fragment@1/__overlay__/map1:cooling-device:0", "/fragment@1/__overlay__/map2:cooling-device:0", "/fragment@3:target:0";
	};
	
	// to adjust finally the internal references
	__local_fixups__ {
		fragment@1 {
			__overlay__ {
				map1 {
					trip = <0x00000000>;
				};

				map2 {
					trip = <0x00000000>;
				};

			};
		};
	};
};

 

Edited by g2t
<
Posted (edited)

@g2t - thanks for sharing. Just curious what temperatures do you see with and without fan?

I have this NAS running in the metallic case they sell on aliexpress. I see 68-70 °C even when CPU is idle.

I am planning to change the heatsink but I thought of asking here first.

Edited by Vijay Gill
Posted

Hi @Vijay Gill,

at the moment I start a gentoo rfs after the boot with armbian Kernel. Also I currently use a vendor Kernel build by my own with the armbian tool chain (took < 4min on the cm3588 system without Docker).

So I can not say anything about the "idle-ness" of the mainline armbian Kernel and armbian rfs. At least for my system I think it would not go about 50-60°C when idle without the fan. This is my assumption because after the monitors (2 monitors possible with vendor Kernel) go to standby mode, the fan stops forever. But I have closed the case at the moment, so I can not simply disconnect the fan for an exact measurement.

Do you have checked your system with "top" or another tool?

Posted (edited)

Hi @g2t, thanks for your reply.

 

Stopped fan is as good as disconnected one, in my opinion. Also 0-5% CPU is idle for me. My CPU does not do much most of the time for now. (I am planning to migrate my home assistant and about 15 more docker containers from my existing raspberry pi based NAS to this one).

 

So, I take it your system is 50-60°C when idle.

 

It seems I will have to change the heatsink to a better one. I took mine off today and I suspect the blue "chewing-gum" they put in there was not good enough.

I do not have a thermal pad thick enough for replacement as the gap between the chip and heatsink seems to be be a bit larger.

I put another one I had (much smaller than the original) but better contact and I see the same temperatures. So I have a feeling that I will see better results with a larger cooler and better contact.

 

I am planning to pick up this one - https://ie.rs-online.com/web/p/heatsinks/5040772

 

 

PXL_20250107_005432032.jpg

Edited by Vijay Gill

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines