I have a NEC server.
Model Express5800/T120d [N8100-1957F]
Chipset Intel C602
This server has very loud fans: I hear them at the next floor, all doors closed.
I can read cooling fans speed, but I found no way to change it.
Nothing into the BIOS to change fan speed, Linux detect nothing valuable into /sys/class/hwmon/ (no pwm entries), lmsensors find nothing, no Windows driver, and no Windows utility found anything.
The fans are PWM. I tested them into another computer and I can do whatever I want with the speed. For example using echo 50 > /sys/class/hwmon/hwmon2/device/pwm1
The NEC motherboard has the ability to change fans speed because the speed change during different phases of boot.
I hope I can drive the fans using IPMI.
IPMI allow to get fans informations:
ipmitool sdr
and ipmitool sensor
:
[...]
FAN1 | 8210.18 RPM | ok
FAN2 | 933.71 RPM | nc
FAN3 | 933.71 RPM | nc
FAN4 | no reading | ns
[...]
ipmitool sdr get FAN1
and ipmitool sensor get FAN1
:
Sensor ID : FAN1 (0x50)
Entity ID : 7.1 (System Board)
Sensor Type (Threshold) : Fan (0x04)
Sensor Reading : 8210.181 (+/- inf) RPM
Status : ok
Nominal Reading : 2532.928
Normal Minimum : 2976.190
Normal Maximum : 1392.370
Upper non-critical : 960.061
Positive Hysteresis : 238095.238
Negative Hysteresis : Unspecified
Minimum sensor range : 238095.238
Maximum sensor range : Unspecified
Event Message Control : Entire Sensor Only
Readable Thresholds : unc
Settable Thresholds : unc
Threshold Read Mask : unc
Assertion Events :
Assertions Enabled : unc+
Deassertions Enabled : unc+
Reading is ok, but I don't know how to use IPMI to change fans speed.
I found some people doing it with a Dell server:
# manual fan control
ipmitool raw "0x30 0x30 0x01 0x00"
# set fan level
ipmitool raw "0x30 0x30 0x02 0xff " + hex(fan_level)
But I don't know how to find the correct values for my NEC server.
--> the question is: how can I modify cooling fans speed using IPMI for my NEC server?