Script controla fan - decimal/hexadecinal

Link: https://forum.proxmox.com/threads/ipmi-tool-error-after-v8-upgrade.129334/page-2
Bash:
#!/bin/bash
# Fancontrol v1.1 2022-09-15 15:42
# Define variables
MAX_FAN=90
MIN_FAN=20
HIGH_TEMP=37
LOW_TEMP=35
SPEED_STEP=10
IDRAC_IP=10.0.0.1
IPMI_USER=fancontrol
IPMI_PASSWORD=yoursupercomplexpassword
# Define Functions
ENABLE_FAN ()
{
 ipmitool -I lanplus -H $IDRAC_IP -U $IPMI_USER -P $IPMI_PASSWORD raw 0x30 0x30 0x01 0x00 > /dev/null 2>&1
}
GET_TEMP ()
{
 ipmitool -I lanplus -H $IDRAC_IP -U $IPMI_USER -P $IPMI_PASSWORD  sensor reading "Exhaust Temp"|sed 's/[^0-9]//g'
}
SET_FAN ()
{
 ipmitool -I lanplus -H $IDRAC_IP -U $IPMI_USER -P $IPMI_PASSWORD raw 0x30 0x30 0x02 0xff $FAN_SETTING > /dev/null 2>&1
}
# File to save the last fan speed
 [ -f fan_speed.last ] || echo $MIN_FAN > fan_speed.last
FAN_SPEED=$(<fan_speed.last)
#-----------------------------------------------------------------------------------------
CURRENT_TEMP=$(GET_TEMP)                # get the current temperature
 if (($CURRENT_TEMP > $HIGH_TEMP)) ; then
    FAN_SPEED=$(expr $FAN_SPEED + $SPEED_STEP)
     if (($FAN_SPEED > $MAX_FAN)) ; then
                FAN_SPEED=$MAX_FAN
        fi
 fi
 if (($CURRENT_TEMP < $LOW_TEMP)) ; then
     FAN_SPEED=$(expr $FAN_SPEED - $SPEED_STEP)
     if (($FAN_SPEED < $MIN_FAN)) ; then
         FAN_SPEED=$MIN_FAN
     fi
 fi
FAN_SETTING=$(printf "0x"'%x\n' $FAN_SPEED)
ENABLE_FAN
SET_FAN
logger -t FanControl "Current Temperature" $CURRENT_TEMP"C" "Fans at" $FAN_SPEED"%"
echo $FAN_SPEED > fan_speed.last
exit 0
Informações adicionais:
Launch a command prompt on the server and navigate to the directory above. Then run the following commands, substituting the ip address (-H), username (-U), and password (-P) of your iDRAC:
To enable remote fan control: ipmitool -I lanplus -H 192.168.1.240 -U root -P calvin raw 0x30 0x30 0x01 0x00
To set the fan to 20%: ipmitool -I lanplus -H 192.168.1.240 -U root -P calvin raw 0x30 0x30 0x02 0xff 0x14
To set the fan to 25%: ipmitool -I lanplus -H 192.168.1.240 -U root -P calvin raw 0x30 0x30 0x02 0xff 0x19
To set the fan to 30%: ipmitool -I lanplus -H 192.168.1.240 -U root -P calvin raw 0x30 0x30 0x02 0xff 0x1e
To set the fan to 35%: ipmitool -I lanplus -H 192.168.1.240 -U root -P calvin raw 0x30 0x30 0x02 0xff 0x23
To set the fan to 40%: ipmitool -I lanplus -H 192.168.1.240 -U root -P calvin raw 0x30 0x30 0x02 0xff 0x28
To set the fan to 45%: ipmitool -I lanplus -H 192.168.1.240 -U root -P calvin raw 0x30 0x30 0x02 0xff 0x2D
To set the fan to 50%: ipmitool -I lanplus -H 192.168.1.240 -U root -P calvin raw 0x30 0x30 0x02 0xff 0x32
TABELA CONVERSÃO DECIMAL PARA HEXADECIMAL
Decimal-hexadecimal-binary conversion table
Dec
Hex
Bin
 
Dec
Hex
Bin
 
Dec
Hex
Bin
 
Dec
Hex
Bin
0
0
00000000
 
64
40
01000000
 
128
80
10000000
 
192
c0
11000000
1
1
00000001
 
65
41
01000001
 
129
81
10000001
 
193
c1
11000001
2
2
00000010
 
66
42
01000010
 
130
82
10000010
 
194
c2
11000010
3
3
00000011
 
67
43
01000011
 
131
83
10000011
 
195
c3
11000011
4
4
00000100
 
68
44
01000100
 
132
84
10000100
 
196
c4
11000100
5
5
00000101
 
69
45
01000101
 
133
85
10000101
 
197
c5
11000101
6
6
00000110
 
70
46
01000110
 
134
86
10000110
 
198
c6
11000110
7
7
00000111
 
71
47
01000111
 
135
87
10000111
 
199
c7
11000111
8
8
00001000
 
72
48
01001000
 
136
88
10001000
 
200
c8
11001000
9
9
00001001
 
73
49
01001001
 
137
89
10001001
 
201
c9
11001001
10
a
00001010
 
74
4a
01001010
 
138
8a
10001010
 
202
ca
11001010
11
b
00001011
 
75
4b
01001011
 
139
8b
10001011
 
203
cb
11001011
12
c
00001100
 
76
4c
01001100
 
140
8c
10001100
 
204
cc
11001100
13
d
00001101
 
77
4d
01001101
 
141
8d
10001101
 
205
cd
11001101
14
e
00001110
 
78
4e
01001110
 
142
8e
10001110
 
206
ce
11001110
15
f
00001111
 
79
4f
01001111
 
143
8f
10001111
 
207
cf
11001111
16
10
00010000
 
80
50
01010000
 
144
90
10010000
 
208
d0
11010000
17
11
00010001
 
81
51
01010001
 
145
91
10010001
 
209
d1
11010001
18
12
00010010
 
82
52
01010010
 
146
92
10010010
 
210
d2
11010010
19
13
00010011
 
83
53
01010011
 
147
93
10010011
 
211
d3
11010011
20
14
00010100
 
84
54
01010100
 
148
94
10010100
 
212
d4
11010100
21
15
00010101
 
85
55
01010101
 
149
95
10010101
 
213
d5
11010101
22
16
00010110
 
86
56
01010110
 
150
96
10010110
 
214
d6
11010110
23
17
00010111
 
87
57
01010111
 
151
97
10010111
 
215
d7
11010111
24
18
00011000
 
88
58
01011000
 
152
98
10011000
 
216
d8
11011000
25
19
00011001
 
89
59
01011001
 
153
99
10011001
 
217
d9
11011001
26
1a
00011010
 
90
5a
01011010
 
154
9a
10011010
 
218
da
11011010
27
1b
00011011
 
91
5b
01011011
 
155
9b
10011011
 
219
db
11011011
28
1c
00011100
 
92
5c
01011100
 
156
9c
10011100
 
220
dc
11011100
29
1d
00011101
 
93
5d
01011101
 
157
9d
10011101
 
221
dd
11011101
30
1e
00011110
 
94
5e
01011110
 
158
9e
10011110
 
222
de
11011110
31
1f
00011111
 
95
5f
01011111
 
159
9f
10011111
 
223
df
11011111
32
20
00100000
 
96
60
01100000
 
160
a0
10100000
 
224
e0
11100000
33
21
00100001
 
97
61
01100001
 
161
a1
10100001
 
225
e1
11100001
34
22
00100010
 
98
62
01100010
 
162
a2
10100010
 
226
e2
11100010
35
23
00100011
 
99
63
01100011
 
163
a3
10100011
 
227
e3
11100011
36
24
00100100
 
100
64
01100100
 
164
a4
10100100
 
228
e4
11100100
37
25
00100101
 
101
65
01100101
 
165
a5
10100101
 
229
e5
11100101
38
26
00100110
 
102
66
01100110
 
166
a6
10100110
 
230
e6
11100110
39
27
00100111
 
103
67
01100111
 
167
a7
10100111
 
231
e7
11100111
40
28
00101000
 
104
68
01101000
 
168
a8
10101000
 
232
e8
11101000
41
29
00101001
 
105
69
01101001
 
169
a9
10101001
 
233
e9
11101001
42
2a
00101010
 
106
6a
01101010
 
170
aa
10101010
 
234
ea
11101010
43
2b
00101011
 
107
6b
01101011
 
171
ab
10101011
 
235
eb
11101011
44
2c
00101100
 
108
6c
01101100
 
172
ac
10101100
 
236
ec
11101100
45
2d
00101101
 
109
6d
01101101
 
173
ad
10101101
 
237
ed
11101101
46
2e
00101110
 
110
6e
01101110
 
174
ae
10101110
 
238
ee
11101110
47
2f
00101111
 
111
6f
01101111
 
175
af
10101111
 
239
ef
11101111
48
30
00110000
 
112
70
01110000
 
176
b0
10110000
 
240
f0
11110000
49
31
00110001
 
113
71
01110001
 
177
b1
10110001
 
241
f1
11110001
50
32
00110010
 
114
72
01110010
 
178
b2
10110010
 
242
f2
11110010
51
33
00110011
 
115
73
01110011
 
179
b3
10110011
 
243
f3
11110011
52
34
00110100
 
116
74
01110100
 
180
b4
10110100
 
244
f4
11110100
53
35
00110101
 
117
75
01110101
 
181
b5
10110101
 
245
f5
11110101
54
36
00110110
 
118
76
01110110
 
182
b6
10110110
 
246
f6
11110110
55
37
00110111
 
119
77
01110111
 
183
b7
10110111
 
247
f7
11110111
56
38
00111000
 
120
78
01111000
 
184
b8
10111000
 
248
f8
11111000
57
39
00111001
 
121
79
01111001
 
185
b9
10111001
 
249
f9
11111001
58
3a
00111010
 
122
7a
01111010
 
186
ba
10111010
 
250
fa
11111010
59
3b
00111011
 
123
7b
01111011
 
187
bb
10111011
 
251
fb
11111011
60
3c
00111100
 
124
7c
01111100
 
188
bc
10111100
 
252
fc
11111100
61
3d
00111101
 
125
7d
01111101
 
189
bd
10111101
 
253
fd
11111101
62
3e
00111110
 
126
7e
01111110
 
190
be
10111110
 
254
fe
11111110
63
3f
00111111
 
127
7f
01111111
 
191
bf
10111111
 
255
ff
11111111