Help! :) Quanta D51B-2U fan control via BMC / IPMI2.0 commands?

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

tillburn

Member
Aug 23, 2020
31
26
18
Goals:

Gain fan control so I don't have to physically modify the fan type, pwm intercept/external controller.

I read that the fans are controlled in the BMC via this document here:


"64. Enable BMC debug message for Fan Control" It gives in band and out of band strings. I have no idea what this means. Can someone point me in the right direction for understanding these IPMI2.0 commands, how and where to enter them? I am guessing some kind of serial connection to the BMC?

A good physical layout of this server board is here:

Things I have looked for and where:

I have checked all over in the BMC settings, no fan or power settings to control the fans.
I have checked in the bios, and I can't find anything in there to control the fans either.

My back up plan if I can't get fan control via the BMC is to use and enlabs sata powered fan controller with pots and to jumper the sense wire of the 4 wire PWM fans so the mobo doesn't freak out by thinking no fans are spinning.

Best Regards,

Tillburn.

P.S. Yes my utility closet is conditioned to sub 70F/22C that is why I feel like I could limit those fans to sub 2k rpm and keep the system cool under a load.
 

Attachments

Jun 22, 2015
91
61
18
I posted this in the deals forum. I have tested these and the command work.
i have not tested using raw command to adjust fan curves however since I only use this for storage.
hope it helps.

For people who want to control fan speed manually here is the ipmi raw command:
ipmitool -I lanplus -H <ipmi ip address> -U admin -P <admin password> raw 0x30 0x39 0x01 0x0 0x0 0x16
Where the second to last number is the fan id. 0x0 is the first fan, 0x3 is the 4th fan etc. The last number is the duty cycle, with 0x64 the full speed.
Unlike supermicro servers, the constant fan speed will stick until power disconnect or bmc reset.
If you use this as a storage server and don't do compute intensive stuffs, it's good enough to quiet the server down.
 
  • Like
Reactions: tillburn

tillburn

Member
Aug 23, 2020
31
26
18
I posted this in the deals forum. I have tested these and the command work.
i have not tested using raw command to adjust fan curves however since I only use this for storage.
hope it helps.
Thanks Vintage!

Are you connecting to the BMC over serial? The only thing that I have tried is the web interface. If your using an IPMI tool, which one?
 
Jun 22, 2015
91
61
18
You can first connect the ipmi lan port to your lan (no need to turn on the server, just need to have ac plugged in). Then on a laptop you can install "ipmitool". For example on ubuntu do: "sudo apt install ipmitool". Then you can run the command listed below if your laptop is on the same lan as the server.
Alternatively you can install ipmitool in the operating system on the server then you run the "inband" version of the command in the document.
I have never tried bmc over serial. I think most people do ipmi over lan which is most convenient.

Thanks Vintage!

Are you connecting to the BMC over serial? The only thing that I have tried is the web interface. If your using an IPMI tool, which one?
 
  • Like
Reactions: tillburn

tillburn

Member
Aug 23, 2020
31
26
18
@BLinux FYI incase you need to limit your fan speeds :) Thanks again Vintage!

Also BLinux/AOS The replacement 3008 Mezz card saw the backplane @ SAS3 12/G. So it was a def. problem with the 3108 card and/or configuration.

Thanks for both for your help, just waiting on the 10GbE mezz card from Florida and This hypervisor will be fully operational.

Best Regards,

Tillburn
 
  • Like
Reactions: BLinux

tillburn

Member
Aug 23, 2020
31
26
18
Does anyone know how to get the BMC to take control of fans after setting manual duty?

Can also confirm, although in the manual of IPMI commands (http://www.staroceans.org/e-book/S2B IPMI Commands.pdf) it says fan control is inband only, it works just fine out of band (i.e ipmitool -H X.X.X.X -U user -P pass raw 0x30 0x39 0x01 0x0 0x0 0x20).
My understanding is a power cycle (aka unplugging or unseating) of the power supplies will refresh the bmc placing them back into their auto mode. But I have no idea how to reset them while in play.
 
Jun 22, 2015
91
61
18
Just do: ipmitool mc reset cold
It will reset bmc and the fan will go to auto mode.
You can also do out band with this.
There will be a one minute siren sound to let all your neighbors open their windows and look around but after that it's on auto mode.
 

Chielos

New Member
Dec 25, 2020
9
3
3
So.. i have a SD1Q-1ULH, does this also work for me?

These are my fans:
Fan_SYS1_1 | 43h | ok | 29.1 | 3600 RPM
Fan_SYS2_0 | 44h | ok | 29.2 | 4300 RPM
Fan_SYS2_1 | 45h | ok | 29.2 | 3500 RPM
Fan_SYS3_0 | 46h | ok | 29.3 | 4300 RPM
Fan_SYS3_1 | 47h | ok | 29.3 | 3600 RPM
Fan_SYS4_0 | 48h | ok | 29.4 | 4200 RPM
Fan_SYS4_1 | 49h | ok | 29.4 | 3500 RPM
Fan_SYS5_0 | 4Ah | ok | 29.5 | 4300 RPM
Fan_SYS5_1 | 4Bh | ok | 29.5 | 3600 RPM
Fan_SYS1_0 | 42h | ok | 29.1 | 4300 RPM
Fan_PSU2 | 58h | ok | 29.8 | 8900 RPM
Fan_PSU1 | 57h | ok | 29.7 | 6800 RPM


I want them down.

Tried
raw 0x30 0x39 0x01 0x0 0x0 0x12
raw 0x30 0x39 0x01 0x1 0x0 0x12
raw 0x30 0x39 0x01 0x2 0x0 0x12
raw 0x30 0x39 0x01 0x3 0x0 0x12
raw 0x30 0x39 0x01 0x4 0x0 0x12
raw 0x30 0x39 0x01 0x5 0x0 0x12

No errors, except 0x1 (might be Fan_SYS2_0 ?)

Do you have the same Fan Setup naming convention?
 

BigShorino

New Member
Nov 9, 2020
7
2
3
Hi Chielos,

I think you've got some of the fields mixed up. Here's an excerpt from one of my scripts:

ipmitool -H $ipmiip -U admin -P admin raw 0x30 0x39 0x01 0x0 0x0 0x$newfanhex
ipmitool -H $ipmiip -U admin -P admin raw 0x30 0x39 0x01 0x0 0x1 0x$newfanhex
ipmitool -H $ipmiip -U admin -P admin raw 0x30 0x39 0x01 0x0 0x2 0x$newfanhex
ipmitool -H $ipmiip -U admin -P admin raw 0x30 0x39 0x01 0x0 0x3 0x$newfanhex

The value before the fan pwm value (where your 0x12 is) is the fan select, at least on the D51B-2U

Also I know for the D51B-1U server the command is different, maybe it is the same for SD1Q-1ULH, your mileage may vary.

Both of these commands set fan 1 to maximum duty (bare in mind that 1u max PWM is 63 (0x3f) whereas 2u is 100 (0x64)
For example on the 1u:
raw 0x30 0x39 0x01 0x10x1 0x3f

vs the 2u:
raw 0x30 0x39 0x01 0x0 0x1 0x64

For a reference, look at http://www.staroceans.org/e-book/S2B IPMI Commands.pdf page 32

And if you want to try making some sort of script for this, this is what I use on my server: ://gist.github.com/ConorShore/a27c149c49622c7d42c6995d6e5b6cd1
 

Chielos

New Member
Dec 25, 2020
9
3
3
Just did a bmc reset cold and tried to do the first 4 fans to set at full load. No result as it seems.
 

Chielos

New Member
Dec 25, 2020
9
3
3
Tried some more.

Now i'm getting (Undefined completion code = FDh) Frin the SMCIPMITool.exe from Supermicro.

If only I know the correct addresses.
 

Fritz

Well-Known Member
Apr 6, 2015
3,372
1,375
113
69
My problem isn't the fan speeds it's the constant Wah Wah Wah Wah Wah Wah...............

Drives me nuts. This box was designed by an idiot.
 

Fritz

Well-Known Member
Apr 6, 2015
3,372
1,375
113
69
Sorry to resurrect this old thread. I finally got around to tackling this noisy bastard and have succeeded. I know that 0x64 is full speed and I'm assuming that 0x16 is the lowest speed. At 0x16 it's silent from where I sit and 0x64 requires hearing protection. Can someone tell me what's increments are between 0x16 and 0x64? Percentages would be nice also.

TIA
 

Fritz

Well-Known Member
Apr 6, 2015
3,372
1,375
113
69
UPDATE: I bumped it up to 24 and it got noisy again so I'm back down to 16. CPU temps are in the low 40's at idle so I'll just live with at. The server is a lot more usable with the fans slowed. :cool: