shermand100 / PiNodeXMR

Monero Node for Single Board Computers with Web Interface and additional tools pre-configured. Self Installing.
GNU General Public License v3.0
213 stars 40 forks source link

*FEATURE REQUEST* - Fan Script Integration (RockPro64) #81

Closed ghost closed 1 year ago

ghost commented 2 years ago

The default 20mm Pine64 heatsink does not seem to be adequate for the initial setup, update & synchronisation process with temps registered up to 76c before I terminated my RockPro64 setup (using image).

Use of a pine64 heatsink mounted fan (40x40x10) solves this when connected to the 2 pin fan port of the RockPro64, however due to noise would be great for an optional temp/speed controlled fan script to be included in the tools section for easy install.

For example; 45c > 25% speed, 50c > 50% speed, 55c > 75% speed, 60c > 100% speed.

shermand100 commented 2 years ago

I feel the example you've quoted exactly fits:

https://github.com/tuxd3v/ats

Which can easily be added into the 'System Settings' Menu. I've installed this onto my RockPro64 this morning and can see it controls the fan as expected.

Hardware: RockPro64 Fan for Metal NAS case Metal RockPro64 NAS case

Is this what you're suggesting?

ghost commented 2 years ago

Yes this would be great. I also tried to install this same package and failed miserably.

If a one click install is not something which you would want to integrate, then perhaps instead a guide that those unable to figure it out for themselves could easily follow.

👍🏻

shermand100 commented 2 years ago

If you want to test it:

sudo apt-get install lua5.3 lua5.3-dev gcc make -y git clone https://github.com/tuxd3v/ats.git cd ats make sudo make install

It should be running from that, check with: sudo systemctl status ats

I don't mind adding it as an option as it should eb applicable to all devices that have an onboard PWM fan connector, not just RockPro64. Some of the newer NanoPi devices have this connector too.

ghost commented 2 years ago

Excellent. So I just SSH in as normal as pinodexmr@192.168.x.xx then exit back to command line and enter the commands how you typed?

I think this would be a valuable addition to the software, especially for owners using boards where a fan is essential.

Thank you

shermand100 commented 2 years ago

Yeah exactly, give it a go and see if you like the behaviour. Obviously I didn't create that but may be able to fork and tweak if needed.

Then I'd script those commands into the setup menu if it seems suitable.

ghost commented 2 years ago

Legend, I'll plug in a fan & give it a go later. Have a big box of fans.

To clarify the pwm port is the 3 pin port between the two 2 pin ports on the rp64, requiring a 3 wire fan?

shermand100 commented 2 years ago

Nope, 2 pin fan socket. Item (4) on the board layout wiki: https://wiki.pine64.org/wiki/ROCKPro64

ghost commented 2 years ago

Perfect.

Thank you

ghost commented 2 years ago

Seems to be functioning perfectly. What speed/temp ratio are the defaults set to?

Will be defaults be adequate for the RockPro64 running temps during idle & load?

During the initial block sync temps seem to be floating between 47c & 52c. The fan does spin slow enough to be silent, slightly picking up speed at approx 50c.

after sync completed, idling temp is currently at 46.5c. fan is completely off at this stage.

I may try to tune the ratios a little, do you have the command to access the config file?

shermand100 commented 2 years ago

The fan curve follows the ats default: https://github.com/tuxd3v/ats#characteristics

On my RockPro64 I have the NAS case fan attached the PWM header controlled by this. I found that with no intervention (no ATS) the fan by default spins at max 24/7 (value 255). I personally prefer not to use ATS and instead set the fan speed value to 80, which is silent and keep the CPU <55 on load.

I find this ATS doesn't run the fan most of the time and perhaps 20 seconds run time per 2 minutes it runs at 70% which I then notice. I'd prefer silent running speeds.

The issue is I can't tweak this without another user plugging a CPU fan (rather than case fan) to those pins. Their different use case will require a different fan profile.

ghost commented 2 years ago

Ah yes that chart looks right based on my experience so it must of been designed using the small 40x10 heatsink mounted fan. It functions well with temps mostly at the 45-50c range, which I believe is optimal.

I have the OEM pine64 40mm fan which screws to the top of the 20mm heatsink & plugs into the 2 pin pwm port.

shermand100 commented 2 years ago

Sure. I'm just working on improving the updater scripts so will merge this in the same update. Probably v5.22.08.

shermand100 commented 1 year ago

Feature merged.