blob: 8fb5dbcf61d2b3c77b6738966975443edf4e3c61 (
plain) (
tree)
|
|
#!/bin/sh
#
# | _
# | o o | |
# | _ _ _ _ | | __, _ _
# | | |/ \_/ |/ |/ | |-----|/ / | / |/ |
# | |_/|__/ | | |_/|_/ |__/\_/|_/ | |_/
# | /| |\
# | \| |/
#
# ipmi-fan
#
# controls fan speed for servers and computers using ipmi
# only supports dell idrac 6 for now (r710 battletested)
#
# ~ rgoncalves.se
. ./ipmi.sh
. ./log.sh
usage() {
cat <<-EOF
usage: ${0} -s speed
EOF
}
log() {
echo "[${0} ] $@"
}
main() {
# parse
while getopts "s:" arg; do
case "${arg}" in
s)
speed="${OPTARG}"
;;
*)
usage
exit 1
;;
esac
done
# Check fan speed validity
if [ -z ${speed} ]; then
log "-s must be a valid fan speend"
usage
exit 1
fi
# load environment variables for IPMI
ipmi_env
# disable automatic fan control
ipmi_cmd raw 0x30 0x30 0x01 0x00
log "automatic fan control disabled"
# change fan speed
ipmi_cmd raw 0x30 0x30 0x02 0xff "0x${speed}"
log "set fan control to ${speed}"
}
main $@
|