Fans and Temperature
Controlling the fan behavior is pretty strightforward:
[fan_control] speed = -1 min_fans = 1
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.
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 an effort 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.
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. You can fine-tune those values using the tempctrlset API command.
Do not change temperature configuration, unless you are confident that the values you put in are correct for your miner model and environment. A bad target temperature could result in loss of performance due to overtemp, or even frying your board.
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_thresholdbetween readings, the reading is considered "unreliable", and count as an error.
Also related to the temperature, are the ATM settings:
[temp_control.atm] enabled = false startup_minutes = 15 post_ramp_minutes = 15 temp_window = 10 min_profile = "" max_profile = "default"
ATM is the Automatic Temperature Management feature from LUXminer, which allows your miner to automatically change to an overclocking or underclocking profile depending on temperature thresholds. This feature is disabled by default, and you can change it with the atmset command.