You are not logged in.

#1 2014-03-25 22:47:46

fuhrer
Member
Registered: 2013-07-03
Posts: 36

controlling cpu fan on hp 620

hi guys !

i am using arch linux with kde, before a couple of months everything were good
now the cpu fan doesn't work till ,the temperature reaches 80 or 90 degree C , the fan start working for few seconds and stops again.

i tried using

# pwmconfig

but it says this

/usr/bin/pwmconfig: There are no pwm-capable sensor modules installed

also i tried to add the following to the kernel parameters

acpi_enforce_resources=lax

and

acpi=force

when i added these parameters the fan keep working but its speed is not enough to cool the cpu to the normal temp

some info from "inxi"

$ inxi -F
System:    Host: fuhrer Kernel: 3.13.6-1-ARCH x86_64 (64 bit) Desktop: KDE 4.12.3 Distro: Arch Linux 
Machine:   System: Hewlett-Packard product: HP 620 v: F.20
           Mobo: Hewlett-Packard model: 1526 v: KBC Version 71.0E
           Bios: Hewlett-Packard v: 68PVI Ver. F.20 date: 12/12/2011
CPU:       Dual core Pentium CPU T4500 (-MCP-) cache: 1024 KB 
           Clock Speeds: 1: 2300 MHz 2: 2300 MHz
Graphics:  Card: Intel Mobile 4 Series Integrated Graphics Controller 
           Display Server: X.Org 1.15.0 driver: intel Resolution: 1366x768@59.6hz 
           GLX Renderer: Mesa DRI Mobile Intel GM45 Express GLX Version: 2.1 Mesa 10.1.0
Audio:     Card: Intel 82801I (ICH9 Family) HD Audio Controller driver: snd_hda_intel 
           Sound: Advanced Linux Sound Architecture v:: k3.13.6-1-ARCH
Network:   Card-1: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller driver: r8169 
           IF: ens5 state: down mac: 64:31:50:82:ff:ef
           Card-2: Ralink RT3090 Wireless 802.11n 1T/1R PCIe driver: rt2800pci 
           IF: wls1 state: down mac: e0:2a:82:d9:b1:e8
Drives:    HDD Total Size: 327.8GB (18.9% used) 1: id: /dev/sda model: SAMSUNG_HM321HI size: 320.1GB 
           2: USB id: /dev/sdc model: CooKey size: 7.7GB 
Partition: ID: / size: 82G used: 58G (75%) fs: ext4 ID: /boot size: 146M used: 36M (26%) fs: ext2 
Sensors:   System Temperatures: cpu: 53.0C mobo: 16.0C 
           Fan Speeds (in rpm): cpu: N/A 
Info:      Processes: 182 Uptime: 23 min Memory: 1172.1/3858.0MB Client: Shell (bash) inxi: 2.1.6 

i do appreciate any help ... ^^

Last edited by fuhrer (2014-03-26 00:11:51)

Offline

#2 2014-03-26 15:45:28

MadTux
Member
Registered: 2009-09-20
Posts: 553

Re: controlling cpu fan on hp 620

I guess you already checked that no dust collected inside the machine? This may significantly reduce fan speed and efficiency.

Offline

#3 2014-03-26 17:12:28

fuhrer
Member
Registered: 2013-07-03
Posts: 36

Re: controlling cpu fan on hp 620

i didn't , actually i was going to but i forget all the time
i'll try tonight and i'll give the feed back ^^

Offline

#4 2014-03-27 22:30:34

fuhrer
Member
Registered: 2013-07-03
Posts: 36

Re: controlling cpu fan on hp 620

MadTux, cleaning didn't work ...

BTW, sorry i didn't mention that the fan works perfectly under Windows 7 and at the beginning of booting (before selecting the OS to boot) and if i stay in the grub menu before selecting the OS also the fan works properly ...

any idea guys !

Offline

#5 2014-04-08 10:38:37

fuhrer
Member
Registered: 2013-07-03
Posts: 36

Re: controlling cpu fan on hp 620

i still cannot find a solution for my problem and my hp is gonna burn ..xD

i remember something that might be useful which is the

cpufreq_utils

it was supported by the arch repos before but when i had been dropped this issues occured to me

so how can install this tool again or any alternative tools available ??

Offline

#6 2014-06-04 15:17:33

fuhrer
Member
Registered: 2013-07-03
Posts: 36

Re: controlling cpu fan on hp 620

hi!

actually, a month ago a wrote a small script that control the fans in real time and after resume the suspend. and i forgot to post it. so this is it down there...

#!/bin/bash

on=/sys/class/thermal/cooling_device
cur=/cur_state

while  (( 1 )) ; do

# set the sleep between each measurement and adjustment
# this options is very important to decrease the use of cpu, a value between 1s and 3s is good.
# note: don't remove this options or the cpu load will be enormous.
sleep 1.5

# reading the temperature of the core1
# this path is for an hp620 laptop, for other laptops you have to change it manually
# or wait until i add a something to detect it
## Note: here i am reading the temperature of only one core, if you want to read of them just uncomment the second line below
core1=`cat /sys/class/hwmon/hwmon0/device/temp2_input`
#core2=`cat /sys/class/hwmon/hwmon0/device/temp3_input`
   
## Temperature value and the fan speeds associated
## note: you can change the temp values if you find these not good
if [[ $core1 < "32000" ]] ; then
      if [[ $sp1 = '1' ]] ; then 
	  echo "speed 1 aleady active."
	else
	  for i in {7..7} {14..14} ; do echo 1 > ${on}${i}${cur} ; done
	  for i in {6..3} {13..10} ; do echo 0 > ${off}${i}${cur} ; done
	  echo "activating speed 1."
      fi
  elif [[ $core1 > "31000" && $core1 < "52000" ]] ; then
      if [[ $sp2 = '1' ]] ; then 
	  echo "speed 2 aleady active."
	else
          for i in {7..6} {14..13} ; do echo 1 > ${on}${i}${cur} ; done
	  for i in {5..3} {12..10} ; do echo 0 > ${on}${i}${cur} ; done
	  echo "activating speed 2."
      fi
  elif [[ $core1 > "51000" && $core1 < "56000" ]] ; then
      if [[ $sp3 = '1' ]] ; then 
	  echo "speed 3 aleady active."
      else
          for i in {7..5} {14..12} ; do echo 1 > ${on}${i}${cur} ; done
	  for i in {4..3} {11..10} ; do echo 0 > ${on}${i}${cur} ; done
	  echo "activating speed 3."
      fi
  elif [[ $core1 > "55000" && $core1 < "66000" ]] ; then
      if [[ $sp4 = '1' ]] ; then 
	  echo "speed 4 aleady active."
	else
          for i in {7..4} {14..11} ; do echo 1 > ${on}${i}${cur} ; done
	  for i in {3..3} {10..10} ; do echo 0 > ${on}${i}${cur} ; done
	  echo "activating speed 4."
      fi
  elif [[ $core1 > "65000" ]] ; then
      if [[ $sp5 = '1' ]] ; then 
	  echo "speed 5 aleady active."
	else
          for i in {7..3} {14..10} ; do echo 1 > ${on}${i}${cur} ; done
	  echo "activating speed 5."
      fi
fi      


## An extra way to detect the actual fan speed to prevent the script from writing each time
## the same values, so it is like a lock
declare -a cf

# Reading the current fan speeds from "/sys/class/thermal/cooling_device$i/cur_state
for i in {0..15} ; do 
  t=`cat ${on}$i${cur}`
  cf[$i]=$t
done

## Deciding which speed is used
  if [[ ${cf[2]} = '1' && ${cf[8]} = '1' ]] ; then
      for i in {0..2} ; do echo 0 > ${on}${i}${cur} ; done
      echo 0 > ${on}8${cur}
      echo "sleep problem is ok!"
      fi
  
  if [[ ${cf[7]} && ${cf[14]} = '1' && ${cf[6]} && ${cf[5]} && ${cf[4]} && ${cf[3]} && ${cf[13]} && ${cf[12]} && ${cf[11]} && ${cf[10]} = '0' ]] ; then
      sp1=1
      else
      sp1=0
      fi

  if [[ ${cf[7]} && ${cf[6]} && ${cf[14]} && ${cf[13]} = '1' && ${cf[5]} && ${cf[4]} && ${cf[3]} && ${cf[12]} && ${cf[11]} && ${cf[10]} = '0' ]] ; then
      sp2=1
      else
      sp2=0
      fi
  if [[ ${cf[7]} && ${cf[6]} && ${cf[5]} && ${cf[14]} && ${cf[13]} && ${cf[12]} = '1' && ${cf[4]} && ${cf[3]} && ${cf[11]} && ${cf[10]} = '0' ]] ; then
      sp3=1
      else
      sp3=0
      fi
  if [[ ${cf[7]} && ${cf[6]} && ${cf[5]} && ${cf[4]} && ${cf[14]} && ${cf[13]} && ${cf[12]} && ${cf[11]} = '1' && ${cf[3]} && ${cf[10]} = '0' ]] ; then
      sp4=1
      else
      sp4=0
      fi
  if [[ ${cf[7]} && ${cf[6]} && ${cf[5]} && ${cf[4]} && ${cf[3]} && ${cf[14]} && ${cf[13]} && ${cf[12]} && ${cf[11]} && ${cf[10]} = '1' ]] ; then
      sp5=1
      else
      sp5=0
      fi
done

Offline

#7 2015-03-22 14:46:53

reatlat
Member
Registered: 2015-03-22
Posts: 3

Re: controlling cpu fan on hp 620

fuhrer wrote:

hi!

actually, a month ago a wrote a small script that control the fans in real time and after resume the suspend. and i forgot to post it. so this is it down there...

Hi,
sometimes your script does not work
and writes the following items:

sudo ./fancontrol.sh
[sudo] password for reatlat: 
./fancontrol.sh: line 27: 6/cur_state: No such file or directory
./fancontrol.sh: line 27: 5/cur_state: No such file or directory
./fancontrol.sh: line 27: 4/cur_state: No such file or directory
./fancontrol.sh: line 27: 3/cur_state: No such file or directory
./fancontrol.sh: line 27: 13/cur_state: No such file or directory
./fancontrol.sh: line 27: 12/cur_state: No such file or directory
./fancontrol.sh: line 27: 11/cur_state: No such file or directory
./fancontrol.sh: line 27: 10/cur_state: No such file or directory
activating speed 1.

and sometimes he refuses to work properly after sleep mode ...
There are considerations about this?

Thanks for your script!

Offline

#8 2015-03-22 15:21:53

fuhrer
Member
Registered: 2013-07-03
Posts: 36

Re: controlling cpu fan on hp 620

hi !

try replacing each on of these

${on}${i}${cur}

with this

'${on}${i}${cur}'

Offline

#9 2015-03-24 13:43:53

reatlat
Member
Registered: 2015-03-22
Posts: 3

Re: controlling cpu fan on hp 620

fuhrer wrote:

hi !

try replacing each on of these

${on}${i}${cur}

this code works

fuhrer wrote:

with this

'${on}${i}${cur}'

this not work...

after setting the fan power in the BIOS, the script began to work correctly smile


have one question, I'm on Arch Linux only 3 days before that for a long time used debian/ubuntu where to place the script to autorun?

~/.config/openbox/autostart  ?

Offline

#10 2015-03-24 19:06:13

fuhrer
Member
Registered: 2013-07-03
Posts: 36

Re: controlling cpu fan on hp 620

i suggest using "systemd" to make it start automatically, thus u can find how to do it here

https://wiki.archlinux.org/index.php/sy … unit_files

Offline

#11 2015-03-26 15:19:52

reatlat
Member
Registered: 2015-03-22
Posts: 3

Re: controlling cpu fan on hp 620

@fuhrer, thanks a lot smile

Offline

Board footer

Powered by FluxBB