Fans and Temperature
Fan control
Controlling the fan behavior is pretty strightforward:
[fan_control]
speed = -1
min_fans = 1
The default speed
setting lets luxminer increase or slow down the fans depending on the temperature needs. Depending on your environment, you will want a finer control, for example running in a lower speed due to noise or fixing the speed at 100
to maximize cooling.
The min_fans
let you choose what is the minimum number of fans that need to be working. If we go below this minimum, the system panics and stops, in a tentative to avoid hardware damage due to high temperatures. For aging hardware, fans sometimes go offline and then back on again shortly after, so take this into consideration when setting this parameter.
Do remember that if immersion mode is activated, those values are ignored.
Temperature control
Temperature control is divided in two parts. The first one is the definition of maximum temperature thresholds:
[temp_control]
target_temp = 80.0 # for S9 models
hot_temp = 85.0 # for S9 models
panic_temp = 90.0 # for S9 models
In this case, if the miner goes above target_temp
, the automatic fan speed handling of LUXminer jumps immediately to 100
in an effort to lower the temperatures to more reasonable defaults. Regardless of that, once the temperature of panic_temp
is reached, the board voltage is abruptly cut and the system panics to try to avoid hardware damage due to high temperatures.
The second configuration block defines how we should handle the temperature sensors:
[temp_control.sensor]
bad_average_threshold = 2
max_bad_readings = 10
min_per_board = 1
First, we use min_per_board
to define what is the minimum number of working temperature sensors required, per board. If this value is not met, the board is rebooted in an effort to make it work, but if it keeps failing, the board is shut down for good.
To determine wether a temperature sensor is good or not, we have the max_bad_readings
parameter. If we get that many bad readings in a row, we assume the sensor is "broken" and act accordingly.
But what defines a "bad" reading? A couple of possible causes:
- We couldn't identify the sensor.
- The sensor does not answer after a rather generous number of tries.
- The sensor answers, but the temperature value is erratic. This is detected by checking the average temperature, and if it goes above
bad_average_threshold
between readings, the reading is considered "unreliable", and count as an error.