[HN Gopher] The minimum viable fan control script
       ___________________________________________________________________
        
       The minimum viable fan control script
        
       Author : hddherman
       Score  : 47 points
       Date   : 2022-09-26 06:44 UTC (1 days ago)
        
 (HTM) web link (ounapuu.ee)
 (TXT) w3m dump (ounapuu.ee)
        
       | stefantalpalaru wrote:
        
       | suprjami wrote:
       | Literally the day after I spend hours figuring out thinkfan and
       | tinkering with fan levels to get something I can live with. What
       | timing.
        
       | buescher wrote:
       | I was expecting a basic thermostat with hysteresis, but no, it's
       | a stepwise proportional control. Your fan could very well wind up
       | oscillating at one of the step transition points which is
       | probably not great for the fan.
        
         | zbrozek wrote:
         | Your sanity will suffer more than the fan.
        
           | buescher wrote:
           | Well, there's that, but the audience is people who will write
           | their own fan control script...
        
         | 10000truths wrote:
         | If this is a realistic failure mode, one would hope that there
         | is some kind of rate-limiting at the firmware or driver level.
        
       | _wolfie_ wrote:
       | > if ((temp > 90000)); then
       | 
       | What is this syntax? I would have assume something like `[ $temp
       | -gt 90000 ]` or `$((temp > 90000))`. Is the dollar here optional?
       | Is this something bash specific?
        
         | scbrg wrote:
         | > Is this something bash specific?
         | 
         | Yes.
         | 
         | http://mywiki.wooledge.org/ArithmeticExpression#Arithmetic_C...
        
       | mortenlarsen wrote:
       | There is no need to call cat to read from a file.
       | 
       | > temp=$(cat /sys/class/thermal/thermal_zone1/temp)
       | 
       | temp=$(</sys/class/thermal/thermal_zone1/temp)
        
         | 0xCAP wrote:
         | A classic example of cat abuse in my book.
        
           | elsyx wrote:
           | Definitely an unwarranted cat call.
        
           | deeblering4 wrote:
           | meow
        
         | piperswe wrote:
         | IMO the cat version is more readable, and any performance
         | difference should be negligible
        
       | bullen wrote:
       | I have spent countless hours trying to get hardware to be silent.
       | 
       | The only way to do this reliably and without fire hazard is to
       | passively cool the hardware completely by having HUGE heatsinks
       | and THEN you can add a fan that you slow down with a resistor.
       | 
       | The fan is only there to prolong the life span, the hardware
       | should be able to run passivley at 100% and you should be able to
       | hold your finger on the heatsink forever. If not you have a
       | problem.
       | 
       | All other solutions are just meaningless.
       | 
       | http://streacom.com
        
         | onli wrote:
         | How silent are you talking? Silent under load is hard, but
         | quiet under load and silent on idle is possible without a
         | passively cooled build. A good cooler for the processor + slow
         | running case fans + a silent psu (like BitFenix Formula,
         | Corsair RM, ...) + a noise isolating case against coil whine
         | would be the foundation for that. I use an old Corsair H90 to
         | cool my i5-5675C, AIO radiator is installed in the front of the
         | case, there is one good case fan at the back. Note that the H90
         | is only quiet when pump speed gets also reduced. With that
         | setup, the noise under load is completely defined by the gpu (a
         | soon to be exchanged RX 570) and the noise of the system on
         | idle vanishes in the ambient noise.
         | 
         | However, the setup I describe above was loud until I got around
         | to control the fan speeds properly. Turned out the MSI BIOS
         | fanspeed control did not work properly. On top of high minimal
         | speed settings (like 50% for the case fan) it ignored my cpu
         | fan settings and ran the fans higher than I wanted. That made
         | the system rather loud even on idle and unbearable under load.
         | The solution was to control fanspeed with fan2go:
         | https://github.com/markusressel/fan2go (plus radeon-profile
         | controls the speed of the gpu, making it silent on idle as
         | well.)
         | 
         | Fan2go is not only nice to use, it also solves the issue the
         | article's author will run into in the future: Those hwmon paths
         | are not stable anymore. It's possible they will work on his
         | hardware if there is only one (or none, as in the thinkpad
         | example using a different system), but otherwise the script
         | will stop working with new kernels after reboots.
        
         | dvdkon wrote:
         | Today's hardware can scale performance and power consumption by
         | orders of magnitude, I find that solutions that allow quiet
         | day-to-day operation and loud power when needed _are_
         | meaningful.
        
         | wwwigham wrote:
         | I run a media server with 100% passive cooling.
         | 
         | Case is a small form factor case:
         | https://hdplex.com/hdplex-h1-v3-fanless-computer-case.html
         | 
         | You actually paste heat pipes from the CPU to the case itself,
         | using the large fins on the case as a massive heat sink.
         | 
         | Inside I have an Intel Core i7 10700 and 2 Samsung 970 Evo Plus
         | 2TB SSDs. Works fantastically as a media server, under near
         | constant hardware transcoding load.
        
         | mellavora wrote:
         | My son built a small project where he tried to control the
         | speed of a computer case fan with a (variable) resistor,
         | shunting a % of the power to ground. Didn't work very well. The
         | fan either ran full speed or not at all.
         | 
         | So he used a 555 chip to turn the setup into pulse-width
         | modulation, with the variable resistor (pot) adjusting the
         | pulse width.
         | 
         | Worked like a charm.
        
           | gigaflop wrote:
           | 4-wire PC fans are usually PWM controlled. That might be why
           | the first attempt didn't go well, if he didn't try multiple
           | fans.
        
         | rollcat wrote:
         | An M1 Mac Mini is silent even at considerable load, out of the
         | box; the fan policy can be tweaked with a free app
         | (MacsFanControl); also I've never seen it eat more than 30ish
         | watts (even when playing games). It's definitely not a budget
         | solution (I mean the price is fair for the performance, unless
         | you don't need $700's worth of horsepower), and macOS could do
         | much better as a server solution, but it's definitely worth
         | considering.
         | 
         | Mine is both a desktop/workstation, and actually doing various
         | "server" duties like running Prometheus+Grafana, SSH jumpbox,
         | etc. Bonus? You can actually SSH in while it's sleeping - it
         | will wake up the system, but not the screen(s).
        
       | XiS wrote:
       | As an alternative, been using this PID fan control script to keep
       | my HDDs cool for ages.
       | https://forums.freenas.org/index.php?threads/pid-fan-control...
        
         | francis-io wrote:
         | I've some a similar thing with my NAS on a Supermicro X10 (I
         | think) on Linux. I have had all kinds of trouble getting quiet
         | fans on this board under Linux. I think it's a mix of BIOS fan
         | control and other things that I ended up sinking days into
         | trying to solve. Right now my solution is flaky at best, but
         | eventually the fans spin down after a reboot.
         | 
         | Supermicro could be so good for "prosumers" but I feel like
         | they are bogged down by historic garbage. I had to pay (crack)
         | something in the BIOS just to use a feature.
        
           | c_o_n_v_e_x wrote:
           | On some server motherboards, fan control is done by the BMC.
           | We license BMC firmware from AMI for our servers. The fan
           | control algos that come included are very basic (similar to
           | the proportional response the auth wrote).
        
         | nicolaslem wrote:
         | Me too! And it does not only keep HDDs cool but even more
         | importantly it keeps them at a constant temperature. At this
         | point the script should be shipped with TrueNAS directly.
        
       ___________________________________________________________________
       (page generated 2022-09-27 23:02 UTC)