Compare commits

..

No commits in common. "139a79c36b2362dd5bc730427399f0394d7c30a6" and "95c593c9eba08fb3eaa8f826317a295b7f497bc1" have entirely different histories.

2 changed files with 23 additions and 28 deletions

View File

@ -42,10 +42,9 @@ in {
${pkgs.bash}/bin/bash -c "/etc/nixos/scripts/SATA-hat.sh off" ${pkgs.bash}/bin/bash -c "/etc/nixos/scripts/SATA-hat.sh off"
''; '';
}; };
before = [ "zfs-import.target" "zfs-import-vault.service" "umount.target" ]; before = [ "zfs-import.target" "zfs-import-vault.service" ];
requires = [ "systemd-udev-settle.service" ]; requires = [ "systemd-udev-settle.service" ];
after = [ "systemd-udev-settle.service" ]; after = [ "systemd-udev-settle.service" ];
conflicts = [ "umount.target" ];
}; };
# HACK: restart services dependent on ZFS afer mount # HACK: restart services dependent on ZFS afer mount

View File

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