forked from sonic-net/sonic-buildimage
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathset-fan-speed
More file actions
executable file
·58 lines (48 loc) · 1.5 KB
/
Copy pathset-fan-speed
File metadata and controls
executable file
·58 lines (48 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/bash
# Usage:
# Set all fans speed to $1
usage() {
echo "This script must be run with super-user privilege."
echo "Warning! Wrongly set fan speed may result in physical damage to the device."
echo ""
echo "usage: set-fan-speed speed_in_rpm"
echo "example: set-fan-speed 15000"
}
if [ $# -ne 1 ]; then
usage
exit 1
fi
PSU_FAN1=/sys/class/i2c-adapter/i2c-1/1-0058/fan1_target
PSU_FAN2=/sys/class/i2c-adapter/i2c-1/1-0059/fan1_target
# Three fan trays with each contains two separate fans
# fan1-fan4 fan2-fan5 fan3-fan6
FAN1=/sys/class/i2c-adapter/i2c-11/11-0029/fan1_target
FAN2=/sys/class/i2c-adapter/i2c-11/11-0029/fan2_target
FAN3=/sys/class/i2c-adapter/i2c-11/11-0029/fan3_target
FAN4=/sys/class/i2c-adapter/i2c-11/11-0029/fan4_target
FAN5=/sys/class/i2c-adapter/i2c-11/11-002a/fan1_target
FAN6=/sys/class/i2c-adapter/i2c-11/11-002a/fan2_target
speed=$1
logger -t platform-modules "Trying to set fan speed to $speed"
# Retry three times
for i in `seq 1 3`
do
if [ -w $FAN1 -o -w $FAN2 -o -w $FAN3 ]; then
# set default psu fan speed
echo $speed > $PSU_FAN1
echo $speed > $PSU_FAN2
# set default fan speed
echo $speed > $FAN1
echo $speed > $FAN2
echo $speed > $FAN3
echo $speed > $FAN4
echo $speed > $FAN5
echo $speed > $FAN6
logger -t platform-modules "Fan speed is set to $speed"
exit 0
fi
# Sleep for 3 seconds to wait for device tree to be ready
sleep 3
done
logger -p user.error -t platform-modules "Failed to set fan speed!"
exit 1