Don't think you will be able to adjust fan speed manually.
What is done is changing the FAN thresholds. Meaning the boundaries for "normal" fan speed operations.
If your fan is spinning at spec/normal speed of say 700rpm... you don't want the BMC throwing a warning because it is under 800rpm.
Also, for those using "optimal" fan setting, this led to the fans reving up to full speed because of the threshold trigger and then down again in a loop. Very annoying... :)
This beeing a server motherboard, and so you want the monitoring and control at the IPMI/BMC... not BIOS as on the desktop motherboards.
Speaking for myself, i use low rpm fans. 1300rpm and 700rpm. And i set the fan to "standard". Don't need the adjustment.
My problem were that i got a warning because the FAN Low_noncritical threshold (800rpm) got triggered because of the 700rpm fan.
I've read this thread several times and looked into the IPMIUTIL tool. I must be dense because I'm still not understanding if this is a safe way to adjust the speed of 3-pin fans. I would hate to screw anything up on my shiny new production motherboard. I do have a tolerance for complex, clear instructions executed carefully. My supermicro 933T chassis screams like a banshee with the midship fans plugged into the backplane and I'm exploring ways to slow it down. I also have the SM X10SL7-F.
Could anyone give the high level overview of these IPMI utilities with regards to manipulating the fans? What is the purpose of having a third party IPMI utility, why this isn't built into the BIOS, how safe it is to use these, etc.
Three-pin fans are usually not adjustable, unless you get something like an Antec "Tri-Cool," which has a separate 3-position switch. The motherboard/bios can detect the speed of a 3-pin fan, but it takes a 4-pin fan for the motherboard/bios to be able to control the fan speed.
The IPMI utilities permit remote management (and monitoring) of the system while it is running: there is no need to be at the computer and able to make changes in fan (etc.) settings only as the machine boots up.
In fact, with IPMI, the computer does not even have to have a keyboard and monitor connected: it can be rebooted, shut down, restarted remotely
I updated my IPMI Firmware. Now I can set fan speed thresholds in multiples of 100rpm rather than only of 150rpm -- but the fans now run much faster, no matter which setting I choose: 1500-1600rpm rather than 450-675rpm.
Update: Powering down completely, including cutting the power to the computer itself, and rebooting brought the fans back to the lower speeds.
Can you confirm that using the ipmitool from inside a jail doesn't cause any issues? I just installed it on a dell server, and this is the output of ipmilocate:
Code:
robing KCS device using DMIDECODE... FAILED
Probing SMIC device using DMIDECODE... FAILED
Probing BT device using DMIDECODE... FAILED
Probing SSIF device using DMIDECODE... FAILED
Probing KCS device using SMBIOS... ERROR: internal error
Probing SMIC device using SMBIOS... ERROR: internal error
Probing BT device using SMBIOS... ERROR: internal error
Probing SSIF device using SMBIOS... ERROR: internal error
Probing KCS device using ACPI... ERROR: internal error
Probing SMIC device using ACPI... ERROR: internal error
Probing BT device using ACPI... ERROR: internal error
Probing SSIF device using ACPI... ERROR: internal error
Probing KCS device using PCI... FAILED
Probing SMIC device using PCI... FAILED
Probing BT device using PCI... FAILED
Probing SSIF device using PCI... FAILED
@jyavenard : Ok so i have the same FAN issue so i installed new 9.2 portjail and installed freeipmi-1.4.5_1 in it. Thing is that it does nothing. It looks to me that it does not have access to the host system. Some commands will not throw any output. Using -h for remote connection is not quite possible since i have isolated connection from my workstation to ipmi interface.
I tried ipmi-locate but i got bunch of errors.
Code:
root@temp001:/ # ipmi-locate
Probing KCS device using DMIDECODE... done
IPMI Version: 2.0
IPMI locate driver: DMIDECODE
IPMI interface: KCS
BMC driver device:
BMC I/O base address: 0xCA2
Register spacing: 1
Probing SMIC device using DMIDECODE... FAILED
Probing BT device using DMIDECODE... FAILED
Probing SSIF device using DMIDECODE... FAILED
Probing KCS device using SMBIOS... ERROR: internal error
Probing SMIC device using SMBIOS... ERROR: internal error
Probing BT device using SMBIOS... ERROR: internal error
Probing SSIF device using SMBIOS... ERROR: internal error
Probing KCS device using ACPI... ERROR: internal error
Probing SMIC device using ACPI... ERROR: internal error
Probing BT device using ACPI... ERROR: internal error
Probing SSIF device using ACPI... ERROR: internal error
Probing KCS device using PCI... FAILED
Probing SMIC device using PCI... FAILED
Probing BT device using PCI... FAILED
Probing SSIF device using PCI... FAILED
I guess i am missing something ... Could you please elaborate with the steps? Thanks !
With whatever IPMI utility you're using (check its manual) you'll have to include the username and password, since direct access is only possible from the host system (and FreeNAS only includes very rudimentary stuff that doesn't even seem to recognize the Supermicor X10 IPMI)
Like i said, it is freeipmi 1.4.5. I checked manual and also syntax, but either getting *nothing*, or error messages that connection is not possible (which i expected).
I am able to connect via IPMI view or web interface but neither one has a way to change the low RPM thresholds for FANs. But that's from my workstation running windows which has direct connection to IPMI interface.
I also tried ipmiutil which has a windows binaries but that one will throw me an "Wrong password" error even if the login and pass is correct.
I found several posts here that some people actually changed the thresholds for X10 boards but neither one contain steps how to do that except this thread, but it is not working for me :/
Like i said, it is freeipmi 1.4.5. I checked manual and also syntax, but either getting *nothing*, or error messages that connection is not possible (which i expected).
I am able to connect via IPMI view or web interface but neither one has a way to change the low RPM thresholds for FANs. But that's from my workstation running windows which has direct connection to IPMI interface.
I also tried ipmiutil which has a windows binaries but that one will throw me an "Wrong password" error even if the login and pass is correct.
I found several posts here that some people actually changed the thresholds for X10 boards but neither one contain steps how to do that except this thread, but it is not working for me :/
Odd. I'm currently writing a Supermicro X10 FAQ which is meant to include step-by-step instruction for performing the change. I'll skip ahead a bit and finish that portion and place it in this thread.
Like i said, it is freeipmi 1.4.5. I checked manual and also syntax, but either getting *nothing*, or error messages that connection is not possible (which i expected).
I am able to connect via IPMI view or web interface but neither one has a way to change the low RPM thresholds for FANs. But that's from my workstation running windows which has direct connection to IPMI interface.
I also tried ipmiutil which has a windows binaries but that one will throw me an "Wrong password" error even if the login and pass is correct.
I found several posts here that some people actually changed the thresholds for X10 boards but neither one contain steps how to do that except this thread, but it is not working for me :/
My server's fans keep spinning up and down Fan thresholds are set to unrealistic values, how do I change them? Setting IPMI sensor thresholds
Supermicro X10 motherboards have their fans monitored by the BMC, which automatically attempts to recover stalling (of the motor, not in the aerodynamic sense) fans by spinning them up to maximum (PWM set to 100% speed). This behavior is determined by the sensor thresholds.
Supermicro X10 motherboard fan profiles are controlled via IPMI. Unfortunately, only very basic functions are exposed via its web interface and Supermicro's own IPMI utility is superbly well hidden on Supermicro's website and uses Java. The pragmatists among us would complain about Java, use the application, and move on - for some reason (*cough* Java *cough*) Supermicro application and its nice GUI do not always work properly. For this reason, third-party universal IPMI tools are needed.
I will be using IPMIUTIL.
While I will provide the necessary steps and explain some options, I recommend you read through the appropriate man page sections (included in README.txt) to learn about the various options.
Download the appropriate version for your client computer's OS and browse to the appropriate folder using the command line. The following examples are from Windows 7 x64, but the application should display identical behavior on all OSes.
My IPMIUTIL folder is C:\Users\Eric\Desktop\IPMIUTIL
Run the following command to get a list of all sensors (Append "-g fan" if you only want to see fans. Similar strings can be used for other sensor types.):
The -c option presents the results in a much friendlier format than the default format.
Replace *IP address*, *Username* and *Password* with the appropriate values for your server's IPMI.
You'll get a list like this:
Code:
ipmiutil ver 2.93
isensor: version 2.93
Opening lan connection to node 192.168.1.15 ...
Connecting to node 192.168.1.15
-- BMC version 1.42, IPMI version 2.0
ID | SDRType | Type |SNum| Name |Status| Reading
0004 | Full | Temperature | 01 | CPU Temp | OK | 37.00 C
0047 | Full | Temperature | 0b | System Temp | OK | 31.00 C
008a | Full | Temperature | 0c | Peripheral Temp | OK | 41.00 C
00cd | Full | Temperature | 0a | PCH Temp | OK | 48.00 C
0110 | Full | Temperature | 48 | VRM Temp | OK | 40.00 C
0153 | Full | Temperature | b0 | DIMMA1 Temp | Absent | 0.00 na
0196 | Full | Temperature | b1 | DIMMA2 Temp | OK | 32.00 C
01d9 | Full | Temperature | b4 | DIMMB1 Temp | Absent | 0.00 na
021c | Full | Temperature | b5 | DIMMB2 Temp | OK | 33.00 C
025f | Full | Fan | 41 | FAN1 | Absent | 0.00 na
02a2 | Full | Fan | 42 | FAN2 | Absent | 0.00 na
02e5 | Full | Fan | 43 | FAN3 | OK | 1000.00 RPM
0328 | Full | Fan | 44 | FAN4 | OK | 1000.00 RPM
036b | Full | Fan | 45 | FANA | OK | 1100.00 RPM
03ae | Full | Voltage | 20 | Vcpu | OK | 1.76 V
03f1 | Full | Voltage | 24 | VDIMM | OK | 1.45 V
0434 | Full | Voltage | 30 | 12V | OK | 12.00 V
0477 | Full | Voltage | 31 | 5VCC | OK | 4.97 V
04ba | Full | Voltage | 32 | 3.3VCC | OK | 3.34 V
04fd | Full | Voltage | 33 | VBAT | OK | 3.00 V
0540 | Full | Voltage | 35 | AVCC | OK | 3.33 V
0583 | Full | Voltage | 36 | VSB | OK | 3.28 V
05c6 | Full | Platform Securi | aa | Chassis Intru | OK | 0.00 na
ipmiutil sensor, completed successfully
Take note of the SNums for the fans you want to edit (if you don't know which fans you want to edit, I recommend you check the IPMI log in the web interface to see which fans have sensor events being asserted).
Now, calculate the lowest and highest angular velocities your fan is rated to run at (check the manufacturer's specs). For instance, my Noctua NF-F12 IndustrialPPC 3000 PWM are rated at 750RPM +-20% at the low end, so 600RPM or less is an appropriate lower threshold value.
Take note of your results and input them in the following commmand:
-n selects the appropriate sensor, using its Snum
-l sets the lower thresholds - the input is the highest value, the other, lower thresholds are one notch lower each
-h sets the higher thresholds - the input is the lowest value, the other, higher thresholds are one notch higher each
Repeat this command for all fans who thresholds you wish to change.
Please note that specifying only -l without -h or vice versa will write 0 to the non-specified threshold! This will lead to unwanted behavior.
With whatever IPMI utility you're using (check its manual) you'll have to include the username and password, since direct access is only possible from the host system (and FreeNAS only includes very rudimentary stuff that doesn't even seem to recognize the Supermicor X10 IPMI)
That piece of shit will not let me connect. I flashed IPMI firmware to latest version (just in case) and also tried to log in via ADMIN account ... still no luck, still the same error about invalid username.
Anyway after cyberjock's fix that "ipmi-sensors-config" is now working from the jail. Well, that command itself is working, but uploading new values for FAN RPM is not possible.
When i change any FAN RPM value to anything else, upload of the config will fail with a error.
Default values:
## Give valid input for sensor type = Fan; units = RPM
Lower_Non_Recoverable_Threshold 300.000000
That piece of shit will not let me connect. I flashed IPMI firmware to latest version (just in case) and also tried to log in via ADMIN account ... still no luck, still the same error about invalid username.
Anyway after cyberjock's fix that "ipmi-sensors-config" is now working from the jail. Well, that command itself is working, but uploading new values for FAN RPM is not possible.
When i change any FAN RPM value to anything else, upload of the config will fail with a error.
Default values:
Setting new value will throw an error:
Even if i try to set some higher value, like 400, it will throw the same error.
But for example CPU temperatures i can change without problems.
Right, ipmi-sensors-config is a bit stupid. Try doing it in increments of 50 until you find an acceptable value.
The problem is that IPMI doesn't encode "500" as "500", but as some lower-precision number, so not all integer values between 0 and 20k (random ceiling - never seen a 20k RPM PC fan and I hope never to hear one) are valid.
Thanks ! .... I figured out that the correct values are 0, 150, 300, 450, 600 ... i've set:
## Give valid input for sensor type = Fan; units = RPM
Lower_Non_Critical_Threshold 300.000000
## Give valid input for sensor type = Fan; units = RPM
Lower_Critical_Threshold 150.000000
## Give valid input for sensor type = Fan; units = RPM
Lower_Non_Recoverable_Threshold 0.000000
I hope that the Lower_Non_Critical will not cause the full-speed action since my Noctua is running on ~200rpm when CPU is idle.
And now i am going to my bed since its almost 3AM here ... changing one stupid thing took me like 5 hours ... /facepalm
EDIT: I can confirm that the FAN is not acting like a crazy anymore. Based on the sensors it sits on 225RPM, it is marked yellow as "Lower Non-critical".
Thanks ! .... I figured out that the correct values are 0, 150, 300, 450, 600 ... i've set:
I hope that the Lower_Non_Critical will not cause the full-speed action since my Noctua is running on ~200rpm when CPU is idle.
And now i am going to my bed since its almost 3AM here ... changing one stupid thing took me like 5 hours ... /facepalm
EDIT: I can confirm that the FAN is not acting like a crazy anymore. Based on the sensors it sits on 225RPM, it is marked yellow as "Lower Non-critical".
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.