Note :-- In these examples i have not been able to control fan speed only fan on and off operation by temperature.
Note:-- In these examples i have not been able to turn fans on or off.
Note:-- In these example we are selecting which fan to operate in a certain temperature situation only.
Note :-- to achieve the above , namely a fan must be disconeccted from the system. We will tell the Mikrotik to select the "Unconnected" Fan when temperature is low and tell the Mikrotik to use the "Connected" Fan when temperature reaches a predetermined level.
Note:-- This is obviously only possible in cool enviroments wher the fans would not be contantly utilised.
Note:-- In these examples we are comparing standard settings on an RB1100AH which has no fans fitted by factory and an RB1100AHx2 which has two fans contantly running at various speeds and there respective operating temperatures. Obviously not everyone has the ability to test two devices and compare settings, temps etc. However the temperature values can be used as a basis for your enviroment and from this you can decide either to use the scripts if usefull or not.
Lets start.
Note:-- Temperatures are Degrees Celcius!
We have an RB1100AH in a server room which has been in service for over four years. This Tik reports a temperaure is 30 degrees C and reports a cpu- temp of 39 degrees C.
We also run an RB110AHx2 which has been in this server room for over one year and this Tik reports an overall temp of 34 C and a cpu-temp of 42 in normal operation with constant fan assistance.
If i turn off the fans the running temp stays around 50 to 52 degrees C . When there is load and many users accessing the devices network , the temp can raise above 55 hence the fan control comes back into play.
With the scripts below we control our Tiks below 55c .
Step 1:- Create a script and name it Fan1.
:if ([/system health get cpu-temperature]> 60) do={
[/system health set use-fan="main"
/system health set fan-mode="auto"]
}
:if ([/system health get cpu-temperature]> 70) do={
[/system health set use-fan="main"
/system health set fan-mode="manual"]
}
if ([/system health get cpu-temperature]< 46) do={
[/system health set use-fan="auxiliary"
/system health set fan-mode="manual"]
}
Step2:- Create a script and name it Fan 2
:if ([/system health get cpu-temperature]< 50) do={
[/system health set fan-mode="manual"]
}
Step 3:-- Create a script and name it Fan3
:if ([/system health get cpu-temperature]< 45) do={
[/system health set use-fan="auxiliary"]
/system health set fan-mode="manual"]
}
Step4:-- Create a script and name it Fan4
:if ([/system health get cpu-temperature]> 54) do={
[/system health set use-fan="main"
/system health set fan-mode="auto"]
}
:if ([/system health get cpu-temperature]> 70) do={
[/system health set use-fan="main"
/system health set fan-mode="manual"]
}
if ([/system health get cpu-temperature]< 46) do={
[/system health set use-fan="auxiliary"
/system health set fan-mode="manual"]
}
Step 5:-- Create a schedule for each of the scripts. Create Schedule named Fan 1 With the data of Fan1, Fan 2 Fan2, Fan 3 Fan3, Fan 4 Fan4. The scheule respectively run the script.
Now the interesting part. you see that if the temperature is above 54 degrees the system will activate Auto Mode and the main Fan. If it is less than 46 degrees the script sets the Manual setting and chooses the Auxillary fan.
Again to explain further there is no fan activated when the Auxillary fan is selected, WHY? because the Auxillary fan has been disconnetec from the motherboard. Therefore only the main fan works, and if the temp is low there is no fan in operation. Problem solved allbeit with a workaround.