Laptop install, fan speed control

  • Hello all.

    I have an older Dell D620 that I've repurposed for pfsense.  I have removed the LCD and placed two thin 120mm fans in the lid.  Removing the keyboard means I can blow air directly down onto the MB/heatpipes.  Sealing up all of the holes (except the CPU fan exhaust port) means I can get good positive pressure from the fans.  The system runs cool(ish), but as a result, the CPU fan never comes on.

    I have several other D620s in service as normal laptops, and my temperatures go from 50-60C depending on what I'm doing.  With a CPU load of 3%, my pfsense hack job runs at 65-70C.  With the 120mm fans off (powered by USB), the CPU fan does indeed come on, but then it goes from 70-75C as the fan kicks on/off/on/off.

    There is a Windows-based Dell laptop fan controller (Russian programmer) that works well, so I know software control is possible.

    I'd like to experiment with running the CPU fan at various speeds to see its effects on system temp, if any.  I believe my 120mm fans are keeping the system sufficiently cool enough so that the thermal sensor never trips, thus never running the CPU fan.  But on 5v (USB power), the fans simply don't generate enough pressure to blast air through the CPU heatsink like the stock fan does.  The system is well within spec given laptop parts are designed to run somewhat hotter, but the CPU fan is there, so why not try it and see what happens?

    Any advice on where to start looking for fan control on a system like this?


  • Well, I've tried a few things:

    [2.1-RELEASE][root@firewall.none]/root(2): sysctl hw.acpi.thermal
    hw.acpi.thermal.min_runtime: 0
    hw.acpi.thermal.polling_rate: 10
    hw.acpi.thermal.user_override: 0
    hw.acpi.thermal.tz0.temperature: 68.5C -1
    hw.acpi.thermal.tz0.passive_cooling: 0
    hw.acpi.thermal.tz0.thermal_flags: 0
    hw.acpi.thermal.tz0._PSV: -1
    hw.acpi.thermal.tz0._HOT: -1
    hw.acpi.thermal.tz0._CRT: 126.0C
    hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
    hw.acpi.thermal.tz0._TC1: -1
    hw.acpi.thermal.tz0._TC2: -1
    hw.acpi.thermal.tz0._TSP: -1

    [2.1-RELEASE][root@firewall.none]/root(3): sysctl -w hw.acpi.thermal.user_override=1
    hw.acpi.thermal.user_override: 0 -> 1

    [2.1-RELEASE][root@firewall.none]/root(4): sysctl -w hw.acpi.thermal.tz0._ACx=60C
    sysctl: oid 'hw.acpi.thermal.tz0._ACx' is read only


    Any idea how to get the ACx value out of read only status?  Seems like that is the value to change to get the active cooling working.

  • Further…

    I enabled powerd and "minimum" mode, and my CPU speed dropped from 2GHz to 125Mhz!  CPU use with a single Netflix stream went to 100%, then 27%....

    This is interesting.  My temps are 12C lower already, and it will be interesting to see if network traffic (Netflix) is effected as the CPU scales.

    As long as the family doesn't lose its precious internet, I can run this system as slowly as possible.

    ETA temps went from 70-75 to 53-55C with no noticeable network performance hit.

Log in to reply