Compare commits
2 Commits
95c593c9eb
...
139a79c36b
Author | SHA1 | Date |
---|---|---|
coolneng | 139a79c36b | |
coolneng | e4c08419bd |
|
@ -42,9 +42,10 @@ 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" ];
|
before = [ "zfs-import.target" "zfs-import-vault.service" "umount.target" ];
|
||||||
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
|
||||||
|
|
|
@ -1,56 +1,60 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
BASE_PATH=/sys/class/gpio
|
BASE_PATH=/sys/class
|
||||||
|
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 $BASE_PATH/gpio"$1" ]; then
|
if [ ! -e $GPIO_PATH/gpio"$1" ]; then
|
||||||
echo "$1" >$BASE_PATH/export
|
echo "$1" >$GPIO_PATH/export
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
unexport_pin() {
|
unexport_pin() {
|
||||||
if [ -e $BASE_PATH/gpio"$1" ]; then
|
if [ -e $GPIO_PATH/gpio"$1" ]; then
|
||||||
echo "$1" >$BASE_PATH/unexport
|
echo "$1" >$GPIO_PATH/unexport
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
set_mode() {
|
set_mode() {
|
||||||
export_pin "$1"
|
export_pin "$1"
|
||||||
echo "out" >$BASE_PATH/gpio"$1"/direction
|
echo "out" >$GPIO_PATH/gpio"$1"/direction
|
||||||
echo "$2" >$BASE_PATH/gpio"$1"/value
|
echo "$2" >$GPIO_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 $LOW
|
set_mode $CPU_FAN $HIGH
|
||||||
}
|
}
|
||||||
|
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue