Ubuntu 21.04 Failed to apply overlay '0_rpi-poe' (kernel)
I have Ubuntu 21.04 installed on a Raspberry Pi 4. I want to control the fan on the POE+ HAT (https://www.raspberrypi.org/products/poe-plus-hat/)
By default the fan does not spin at all. When I add dtoverlay=rpi-poe
to /boot/firmware/config.txt
the fan works in a seemingly default mode.
But when I do sudo dtoverlay -l
there are no overlays loaded so I don't know why it makes a difference.
Custom settings like these do not work as expected. When I add these the fan stops completely or falls back to default mode.
dtparam=poe_fan_temp0=50000
dtparam=poe_fan_temp1=58000
dtparam=poe_fan_temp2=64000
dtparam=poe_fan_temp3=68000
When I try to load the overlay rpi-poe
I get the response * Failed to apply overlay '0_rpi-poe' (kernel)
which maybe means it's not available in this kernel?
GNU/Linux 5.11.0-1012-raspi aarch64
On Ubuntu 21.04 builds for the Pi 4 with the PoE+ hat there is one slight difference that you're missing which is causing this issue. The firmware driver and associated device tree overlay is named rpi-poe-plus
, not rpi-poe
(this is for the older PoE hat).
You can find this out by seeing the available device tree overlays with the following command and noting that there are two listed.
ls /boot/firmware/overlays | grep poe
Add the following to the /boot/firmware/config.txt
file to get the fan working with the PoE+ hat.
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
You can adjust the poe_fan_temp values to what you like so as to ramp the fan at different temperature values of the CPU. The values are degrees C x 1000.