Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 6987

Device Tree • Fedora 42, Raspberry Pi and gpio-fan overlay

$
0
0
Hello everyone!

Sorry if I'm missing something.

I need to put on the internet a service my friends can access.
Previously such service was implemented on Fedora 34, for security’s sake I thought an update was needed.
Installing and setting up f42 Server edition went smooth but now I’m having issues implementing a basic fan control.
I have a three pin fan, one ground, one voltage and the other control (blue cable in GPIO10 pin).

With f34, inside /boot/efi/control.txt i simply added:

Code:

dtoverlay=gpio-fan,gpiopin=10,temp=65000
Which allowed the fan to start spinning when 65° celsius is reached.
Now the same configuration doesn’t work, the fan’s always on while the temp reported is 45°.

First I tried moving the line from under [pi4] to [all] or even before those two: doesn’t work.
Then I tried changing kernel because I thought config.txt was being skipped. It isn’t: a bad config.txt file doesnt allow the system to boot.
I checked with raspi-config or ways to make it work with fedora to no avail.

I checked with sudo gpioinfo how’s the status and noticed that there was no gpio10, rather an SPI port.
So i went to config.txt with dtparam trying to disable spi all together but no matter the settings, there was no way to have the pin as GPIO10, only SPI.

I moved the blue cable from GPIO10 to 17, updated config.txt: nothing.
gpioinfo was showing GPIO17 as input, with the line

Code:

gpio=17=op,dh
I changed it to “output” thinking this was the problem, the fan is always on.

The only command i found working was

Code:

sudo gpioset -c gpiochip0 17=0
it correctly turns off the fan, but i would like an automatic approach.

Without the -c i get the error

Code:

gpioset: invalid line value: 'gpiochip0'
There is a gpio-fan file inside /boot/efi/overlays so i think that’s implemented.
With the command

Code:

dmesg | grep -i fan
I get nothing.
WIth the command

Code:

sudo dmesg | grep gpio
I get

Code:

[    2.161331] pinctrl-bcm2835 fe200000.gpio: GPIO_OUT persistence: no
kernel version:
6.14.4-300.fc42.aarch64

I’m out of options, anyone can help me?
Do i really need to do a script (which wouldnt be that hard, but I'm stubborn)?
Thanks!

Statistics: Posted by LukeSkyD — Wed Apr 30, 2025 8:04 pm — Replies 2 — Views 69



Viewing all articles
Browse latest Browse all 6987

Trending Articles