Changeset 5327

Show
Ignore:
Timestamp:
09/09/08 14:14:28 (6 years ago)
Author:
khali
Message:

Determine MINSTOP automatically.

Location:
lm-sensors/branches/lm-sensors-3.0.0
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/branches/lm-sensors-3.0.0/CHANGES

    r5326 r5327  
    1111             Print the revision and date at start-up 
    1212             Detect and report obviously incorrect fan speeds 
     13             Determine MINSTOP automatically 
    1314  sensors-detect: Add Intel SCH (bus) support 
    1415                  Add SMSC EMC6D103 support 
  • lm-sensors/branches/lm-sensors-3.0.0/prog/pwm/pwmconfig

    r5326 r5327  
    616616} 
    617617 
     618# $1 = fan input to read the fan speed from 
    618619function TestMinStop() 
    619620{ 
     621        local faninput=$1 
     622        local threshold=100000 
     623        local fanspeed 
     624 
    620625        echo 
    621626        echo 'Now we decrease the PWM value to figure out the lowest usable value.' 
    622         echo 'Press return as long as the fan spins. When the fan stops spinning,' 
    623         echo "enter 'y'. We will use a slightly greater value as the minimum speed." 
    624         let fanok=0 
     627        echo 'We will use a slightly greater value as the minimum speed.' 
    625628        let fanval=$MAX 
    626629 
    627630        pwmenable $pwms 
    628         until [ "$fanok" = "1" ] 
     631        while [ $fanval -ge 0 ] 
    629632        do 
     633                pwmset $pwms $fanval 
     634                sleep $PDELAY 
     635                fanspeed=`cat $faninput | cut -d' ' -f2` 
     636                if [ $fanspeed -gt $threshold ] 
     637                then 
     638                        echo "    PWM $fanval -> $fanspeed RPM (probably incorrect)" 
     639                        break 
     640                else 
     641                        echo "    PWM $fanval -> $fanspeed RPM" 
     642                        if [ $fanspeed = "0" -o $fanspeed = "-1" ] 
     643                        then 
     644                                break 
     645                        fi 
     646                        let threshold=fanspeed*6/5 
     647                fi 
    630648                if [ $fanval -lt $STEP2_BELOW ] 
    631649                then 
     
    634652                        let fanval=$fanval-$STEP 
    635653                fi 
    636                 if [ $fanval -lt 0 ] ; then let fanval=0 ; let fanok=1 ; fi 
    637                 echo -n "Setting $pwms to $fanval..." 
    638                 pwmset $pwms $fanval 
    639                 read FANTEST 
    640                 if [ "$FANTEST" != "" ] ; then let fanok=1 ; fi 
    641654        done 
    642655        pwmdisable $pwms 
     
    798811                        if [ "$XMSTOP" = "t" -o "$XMSTOP" = "T" ] 
    799812                        then 
    800                                 TestMinStop 
     813                                TestMinStop $FAN 
    801814                                XMSTOP=$fanval 
    802815                        fi