#!/bin/sh # # /usr/local/sbin/freq # simple command line interface to cpufreq # # Michael Ossmann # Original work # Jean Delvare # ACPI support # # TODO: SMP support if [ ! -r /proc/sys/cpu/0/speed ] then echo "Missing cpufreq support." exit 1 fi [ -n "$1" ] && case "$1" in "min" ) # set frequency to minimum cat /proc/sys/cpu/0/speed-min > /proc/sys/cpu/0/speed echo "CPU 0 frequency set to $(cat /proc/sys/cpu/0/speed) MHz." exit 0 ;; "max" ) # set frequency to maximum cat /proc/sys/cpu/0/speed-max > /proc/sys/cpu/0/speed echo "CPU 0 frequency set to $(cat /proc/sys/cpu/0/speed) MHz." exit 0 ;; "acpi" ) # use ACPI to choose frequency if [ ! -r /proc/acpi/ac_adapter/*/state ] then echo "Missing ACPI support." exit 1 fi if grep 'off-line' /proc/acpi/ac_adapter/*/state > /dev/null then cat /proc/sys/cpu/0/speed-min > /proc/sys/cpu/0/speed else cat /proc/sys/cpu/0/speed-max > /proc/sys/cpu/0/speed fi echo "CPU 0 frequency set to $(cat /proc/sys/cpu/0/speed) MHz." exit 0 ;; * ) echo "Usage: $0 [min|max|acpi]" echo " min set frequency to minimum" echo " max set frequency to maximum" echo " acpi use ACPI to choose frequency" echo " default display current frequency" exit 1 ;; esac # display current frequency echo "CPU 0 frequency is $(cat /proc/sys/cpu/0/speed) MHz."