Re: PWM GPIO on Raspberry Pi 3

Brad Spencer <[email protected]>
Newsgroups gmane.os.netbsd.general,gmane.os.netbsd.ports.arm
Message-ID <[email protected]>
Benny Siegert <[email protected]> writes:

> Hi!
>
> I added a 5V PWM fan to my RPi 3 running 10.1 in 32 bit mode, as 
> earmv7hf. I connected the PWM control pin to GPIO18, as per the article 
> in 
> https://blog.driftking.tw/en/2019/11/Using-Raspberry-Pi-to-Control-a-PWM-Fan-and-Monitor-its-Speed/.
>
> The thing is, I can only switch the fan on and off from there. I'd like 
> to use the actual PWM facility to run it at lower speeds.
>
> How is PWM GPIO supposed to work? I found a thread from 2019 that 
> suggests that the hardware PWM on the RPi3 would need driver support 
> that we do not have.
>
> For software PWM, I tried this command that I found in the manpage:
>
> gpioctl gpio0 attach gpiopwm 18 1
>
> which results in "invalid argument".
>
> I think the gpiopwm driver is not loaded, but there doesn't seem to be a 
> module for it either.
>
> Any hints?


You will have to compile your own kernel for that driver because as you
have found, it doesn't exist as a module.  The man page for gpiopwm does
suggest the lines that would need to be added to a kernel config file.
It could be something as simple as this (assuming you are using
earmv7hf, if you are using earmv6hf use RPI2 on the include line):

----
include "arch/evbarm/conf/GENERIC"
gpiopwm* at gpio? offset 18 mask 1
----




Related to this...  in the next couple or maybe few months I will
probably be committing drivers for the EMC-210x and EMC-230x fan
controller chips (at least some, if not most, of the members of those
families).  At least for the EMC-2101 a breakout board that is
reasonability priced exists from Adafruit.  Those will allow hardware
fan PWM control and tach, and probably some temperature stuff, for
anything that can do I2C.





-- 
Brad Spencer - [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.