# CPU Fan Control



## AlbertoAbi (Dec 16, 2015)

Hello Guys!

Can I control CPU Fan RPM via FreeBSD?

In BIOS iI had Q-Fan control with PWM but iI don't know why this option doesn't work.

I set the CPU Fan to 20% but RPM still same - 2000+ RPM. Normally this cooler runs at 500 - 2000 RPM, not above.

This is my cooler http://www.arctic.ac/eu_en/alpine-11-gt-rev-2.html#techspecs

This is my motherboard https://www.asus.com/Motherboards/P5SMX_SE/overview/

This is my CPU: Intel Pentium 4 Cedar Mill 3GHz

I Only want to change CPU fan RPM to run at 1000 - 1500 RPM.


----------



## lme@ (Dec 17, 2015)

I don't know if you can set fan speed but you can at least read their values with the aibs() kernel module and sysctl().


----------



## User23 (Dec 17, 2015)

Is the powerd() enabled on your system?


----------



## AlbertoAbi (Dec 18, 2015)

Yes, powerd(8) is enabled in kernel


----------



## AlbertoAbi (Dec 18, 2015)

```
# powerd -v
powerd: using APM for AC line status
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   4%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   7%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   4%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   4%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   6%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   3%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   4%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   4%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
load   0%, current freq 2400 MHz ( 1), wanted freq 2400 MHz
```
Why is 2.4GHz? My CPU is 3.0GHz.

And my rc.conf

```
hostname="localhost"
sshd_enable="YES"
mysql_enable="YES"
apache24_enable="YES"
dumpdev="AUTO"
ifconfig_sge0="DHCP"
powerd_enable="YES"
pf_enable="YES"
firewall_enable="YES"
firewall_script="/etc/firewall.rules"
php_fpm_enable="YES"
```


----------



## honk (Dec 19, 2015)

powerd(8) handles CPU frequencies, but doesn't control fans.


----------



## User23 (Dec 23, 2015)

honk said:


> powerd handles CPU frequencies, but doesn't control fans.



The Q-Fan Control is OS independent but temperature related. So the reason for higher RPM should be a higher CPU load than your "normal" scenario (could you specify "normal"?) or a not optimal configuration of the powerd. 

2400 MHz at zero load seems pretty high to me. The CPU should be able to use a lower frequency. 


```
sysctl dev.cpu.0.freq_levels
```
will show the possible freq_levels

If you have the coretemp module loaded, you can check the temperature too and compare that to your normal case.


```
sysctl dev.cpu.0.temperature
```


----------

