Raspberry Pi PoE Hat Fan Control

How can we get support for the Raspberry Pi 4 PoE+ Hat included in the IPFire kernel? I’m building a RPi cluster in a 1U rack and am trying to use the IPFire ARM build with my RPi 4 and the PoE+ hat. However, the fan will not turn on no matter what I try. The fan device should be in:

/sys/class/thermal/cooling_device0/

If you cat /sys/class/thermal/cooling_device0/type, it should be “rpi-poe-fan”. However, that is not the case and it doesn’t appear the kernel driver exists here:

kernel/drivers/hwmon/rpi-poe-fan.ko

There’s a discussion thread about implementing fan control in non-Raspbian operating systems on the RPi here with more details:

https://raspberrypi.stackexchange.com/questions/98078/poe-hat-fan-activation-on-os-other-than-raspbian

Since the cooling fan is an important part of the PoE+ hat, a common addon, it would be fantastic if somebody could point me in the direction of getting this working. Any help would be appreciated!

1 Like

Hello @e_bergen - Welcome to the IPFire Community!

There is this interesting post also:

Here is some info on how to do development for IPFire (LOTS of info!):

Here is specific for add-ons:

There is lots of info above. Please feel free to ask questions.

Thanks for the info Jon! I read through the whole stackexchange post you sent and also poked through the development and addon links. I’ve never done kernel development or installed patches before, although I’m a fairly decent programmer. The post was all very specific to Fedora. When I checked some of the paths the post mentioned, they don’t exist on IPFire. Do you think there’s any way to build the fan module right in IPFire and load it into the kernel without applying patches? Or am I totally misunderstanding how this would need to work?

I don’t know for sure, but I am guessing the answer is no.

@arne_f - can you answer / assist?

The vanilla linux kernel v.5.15 doesn’t have the support for “rpi-poe-fan” so you need a matching patch for kernel this kernel, i don’t know if such patch exist.

1 Like