Purpose:
It was customized to the fan table. The speed of system fans will be adjusted according to processor temperature sensors “CPU0-TMP“/"CPU1-TMP"/"NVIDIA-TMP" readings to control the processor area cooling.
# ipmitool sdr elist | grep -i 'cpu\|NVIDIA'
CPU0_PRSNT | 0Ah | ok | 3.0 | Device Present
CPU1_PRSNT | 0Bh | ok | 3.0 | Device Present
CPU0-TMP | 40h | ok | 3.0 | 71 degrees C
CPU1-TMP | 41h | unc| 3.0 | 85 degrees C
NVIDIA_1-TMP | 8Eh | ok | 11.0 | 34 degrees C
NVIDIA_2-TMP | 8Fh | ok | 11.1 | 35 degrees C
This platform supports smart fan function based on CPU & GPU PCIe card temperature
Target Audience:
SKY/FWA series servers with Advantech BMC code-based firmware, and the server that runs the firmware is capable of supporting this feature.
(please find your Advantech contact for checking whether your firmware supports it or not)
Instruction:
1. Based on the following BMC version number demonstration
2. The AST26xx includes a pulse-width modulation (PWM) controller with up to 16 PWM output
pins and a fan tachometer controller with support for up to 16 tachometer input pins.
There are 4 Fans to PWM on SKY-820v3.
3. The speed of system fans will be adjusted according to the two processor temperature sensors “CPU0-TMP“ and “CPU1-TMP“ readings and four NVIDIA GPU temperature sensors “NVIDIA_1-TMP”, “NVIDIA_2-TMP”, “NVIDIA_3-TMP” and “NVIDIA_4-TMP” readings to control the processor area cooling. Furthermore, the default fan table will ensure the correct system temperature(s).
4. The updated values of the customized FAN Curve Table are below.
Convert 80 (Decimal) to 50 (Hexadecimal) and so on
Step:
CPU Temperature:
1. Get the value of CPU0 temperature through the IPMI command (Current temperature as to Instruction - item 3)
CPU TEMP table range ID from 0 ~ 1, Totally is 2, stand for “CPU0”, “CPU1”
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x10 0x00
39 28 00 32 3c 46 50 55 57
2. Get the value of CPU1 temperature through the IPMI command, if a Dual CPU is used
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x10 0x01
39 28 00 32 3c 46 50 55 57
3. Get the value of GPU2 temperature through the IPMI command, if GPU is used
GPU TEMP table range ID from 2 ~ 5 , Totally is 4 , stand for “NVIDIA_1-TMP”, “NVIDIA_2-TMP”, “NVIDIA_3-TMP” and “NVIDIA_4-TMP"
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x10 0x02
39 28 00 28 32 3c 46 4b 4e
4. Get the value of GPU3 temperature through the IPMI command, if GPU is used
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x10 0x03
39 28 00 28 32 3c 46 4b 4e
5. Get the value of GPU4 temperature through the IPMI command, if GPU is used
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x10 0x04
39 28 00 28 32 3c 46 4b 4e
6. Get the value of GPU5 temperature through the IPMI command, if GPU is used
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x10 0x05
39 28 00 28 32 3c 46 4b 4e
7. Set the value of CPU0 temperature through the IPMI command (Customized temperature as to Instruction - item 4)
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x11 0x00 0x50 0x52 0x54 0x56 0x58 0x5a
39 28 00
8. Set the value of CPU1 temperature through the IPMI command, if a Dual CPU is used
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x11 0x01 0x50 0x52 0x54 0x56 0x58 0x5a
39 28 00
9. Set the value of GPU2 temperature through the IPMI command, if GPU is used (Customized temperature as to Instruction - item 4)
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x11 0x02 0x50 0x52 0x54 0x56 0x58 0x5a
39 28 00
10. Set the value of GPU3 temperature through the IPMI command, if GPU is used
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x11 0x03 0x50 0x52 0x54 0x56 0x58 0x5a
39 28 00
10. Set the value of GPU4 temperature through the IPMI command, if GPU is used
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x11 0x04 0x50 0x52 0x54 0x56 0x58 0x5a
39 28 00
11. Set the value of GPU5 temperature through the IPMI command, if GPU is used
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x11 0x05 0x50 0x52 0x54 0x56 0x58 0x5a
39 28 00
FAN Duty:
CPU and GPU temperature controlled by FAN1 ~ FAN4, one FAN Duty Table only
HEX (14) --> DEC (20)
HEX (1e) --> DEC (30)
HEX (2d) --> DEC (45)
HEX (41) --> DEC (65)
HEX (50) --> DEC (80)
HEX (64) --> DEC (100)
1. Get the value of FAN zone1 PWM channel 0 duty through the IPMI command (Current temperature as to Instruction - item 3)
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x12 0x00
39 28 00 14 1e 2d 41 50 64
2. Get the value of FAN zone1 PWM channel 1 duty through the IPMI command
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x12 0x01
39 28 00 14 1e 2d 41 50 64
3. Get the value of FAN zone1 PWM channel 2 duty through the IPMI command
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x12 0x02
39 28 00 14 1e 2d 41 50 64
4. Get the value of FAN zone1 PWM channel 3 duty through the IPMI command
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x12 0x03
39 28 00 14 1e 2d 41 50 64
5. Set the value of FAN zone1 PWM channel 0 temperature through the IPMI command (Current temperature as to Instruction - item 4)
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x13 0x00 0x14 0x1e 0x2d 0x41 0x50 0x64
39 28 00
6. Set the value of FAN zone1 PWM channel 1 temperature through the IPMI command
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x13 0x01 0x14 0x1e 0x2d 0x41 0x50 0x64
39 28 00
7. Set the value of FAN zone1 PWM channel 2 temperature through the IPMI command
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x13 0x02 0x14 0x1e 0x2d 0x41 0x50 0x64
39 28 00
8. Set the value of FAN zone1 PWM channel 3 temperature through the IPMI command
# ipmitool raw 0x2e 0xa4 0x39 0x28 0x00 0x13 0x03 0x14 0x1e 0x2d 0x41 0x50 0x64
39 28 00
Rollback:
Restore the FAN Table to Default Settings, and recheck with previous commands.
# ipmitool raw 0x2e 0xf2 0x39 0x28 0x00
39 28 00
Comments
0 comments
Please sign in to leave a comment.