I'm aware that the only officially supported OS that the PoE hat works on is Raspbian. I can confirm that both my hats work, and that the fan does switch on and off if I have Raspbian installed on the SD card the Pi is booting from.

Currently, however, I'm dong a project and I'm using Ubuntu Server 18.04 64bit, which runs fine on the Pi, and the PoE hat powers the device with no problems. Unfortunately, as the OS isn't Raspbian, the fan never spins up, so it can run a little hot. As a result, if I can get the fan to spin up, and down then that would be great. I have no problems with doing this with scripts, using crontab and inspecting the value of /sys/class/thermal/thermal_zone0/temp, but I just don't know how to get the fan to spin.

I did initially try my simply editing config.txt, which is located in /boot/firmware on Ubuntu, and adding the below:


This has no effect though (but does have the desired effects on Raspbian).

I did, therefore, wonder if I could use the GPIO pins to start the fan up, and stop it, however, I honestly have no knowledge of GPIO. I assume it is controlled via this on Raspbian, but very little on ideas here, I'm afraid.

If anyone can point me in the right direction, or has some ideas to try that would be great. Any further questions on things I haven't covered, please do ask, and I'll be happy to elaborate to the best of my ability.

Edit: Looking at this post here, it appears that it's controlled via the I2C pins, so I've added the tag, in case anyone has found how to control it via that.

Edit 2: So it seems that the drivers for the fan were added in Ubuntu 19.04, as the answer below suggests, however, it doesn't control the fan, it just switches it on. Having the fan permanently on is actually even less desired as they create constant high levels of noise (despite being quite small the fans aren't quiet). I am looking for a solution that can spin the fans up and down. I did add the above parameters to /boot/firmware/config.txt again as well, but this has no effect. Even at 40C the fan was spinning at full speed (the settings state that full speed would be at 77C, down to 75C).

  • I got it spin with Ubuntu 19.04 (raspberry pi version). Unfortunately I cannot let it stop. – user2186068 May 14 '19 at 20:45
  • But how did you get it to start in the first place, @user2186068 ? – Larnu May 15 '19 at 7:48
  • From the driver documentation it uses the I2C bus usually reserved for HAT EEPROM chips to control the fan. Have you looked under the /sys/ folder for fan*, rpipoefan or rpi-poe-fan entries? Here's the driver source: github.com/raspberrypi/linux/blob/rpi-4.19.y/drivers/hwmon/… – Roger Jones May 17 '19 at 9:25
  • Nothing on the 18.04, but the 19.04 host (after answer below), does show the driver in /lib/modules/5.0.0-1008-raspi2/kernel/drivers/hwmon/rpi-poe-fan.ko @RogerJones . i'm going to try a fresh install of 19.04 on the pi I ungraded to 19.04 last night anyway (as it corrupted the lxc install when it changed it to snap) and see if that works. – Larnu May 17 '19 at 9:44

You can try Ubuntu Disco Dingo for Raspberry pi 3b+. You may download it from Ubuntu releasing site. http://cdimage.ubuntu.com/releases/19.04/release/ In the new firmware, the PoE Fan driver is merged in.

  • Interesting if it is in Dingo. I'll do a release upgrade instead (changing the value of prompt to normal in /etc/update-manager/release-upgrades) and see if that works first; as i'd like to avoid a fresh install. i'll report back after testing. Thanks, – Larnu May 16 '19 at 13:54
  • Doing a release update didn't work. Will try a fresh install later. See if that has any luck – Larnu May 17 '19 at 9:34
  • After installing Ubuntu 19.04 fresh, the fan works, but doesn't switch off; even with the above changes to the config. This also, is undesired (as the fans are noisy). The fan needs to switch on and off. Unfortunately this is therefore not the solution. – Larnu May 17 '19 at 18:48

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.