Raspberry Pi 4, Ubuntu 20.04, PoE Hat Fan Control

I recently acquired an 8Gb Raspberry Pi 4 and promptly installed Ubuntu 20.04 on it to see how it worked. Right away, I was excited that the PoE Hat worked and that it booted without any problems, except that the fan on the Hat was no longer controllable the way that it used to be.

It appears that the old way of using config.txt and friends to override those settings no longer works.

Here’s what you need to do:

sudo nano /etc/udev/rules.d/50-rpi-fan.rules

Put this in it to start with, and tweak as needed for your situation:


# If the temp hits 81C, highest RPM
# If the temp hits 80C, higher RPM
# If the temp hits 70C, higher RPM
# If the temp hits 60C, turn on the fan
# Fan is off otherwise


macOS Disk Utility “Operation cancelled”

When trying to use Disk Utility to make a backup of one of my Raspberry Pi’s, I was repeatedly seeing an error that was causing my backup to fail.

Operation cancelled

Disk Utility

Not particularly helpful.

For me, the fix involved setting the Disk Utility application to have Full Disk Access inside macOS System Preferences, under Security & Privacy, and then Privacy.

Once I did this, everything started working again! 🥳


Raspberry Pi PoE Hat Fan Control

I noticed yesterday that the fans on the PoE Hat of my Raspberry Pi 4’s were behaving strangely. They were both kicking on based more on time than temperature, even though neither of them seemed that hot.

You can check the temperature via the command line like this:

/opt/vc/bin/vcgencmd measure_temp

And you’ll get something like:


That didn’t seem hot enough to me to warrant the fans going full blast, and it doesn’t help that these fans have a high-pitched whine to them, making them audibly louder than all of my rack mounted Ubiquiti gear.

I decided to take the fan configuration into my own hands, but I had to go hunting for the proper settings first.

Name: rpi-poe
Info: Raspberry Pi PoE HAT fan
Load: dtoverlay=rpi-poe,<param>[=<val>]
Params: poe_fan_temp0 Temperature (in millicelcius) at which the fan turns on (default 50000)

poe_fan_temp0_hyst Temperature delta (in millicelcius) at which the fan turns off (default 5000)

poe_fan_temp1 Temperature (in millicelcius) at which the fan speeds up (default 55000)

poe_fan_temp1_hyst Temperature delta (in millicelcius) at which the fan slows down (default 5000)

Open Nano to edit the boot config, like this:

sudo nano /boot/config.txt

Near the bottom add something like this:

# PoE Hat Fan Speeds

Then, reboot! Now, the fans won’t kick on until they hit 65’C, they’ll speed up at 67’C. For my setup, that silences them almost completely, while still keeping them reasonably cool and safe.