Quieting Dell PowerEdge 1855/1955 Blade System Chassis Fan Noise: Undocumented DRAC/MC Commands

TL;DR: Skip right to the undocumented commands

Background

I recently purchased a Dell BMX blade chassis on eBay that came loaded with ten 2x dual-core, 24GB PE1955 blades.   For a system with 40 cores, 240 GB of RAM and two 16-port gigabit switches in a 7U frame, $2500 was too good to pass up.  Especially since shipping cost me a mere 2 hour round-trip to Brooklyn.

I didn’t really need ten more servers, so I figured I’d sell off 5 or 6 of them (hopefully breaking even on the entire system — the 4GB FB-DIMMs in 6 of the servers is worth $1450 – $1900 alone).  The remaining servers would be all mine!

But I forgot to research the noise!  The chassis screams like a jet engine when powering up.  Even after it settles down to “idle”, with a couple of blades powered up the thing is still as loud as a decent-sized vacuum cleaner!

Research

I searched high and low for solutions to the fan noise.  Not a single search result discussed quieting this system for home use.   The only advice I could find was “don’t buy one”.  Heh.

I didn’t want to swap out fans with slower ones like this guy or this guy did on PowerEdge rack servers.   I don’t mind a little soldering, but there are two problems with that approach when dealing with the blade system:

  1. There are 16 fans in the chassis (3 in each of the 4 PSUs, and 2 in each of the 2 fan modules).  That’s a lot of soldering, a lot of fans to buy, and a lot of things to potentially screw up.
  2. More importantly, I’m concerned that quieter, slower RPM fans wouldn’t move enough air through the chassis during peak utilization and peak ambient temperatures.  I don’t want to find out the hard way when 5 of my production servers start shutting themselves down during the summer months.

My solution was to hack the DRAC/MC firmware.  The DRAC monitors fan speed and temperature, and I assumed it controlled the fans based upon various sensor readings.  I wanted to change the parameters for fan operation, for example by allowing the fans to run at minimal levels through a broader temperature range.

In fumphering around with a hex editor, looking for any reference to “fan” (hey, you gotta start somewhere), I found this:

So there was a way to control fan speed through the DRAC, without having to modify the firmware!  What I found seemed to be the text for a menu, but of course no such menu is exposed.  (I checked via serial, telnet, and web interface to no avail).

A little more searching, and I found this nugget:

Amongst the text for the “?” (or “help”) command in the DRAC/MC CLI, there was a command I’d never seen before in the help text itself, nor anywhere on Google:  fanctrl.[0, 1, 2 3]

Undocumented Commands

In addition to the fanctrl command, there are quite a few others that don’t appear in the normal help text.  I’ve listed the more intriguing ones below, along with my best guess as to their usage. There are a lot of detailed config commands that you can view in a slightly cleaned up version of the relevant raw data.

 

Command Usage
racadm fanctrl As documented in the help text: 

fanctrl [0, 1, 2, 3]

However, I found that it will accept 0 through 5 as arguments, which I believe correspond to the following settings listed in the first screenshot in this post:

0 = Ultra Low

1 = Low

2 = Medium

3 = High

4 = Disable (does not disable the fans themselves, but rather the dynamic fan control)

5 = Dynamic

debug debug [on|off] 

Turns on high-level debug messages that are echoed to the console.

racadm dumpeeprom Dumps the contents of the eeprom to the console. (Warning: This ties up the console for a few minutes).
racadm dumpsensorinfo Toggles the dumping of sensor info.
racadm psudebug Toggles the display of PSU debug info to the console.
racadm kvmdebug Toggles the display of KVM debug info to the console.
racadm addebug Toggles the display of Active Directory debug info to the console.
racadm swdebug Toggles the display of switch debug info to the console.
racadm memdebug Toggles the display of memory debug info to the console. (That’s a possible explanation — executing this command produced no output for me).

 

Don’t want to/can’t use the console for some reason?  Just go to http://[DRAC IP]/debug_command.htm after logging in and you can execute any command from there and see the output.

Conclusion

My goal was to reduce fan speed  in order to make the Dell blade system usable in my open basement.  Sadly, even with the most throttled of speed that fanctrl has to offer, it’s still too loud for my (and more importantly the wife’s) taste.  The entire system is going up for sale on eBay, minus the chassis.  It’s too expensive to ship it via regular carrier, and lets just say that I have a Visio layout for a basement data room lying around.

If you have a dedicated server room or closet, a Dell 1855/1955 blade system may be the right choice for you for home use so long as you tweak the fanctrl settings and don’t let the system heat up too much.

To the best of my ears’ reckoning, an “untweaked” chassis with 5 powered-on blades makes noise equivalent to a leaf blower with some fans running as low as ~5000 RPM and others at ~10,000 RPM.  On setting “0” (ultra-low, if I’m correct) it’s just a little bit louder than my 10 year-old dryer with some fans at ~2500 RPM and the fastest ones at ~7500 RPM.

If you are going to replace fans, the small ones at the front of the PSUs are generally the fastest, smallest, and loudest.  Unfortunately, there are still 8 of them.  And if any one of them falls below RPM threshold, all the other fans will speed up to compensate.

About Scott

I'm a computer guy with a new house and a love of DIY projects. I like ranting, and long drives on your lawn. I don't post everything I do, but when I do, I post it here. Maybe.
Bookmark the permalink.

One Comment

  1. Oliver Mitchell

    Hi good post!
    however i cant seem to get the diagnostic screen to take the command, does the fan command need to be like this for example? fanctrl [5] or no brackets? it doesn’t seem like any of them saying unknown command! on the response.

    kind regars
    Oliver.

Leave a Reply