I recently got hold of a Sun T5120 system.
Nice 1ru Sun UltraSparc T2 system. However like most 1ru systems they are quite noisy.
Solaris supports ways to slow the fan speeds down via the OS. Apparently there is a PROM update that allows some fan speed settings but since Oracle no longer let you freely download PROM's that is no longer a choice for most people.
Linux has no way currently to control the fan speed, so we are left with a hardware mod.


I want to drop the voltage on all the fans in my T5120 to reduce the noise.
Not too low however, 1ru boxes still need a fair bit of airflow. Also by reducing the fan speed the pitch noise of the fan changes, to me this makes a lot of difference.

I have used 51ohm resistors below, but you could use a higher value resistor to drop more voltage. Take care and watch the associated temps when making the changes.
By using 51ohm resistors the fan's voltage was reduced to 10v when operating normally.


  • Soldering Iron
  • Basic tools (cutters, electrical tape)
  • Resistors 51ohm 1/4w (10 needed) (or a higher value)
  • Multimeter (not essential but checking your work is wise)


Remove fans

Taking out the system fan's is quite simple, open the front hatch and pull them out. You will then see a little screw in the middle of the fan. This and the tape at the top of the fan is what holds the fan module together. Unscrew this and gently pull away the sticky label.

You should now have two fans and the little PCB separated away from the plastic case.

Adding the resistor to the fans

Looking at the back of the little PCB you should see the words "12A & 12B"
PCB rear side
It is the red colour wire on the opposite side of the PCB. You need to unsolder the wire connected to these points.

Once you have removed the wire and removed the excess solder from the hole, you can add the resistor. Push one end of the resistor wire into the hole, make sure the body of the resistor pushed close to the PCB. Next re-solder the red wire to the other side of the resistor.
PCB with resistors

Do this for each side, and repeat for each fan module.
Once your done it should look something like this.

Re-install the fans. I would check the following

  • Physical fan LED turned green
  • show /SYS/MB/CMP1/T_TCORE (iLOM)
  • show /SYS/MB/CMP0/B_TCORE (iLOM)
  • show /SYS/FANBDn/FMn/Fn/TACH (iLOM)

^ replace 'n' with the correct number.

See iLOM sensors

Adding the resistor to the PSU

In addition to modding the fan in the PSU, I also removed the second PSU to reduce heat.
Remove the PSU, let it sit for 20+ minutes to discharge the capacitors.
I also used a 51ohm resistor in the PSU, voltage drops to around 10v also.

Unscrew all the screws in the PSU case, take off the metal cover. No need to take out the fan. Trace back the black insulated fan wire. Disconnect it from this point.

Strip back some of the black insulation (try keep as much intact as possible). Cut the red wire in half and solder the resistor between the two half's. Cover up with good quality electrical tape and wrap back with the insulation. I added extra tape over the insulation.
When done it should look like this. The resistor is located close to the plug end.
PSU mod

Replace the PSU. I would check the following

  • Physical PSU LED
  • show /SYS/PSn/FAN_FAULT (iLOM)
  • show /SYS/PSn/TEMP_FAULT (iLOM)

^ replace 'n' with the correct PSU number

Some closing notes

  1. Resistors are not the best way to drop a fans voltage, since the fan's current draw varies. I would normally use the likes of the LM78xx fixed voltage regulator. However in this case I could not make it fit into the fan case in a nice way.

  2. Why drop to only 10v?
    For me it was a safe trade off. I no longer have the high pitched fan 'whine'. The machine is quite enough that I can deal with it. Temperature under full load (stress-ng) increased by 10c Celsius.
    I am not sure how well it would go with dropping the voltage even more, temperature wise.
    Feel free to test how higher value resistors.