You are not logged in.
Pages: 1
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
# pwmconfigbut it says this
/usr/bin/pwmconfig: There are no pwm-capable sensor modules installedalso i tried to add the following to the kernel parameters
acpi_enforce_resources=laxand
acpi=forcewhen 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
I guess you already checked that no dust collected inside the machine? This may significantly reduce fan speed and efficiency.
Offline
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
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
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_utilsit 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
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
doneOffline
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
hi !
try replacing each on of these
${on}${i}${cur}with this
'${on}${i}${cur}'Offline
hi !
try replacing each on of these
${on}${i}${cur}
this code works
with this
'${on}${i}${cur}'
this not work...
after setting the fan power in the BIOS, the script began to work correctly ![]()
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
i suggest using "systemd" to make it start automatically, thus u can find how to do it here
Offline
@fuhrer, thanks a lot ![]()
Offline
Pages: 1