0

So I bought a new Raspberry Pi 4 (4GB) and the official PoE+ HAT. It is running the 64-bit version of Ubuntu 21.04 Server, completely updated.

Controlling the PoE+ HAT-fan should/could be done through /etc/firmware/config.txt, which I did. This does turn on the fan, but it looks like somehow only 2 of the 4 settings are respected at the moment.

First, I tried this setup:

# PoE Hat Fan Speeds #
dtoverlay=rpi-poe
dtparam=poe_fan_temp0=60000
dtparam=poe_fan_temp0_hyst=5000
dtparam=poe_fan_temp1=65000
dtparam=poe_fan_temp1_hyst=5000
dtparam=poe_fan_temp2=70000
dtparam=poe_fan_temp2_hyst=5000
dtparam=poe_fan_temp3=75000
dtparam=poe_fan_temp3_hyst=5000

With these settings, the fan turns on semi-fast every 30-ish seconds around 70 degrees and stops again when it's hitting 65. Then it takes the Pi some 30-ish seconds to just heat up back to 70 again and the cycle starts again, with the Pi always within 65 and 70 degrees.

Then I changes the settings to the following:

# PoE Hat Fan Speeds #
dtoverlay=rpi-poe
dtparam=poe_fan_temp0=55000
dtparam=poe_fan_temp0_hyst=5000
dtparam=poe_fan_temp1=60000
dtparam=poe_fan_temp1_hyst=5000
dtparam=poe_fan_temp2=65000
dtparam=poe_fan_temp2_hyst=5000
dtparam=poe_fan_temp3=75000
dtparam=poe_fan_temp3_hyst=5000

Now the same happens, but the Pi is constantly between 60 and 65 degrees. Here's a graphic of the above mentioned situations:

enter image description here

So it seems like the Pi is only respecting the temp1 and temp2 settings and is using only one speed setting to stay within that range. When it 'accidentally' drops below 60 and should be in the range between temp0 and temp1, the fan does not switch to a lower RPM, but just stops.

Just to check I once set temp3 to 50000 and then the fan does ramp up to it's full speed, so it does know how to use the different speeds.

I also tried changing them to temp1, temp2, temp3 and temp4 instead of starting with temp0, but then temp4 is ignored and temp0 is replaced with the default setting 40 degrees, as expected.

So in short the PoE+ HAT fan is only working in the range between temp1 and temp2 and not below.

Am I missing something here?

0

Trying to find the other answer that I found that solved this, but I closed the window...but here's the nutshell of the answer: change rpi-poe to rpi-poe-plus

I ended up with, reboot and fan is spinning.

# POE Fan
dtoverlay=rpi-poe-plus
dtparam=poe_fan_temp0=80000,poe_fan_temp0_hyst=2000
dtparam=poe_fan_temp1=70000,poe_fan_temp1_hyst=5000
dtparam=poe_fan_temp2=65000,poe_fan_temp2_hyst=3000
dtparam=poe_fan_temp3=60000,poe_fan_temp3_hyst=5000

the other bit from the answer was confirming that you have the "-plus" with

ls /boot/firmware/overlays | grep poe

1
  • Wow. That's both so simple and stupid at the same time. It's working perfectly! I have the temps the other way around though by the way. temp0 is the lowest RPM so the I have set it to the lowest temp. Oct 5 '21 at 19:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.