#!/bin/sh BASE_PATH=/sys/class/gpio # GPIO pins SATA0=26 SATA1=25 CPU_FAN=12 # Values LOW=0 HIGH=1 export_pin() { if [ ! -e $BASE_PATH/gpio"$1" ]; then echo "$1" >$BASE_PATH/export fi } unexport_pin() { if [ -e $BASE_PATH/gpio"$1" ]; then echo "$1" >$BASE_PATH/unexport fi } set_mode() { export_pin "$1" echo "out" >$BASE_PATH/gpio"$1"/direction echo "$2" >$BASE_PATH/gpio"$1"/value if [ "$3" = "clean" ]; then unexport_pin "$1" fi } turn_on() { set_mode $SATA0 $HIGH sleep 1 set_mode $SATA1 $HIGH set_mode $CPU_FAN $LOW } turn_off() { set_mode $SATA0 $LOW clean set_mode $SATA1 $LOW clean set_mode $CPU_FAN $LOW clean } trap turn_off INT if [ "$1" = "on" ]; then turn_on else turn_off fi exit 0