I figured I’d respond to you both in one post. I reviewed these two locations:
- Make the RPI POE Hat Fan user-controllable and adjustable · Issue #2715 · raspberrypi/linux · GitHub
- PoE HAT Fan Speed adjustment - Raspberry Pi Forums
I attempted many of the suggestions posted and to no avail. Based on what I was reading I set my config.txt to the following:
gpu_mem_1024=256 hdmi_ignore_cec_init=1 disable_overscan=1 start_x=1 disable_splash=1 gpu_mem_256=112 gpu_mem_512=144 sdtv_aspect=1 dtoverlay=rpi-poe dtparam=poe_fan_temp0=55000 dtparam=poe_fan_temp0_hyst=5000 dtparam=poe_fan_temp1=66000 dtparam=poe_fan_temp1_hyst=5000 dtparam=poe_fan_temp2=71000 dtparam=poe_fan_temp2_hyst=5000 dtparam=poe_fan_temp3=73000 dtparam=poe_fan_temp3_hyst=5000
After I ran a shutdown -r now and after it came back up I ran vcdbg log msg and saw that it loaded my overlay and dtparam’s
002468.000: brfs: File read: /mfs/sd/overlays/rpi-poe-overlay.dtb 002494.917: Loaded overlay 'rpi-poe' 002494.987: dtparam: poe_fan_temp0=55000 002495.667: dtparam: poe_fan_temp0_hyst=5000 002496.365: dtparam: poe_fan_temp1=66000 002497.103: dtparam: poe_fan_temp1_hyst=5000 002497.852: dtparam: poe_fan_temp2=71000 002498.631: dtparam: poe_fan_temp2_hyst=5000 002499.429: dtparam: poe_fan_temp3=73000 002500.258: dtparam: poe_fan_temp3_hyst=5000
I did take a look at the trip points and as the pages state, they are reverse but the order should not matter:
tail /sys/class/thermal/thermal_zone0/trip_point_?_temp /sys/class/thermal/thermal_zone0/trip_point_?_hyst ==> /sys/class/thermal/thermal_zone0/trip_point_0_temp <== 73000 ==> /sys/class/thermal/thermal_zone0/trip_point_1_temp <== 71000 ==> /sys/class/thermal/thermal_zone0/trip_point_2_temp <== 66000 ==> /sys/class/thermal/thermal_zone0/trip_point_3_temp <== 55000 ==> /sys/class/thermal/thermal_zone0/trip_point_0_hyst <== 5000 ==> /sys/class/thermal/thermal_zone0/trip_point_1_hyst <== 5000 ==> /sys/class/thermal/thermal_zone0/trip_point_2_hyst <== 5000 ==> /sys/class/thermal/thermal_zone0/trip_point_3_hyst <== 5000
They also align with the dtparams I set in config.txt
I even went so far as to install on a separate SD card a clean, most up-to-date OSMC install and a clean, most up-to-date Raspberry PI OS to see if that changed any behavior.
For OSMC behavior was identical to my existing system but for Raspberry Pi OS after booting the fan kicked on and stayed on during my testing. I did notice that in the config.txt file for Raspberry Pi OS there is no mention of the POE overlay but the fan worked regardless. I even went so far as to copy the rpi-poe.dtbo on the Raspberry Pi OS renamed it to rpi-poe-overlay.dtb and replaced the existing file on my OSMC system but after a reboot there was no change in behavior but it did load the .dtb without complaint.
I also utilized dtc to alter the cooling-levels on the OSMC .dtb to a recommended setting but that also seemed to not alter any sort of behavior. I will continue to play around with customizing the rpi-poe overlay but I figured I give you both what I have looked at so far.