As I explained before, I changed all the fans of my PowerEdge 2800 to low-noise, low-RPM models.

The fans of my PowerEdge 2800. Front the cpu fans (stock Delta left, replacement everflow right); at the back the 120mm case fans (left the Artic, right the stock Nidec)
This was nice and shiny, and the system was quiet and quite cool. Too cool unfortunately, because the BMC throttles the fans too much so that their RPM values go below the configured thresholds. Then, the system goes into panic mode, spins up all fans at 100%, and lowers them successively below the threshold again. Repeat. :)
I ended up putting the Delta’s back in, because you cannot configure the lower failure threshold of the fans. So, lots of work for nothing, and the system is still way too loud. Very unsastifactory.
Thus, I started thinking how to get around this problem. Possible ways I see:
- make the fans faster/buy faster fans
- make the system hotter
- hack the fans into reporting more RPM than they actually do
- hack the BMC
- find out how the OEM sets these thresholds
Well, 1. and 2. are for obvious reasons dissatisfactory.
Regarding 3: I thought about getting the sensor in the fan to report a higher value. Most fans actually consist of a ring-magnet. The sensor lies just below it, with the rotating magnet passing over it. On 1-4 places on the magnet, the manufacturers apply some paint. I guess it’s some sort of EMI shield and the sensor detects the change in the field – but I couldn’t find any paint that would reproduce the effect. This would be a very neat and nice solution.
Regarding 4: The BMC is implemented in some microcontroller on the motherboard of the PowerEdge. I haven’t found out yet where it is. I am not even sure what type of architecture it is, so reverse engineering the BMC firmware wasn’t possible. Damn, I don’t even know if this is little-endian or not.
Regarding 5: The manual states that these values are read-only and are to be configured by the OEM. But how? I doubt that they create a new firmware for each combination of fan manufacturers that they use. So my guess is that there are some hidden OEM IPMI commands that allow to set the threshold. I asked the guys over at FreeIPMI if they’ve got a clue, but they don’t know about any such functionality.
Anyone out there with some hints?
Update: I continued my search for a solution
Update 2
I finally managed to adjust the critical fan thresholds by patching the BMC firmware! Here’s the howto. Additionally, I created a project page for my server.
This was an interesting read, going to read your continuation now. I have a similar issue with my re-purposed Google Search Appliance (basically a PowerEdge 2950).
There seem to be quite some people out there with the same issue – all those re-purposed PowerEdges seem to end up in people’s offices and living rooms. :)
Pingback: How to adjust the fan thresholds of a Dell PowerEdge | tüfteln
I managed to adjust the critical fan thresholds by patching the BMC firmware! How to:
http://projects.nuschkys.net/2011/11/15/how-to-adjust-the-fan-thresholds-of-a-dell-poweredge/