Argon One Fan Control

  • Hi all,

    Recently purchased a Raspberry Pi 4 and the Argon40 Argon ONE case for it.

    Followed the instructions here:

    Argon40 Argon ONE Installation Guide for LibreElec Raspberry Pi Portal in Asia

    ...and I am guessing it all installed fine, as the power button works and I can manually turn the fan on and off by connecting over SSH and using ./argonone-config

    However, I cannot figure out how to change the auto fan control temperature and fan speed steps. Default values are apparently:

    55 C = 10%

    60 C = 55%

    65 C = 100%

    Problem is, when playing 4K files I could not get it to go over 50, so I can't tell if the auto-fan control is working.

    I would like to change it so it comes on at 10% speed at 40 C, at least so I can test that the auto fan speed is doing it's thing.

    Can anyone advise how I do this? I realise this is not an LE issue but hoping someone in the community also loves LE and this case and has gotten it working :)

    Cheers!

  • Go to Best Answer
  • If the script dumped things in the configured locations /storage/.config/argononed.conf will contain something like:

    55=10

    60=55

    65=100

    Left value is temp in ºC and right value is percentage of fan speed. So change values as you like and then reboot or restart the argononed systemd service, e.g. "systemctl restart argononed.service" to effect the change.

    Then rejoice that fans in cases are totally unnecessary (and suck for HTPC devices) and put it back to normal so you can't hear it.

  • Thanks, more than happy to put the values back to what they were, just want to be sure if it does start to overheat for some reason the fan will do it's thing.

    I tried to edit that file using nano and it was empty (or didn't exist...never use nano so not sure, but the screen was empty), I put values in it following this template:

    argonone/argononed.conf at master · kounch/argonone · GitHub

    ...and when I tried to write it to file, it said the file system was read only. Any idea how I get around that?

    Cheers :)

    Edited once, last by symean (February 3, 2020 at 1:31 AM).

  • ...and when I tried to write it to file, it said the file system was read only. Any idea how I get around that?

    1. login by SSH
    2. open the config file by nano /storage/.config/argononed.conf
    3. copy and paste the file content
    4. write the file by key combo "Strg + O" and confirm writing by pressing "Enter"
    5. leave the editor by key combo "Strg + X"

    Which of those steps doesn't work?

  • Thanks Flex :) not sure what I was doing wrong before. It let me write the file. The file contains:

    40=20

    50=50

    60=100

    Start temp is 40 just so I can confirm the fan comes on, as the idle temp seems to hover around 42-43.

    However I've restarted the pi, and the fan is not spinning at all (I can see it so I'm sure). I'm also monitoring temps with bcmstat.sh and it's been over 40 degrees for 5 minutes with no fan movement.

    Must be something else I'm missing...

  • Thanks it is now triggering the fan based on temperature.

    Now I just need to figure out why it's not changing the speed...it hits 40 degrees and it turns on, under and it turns off. Have tried different percentage values and they are all the same.

    I know that's a question for Argon40 or someone else who is using one of these...thanks again for the help :)

  • Hi,

    I just installed the argone control script using the following command.

    curl https://download.argon40.com/argonone-setup-libreelec.sh | bash


    The argononed.conf file was correctly placed inside the storage directory and the power buttons work nicely. My problem, however, is that the argononed.service fails to start. The services tries to exeute /usr/bin/python /storage/.config/argononed.py, which fails with ImportError: No module named smbus. Since the service doesn't start properly, the fan isn't running. How can I install a python package under LibreElec (pip install doesn't work)?

    Best regards

  • Hi,

    I just installed the argone control script using the following command.

    curl https://download.argon40.com/argonone-setup-libreelec.sh | bash


    The argononed.conf file was correctly placed inside the storage directory and the power buttons work nicely. My problem, however, is that the argononed.service fails to start. The services tries to exeute /usr/bin/python /storage/.config/argononed.py, which fails with ImportError: No module named smbus. Since the service doesn't start properly, the fan isn't running. How can I install a python package under LibreElec (pip install doesn't work)?

    Best regards

    Try this in Kodi and reboot:

    Install Raspberry Pi Tools and System Tools

    -these can be installed by going to

    Addons>Install from Repository>LibreElec Addons>Program Addons

  • Hey guys,


    so I recently installed the rpi4 in the ArgonOne case, got a clean install of LibreElec 9.2.1 and wanted to install the ArgonOne scripts.


    I followed the instructions by Argon40 (ArgonOne LibreElec install).


    So far so good. I type:
    ./argonone-config


    It starts the

    “Argon OneFan Speed Configuration Tool”


    After confirming the warning (this will remove existing configuration) with a “Y”, it asks just wether I want the fan always on or not (here again I have to confirm with a “Y” for always on , otherwise the fan is set to off. So this means I can just turn it on (with about 6000rpm) or off.


    There is no possibility to select another fan mode like the default setting option (

    55=10

    60=55

    65=100)

    How can I make this possible? Has anybody a more detailed instruction guide?

    Regards :)

    Edited once, last by Doodlenoodle (May 14, 2020 at 10:56 AM).

    • Official Post

    ...it asks just wether I want the fan always on or not (here again I have to confirm with a “Y” for always on , otherwise the fan is set to off. So this means I can just turn it on (with about 6000rpm) or off.

    Are you sure you understood this question right? Maybe you have to answer "N" / "No" for temporary and speed-controlled fan activation.

    Maybe the fan is off at first, but at increasing heat it might start doing something.

  • Are you sure you understood this question right? Maybe you have to answer "N" / "No" for temporary and speed-controlled fan activation.

    Maybe the fan is off at first, but at increasing heat it might start doing something.

    At first, thank you for answering my post. After using WinSCP to enter the files on my SD-Card, i had a look for the files which came with the argonone-setup-libreelec.sh file. These are as follows:


    daemonname="argononed"

    powerbuttonscript=/storage/.config/$daemonname.py

    shutdownscript="/storage/.config/"$daemonname"-poweroff.py"

    daemonconfigfile=/storage/$daemonname.conf

    configscript=/storage/argonone-config

    removescript=/storage/argonone-uninstall

    daemonfanservice=/storage/.config/system.d/$daemonname.service

    kodishutdownscript="/storage/.config/shutdown.sh"


    As you can see It installed scripts for the pwr-button (wich works like charm) and some other files.

    One of them is a "argonone-config" file and the "argonone.conf" file. The first one ist the one i have to use to make changes to the fan behavior. So to start it i use

    ./argonone-config. This shows me whats written in the script e.g

    So as you can see, this script just offers me two options. Either "Fan off" ( so it sets the parameters in the argonone.conf to 90°=100%)

    or "Fan always on" (which results in 1°=100% in the argonone.conf).

    On other distributions ( for example raspbian). It should offer me 4 options

    - 1. Always On

    - 2. Adjust to temperature

    - 3. Customize behavior

    - 4. Cancelto change the fan behavior.

    This can easily be checked by looking in the raspbian argon1.sh (setup-script) Here is the code:

    So imo there is not such a thing like a option "menu" with 4 options for the LibreElec scripts. Like they forgot to write down the code for the LibreElec Version.

    Here are the original installscripts for you to check yourself:

    Raspbian Install-.sh

    LibreElec install-.sh

    Iam not that deep into coding (to be honest I am not at all :S). So what do you think about this? Am I to stupid for that? How can I manage to customize the Fan behavior on the LibreElec-script-version?


    By the way: I have installed another 5V Fan to my Case an it is way more silent thant the original one! So thats a must do for people who like it silent.

  • Well that sounds like a new task for me :D


    But again thank you for replying and helping me and the previous speakers with that thing. I also learned many things by the postings from you and chewitt in the forum.


    So IF i manage to write a demon, I will post here for others who have the same request.

  • Then you're right, and you only have on /off options.

    You could possibly change the "off" option where is sets the default 90=100 (90°C = 100%) Fan to say 60=50. This should quieten the original fan down and keep the case below 70°C which is a recommended max temp for commercial applications. I'll try it when I get a chance.

    ref: At what temperature do conventional electronics packages fail? - TWI


    So the argonone.config OFF option gives you one temp=speed entry in the argononed.conf file.  I have edited it from 90=100 to 60=50. It never gets that warm so I cannot verify if it will work.    I enabled editing using  "mount -o remount,rw /storage" and nano to edit the file.

    I had to set the the argononed.conf file to 40=10 fan setting to provide a scenario where I could listen for the fan come on and off. It rarely went near 50°C in passive mode. The 10% fan speed is adequate to drop the case temperature from it's resting temperature of 43°C to 39°C where the fan cuts out. Temperature was displayed via the KODI/System Info/Hardware option.

    So The procedure is to run ./argonone-config, set the option to off.

    This gives one fan setting in the argononed.conf file which is by default set to 90=100.

    Change this to 40=10 (or whatever you feel is reasonable) with nano. save and reboot.

    Result: Temperature sits at 42° with fan on while playing a video and returns to 38-39° when video stops with fan shutting off in < 60 seconds.

    Edited 2 times, last by chook55: Follow up (June 2, 2020 at 2:59 AM).

  • I have had the same problem.

    Shutdown Script is working fine. Fan control was just 0 or 100.

    Your posting set me on the right track to fix the problem.

    The raspian script has more options.

    The reason is that there is one line with a regular expression check in there.

    libreelec does use another shell and this line does not work there.

    the rest is working fine.

    i guess someone ported it, it did not work and they just discarded all the other options instead of fixing them.

    so i took the liberty to copy the raspian code to my libreelec and edit that line to make it work.

    (system calls, filenames and storeagepath are also different)

    i also added a fourth option to set the speed to a fixed value other than 100%

    this is the content of my new libreelec "argonone-config" file.

    and yes, that default Fan is the worst. even at 10% it is annoying.

    going to replace it.

  • I changed the /storage/argononed.conf as follow. It's worked pretty fine for me with the setting as

    Min Temp=Fan Speed

    40=5

    45=10

    50=25

    55=50

    60=80

    65=100

    Since I don't want to fried my pi, I leave 65=100 in no condition. So it'll say fan off but will turn on at 65 with 100.

    #!/bin/bash

    daemonconfigfile=/storage/argononed.conf

    echo "--------------------------------------"

    echo "Argon One Fan Speed Configuration Tool"

    echo "--------------------------------------"

    echo "WARNING: This will remove existing configuration."

    echo -n "Press Y to continue:"

    read -n 1 confirm

    echo

    if [ "$confirm" = "y" ]

    then

    confirm="Y"

    fi

    if [ "$confirm" != "Y" ]

    then

    echo "Cancelled"

    exit

    fi

    echo "Thank you."

    echo -n "Press Y if you want the fan to be always on:"

    read -n 1 confirm

    echo

    if [ "$confirm" = "y" ]

    then

    confirm="Y"

    fi

    echo "#" > $daemonconfigfile

    echo "# Argon One Fan Speed Configuration" >> $daemonconfigfile

    echo "#" >> $daemonconfigfile

    echo "# Min Temp=Fan Speed" >> $daemonconfigfile

    if [ "$confirm" != "Y" ]

    then

    echo 65"="100 >> $daemonconfigfile

    echo "Fan off."

    else

    echo 40"="5 >> $daemonconfigfile

    echo 45"="10 >> $daemonconfigfile

    echo 50"="25 >> $daemonconfigfile

    echo 55"="50 >> $daemonconfigfile

    echo 60"="80 >> $daemonconfigfile

    echo 65"="100 >> $daemonconfigfile

    echo "Fan always on."

    fi

    systemctl restart argononed.service