Anyone done a Brocade 6610 fan mod?

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

redeamon

Active Member
Jun 10, 2018
291
207
43
I did consider the 7250, but the price of around $300 (compared to about $150 for 6610) was main reason. When buying used equipment for 24/7 home use, I usually purchase another similar or same model for a spare. I couldn't justify twice the cost for two 7250's.

I agree that modifying power supplies isn't a good idea, and the 40G ports didn't make any difference to me, but the extra 8x 10G breakout links and price were deciding factors for this purchase.

I guess I can attempt the fan mod without opening the PSU(s) and see how temps run.
In terms of cost I would also consider the price of electricity as the 6610 uses about 50w+ or so than the 7250. 50w*24*31/1000*.17 (average CA electricity cost) and you're looking at about $76 more in energy cost for the 6610 per year. Not to mention cost of removing that heat if necessary (ac).

However, it sounds like the 6610 is totally reasonable if you're using the 40GBe links to breakout to 10GBe. Sounds like you've got a lot of 10GBe gear.
 

ClintE

Member
Feb 22, 2019
31
7
8
In terms of cost I would also consider the price of electricity as the 6610 uses about 50w+ or so than the 7250. 50w*24*31/1000*.17 (average CA electricity cost) and you're looking at about $76 more in energy cost for the 6610 per year. Not to mention cost of removing that heat if necessary (ac).

However, it sounds like the 6610 is totally reasonable if you're using the 40GBe links to breakout to 10GBe. Sounds like you've got a lot of 10GBe gear.
Yep figured it would be over $50, didn't realize it would be that much. Part of the hobby I guess.

Acquired the 10G over time, then pulled fiber through the house and set quiet switches at the endpoints. Really like the 6610 capabilities, but it's rather noisy... Seemed to quiet it down somewhat putting the second PSU and fan back into the 48P. Might pull the 24F off the shelf and install two of them in that one to see what it sounds like up there.
 

Serhan

Member
Sep 22, 2017
89
27
18
Yep figured it would be over $50, didn't realize it would be that much. Part of the hobby I guess.

Acquired the 10G over time, then pulled fiber through the house and set quiet switches at the endpoints. Really like the 6610 capabilities, but it's rather noisy... Seemed to quiet it down somewhat putting the second PSU and fan back into the 48P. Might pull the 24F off the shelf and install two of them in that one to see what it sounds like up there.
I have a similar setup with 6610, but having a tough time finding cheap and quiet sfp+ switches for the endpoints. What did you end up using for those?
 

ClintE

Member
Feb 22, 2019
31
7
8
I have a similar setup with 6610, but having a tough time finding cheap and quiet sfp+ switches for the endpoints. What did you end up using for those?
If you're not against used, Dell Powerconnect 55xx's, inexpensive, 2x SFP+ slots, separate stacking ports, 24 or 48 ethernet (POE available), decent L2 and light L3, low noise fans that can be replaced with even quieter ones.
 
  • Like
Reactions: Jiaxinxi and Serhan

bkvamme

New Member
Sep 23, 2018
11
4
3
Thanks very much for the guide, helped me get started. Just finished the modifications myself.

Extremely quiet, and excellent cooling performance.

I experienced a rapid failure of the pulse generator (3hrs into my test). The chip was running extremely hot, so I had even mounted a alu-heat sink on it.

Ended up using an old Arduino Uno I had lying around to make my own pulse generator. Here is the code for that:

Code:
int f=650; // Enter desired frequency in Hertz
float d=f*0.000001;

// PWM fan control https://create.arduino.cc/projecthub/MyName1sSimon/control-pwm-fans-with-an-arduino-7bef86
// Read fan RPM https://makezine.com/2010/07/29/reading-a-pc-fan-speed-with-arduino/
void setup() {
  // put your setup code here, to run once:
  pinMode(9,OUTPUT);
  Serial.begin(9600);
  Serial.print("Frequency:");
  Serial.print(f);
  Serial.println(" Hz");
}

void loop() {
  // put your main code here, to run repeatedly:
  while(1)
  {
    digitalWrite(9,0);
    delayMicroseconds(d);
    digitalWrite(9,1);
  }
}
Plan is to expand the code to also read the actual Noctua fan RPM, and stop the pulse generator to trigger warnings on the switch if one or both fans fail. I recon 1 fan will be sufficient for cooling given the cooling performance I am seeing now, but will test this prior to implementation.

PWM fan control can also be added quite easily, but I don't see the need for that given the current noise level of the fans...

Results:
Code:
ICX6610-48P Router>show chassis
The stack unit 1 chassis info:

Power supply 1 (AC - PoE) present, status ok
        Model Number:   23-0000142-02
        Serial Number:  Y45
        Firmware Ver:    A
Power supply 1 Fan Air Flow Direction:  Front to Back
Power supply 2 not present

Fan 1 ok, speed (auto): [[1]]<->2
Fan 2 not present

Fan controlled temperature: 37.5 deg-C

Fan speed switching temperature thresholds:
                Speed 1: NM<----->84       deg-C
                Speed 2:       79<-----> 87 deg-C (shutdown)

Fan 1 Air Flow Direction:  Front to Back
MAC 1 Temperature Readings:
        Current temperature : 30.5 deg-C
MAC 2 Temperature Readings:
        Current temperature : 37.5 deg-C
CPU Temperature Readings:
        Current temperature : 36.0 deg-C
sensor A Temperature Readings:
        Current temperature : 33.0 deg-C
sensor B Temperature Readings:
        Current temperature : 29.0 deg-C
sensor C Temperature Readings:
        Current temperature : 28.0 deg-C
stacking card Temperature Readings:
        Current temperature : 37.0 deg-C
        Warning level.......: 77.0 deg-C
        Shutdown level......: 87.0 deg-C
 
Last edited:
  • Like
Reactions: dodgy route

Wolfcastle

Member
Jan 3, 2022
50
23
8
Apologies for necroing this thread. Has anyone tried to connect the tach output of other PWM fans (like the Noctua) into the fan header? Does the switch still refuse to boot up if the tach reading is lower than what the Delta fans put out?

Has anyone tried to just wire in two 120mm Noctuas into the 12V, GND, and tach pins (leave PWM unconnected, no point in using it for Noctuas) without going through the trouble of making your own PWM generator to trick the switch?
 

Wolfcastle

Member
Jan 3, 2022
50
23
8
Ah so that probably won't work, the Noctuas are much, much slower like 1500rpm; I'll give it a try anyway.

I haven’t tried wiring other fans up but I do know the switch needs to read 12-20k rpm to consider the fans “ok”.
 

Wolfcastle

Member
Jan 3, 2022
50
23
8
Update - switch is running totally silent using some tweaks on the information above. I only did the proof of concept and haven't soldered or cut the acrylic yet so I will update once I am completely done. I will also focus on the electrical work since the mechanical work of cutting acrylic is already shown above many times (e.g. by @dodgy route)

Required hardware:
  • Arduino Nano board or equivalent - This one is nice because it's small enough to fit in the original fan tray (which will no longer contain fans anyway)
  • 1 x 40mm fan: I recommend the Noctua one because it comes with a bunch of handy accessories (I'm running it at 5V using the included adapter) https://www.amazon.com/Noctua-NF-A4x20-PWM-Premium-Quality-Quiet/dp/B071W93333/
  • 2x 120/140/200mm fans of your choice: I used a 120mm Be Quiet and a 140mm Fractal design that I had laying around but anything that's quiet will do the trick. If you have to buy one, don't bother buying one with PWM since we won't be connecting that anyway
  • 4 fan extension cables, these ones are only a couple of bucks each: https://www.amazon.com/Extension-Cooling-Compatible-Durable-Braided/dp/B082H79JTC/
  • An acrylic panel (24"x18") is plenty big
  • Optionally: @creidhne correctly mentioned the Molex part numbers for the plug and crimp terminals 44133000 and 43030001 (or 43030004). If you want to make this completely reversible you should probably pick some of these up. As I mentioned above I am sacrificing one fan assembly so I didn't bother.
  • Some blue wire 26ish AWG wire, you can always cannibalize this from some old ethernet cable
  • 4 standoffs/spacers and screws to keep your arduino board from touching the case.
  • Soldering iron, basic soldering supplies, and heatshrink tubing
Note:
This mod is "reversible" if you have 2 PSUs and 2 fan modules. We will modify one of each and keep the 2nd of each untouched as spares. Also, I used an Arduino Nano, but I bought it not realizing that it was too wide. I would use the Arduino board above if I had not already bought it.

Step 1
The code provided by @bkvamme provides a good starting point for the Arduino programming. It had some minor issues which I have resolved in the code below. Specifically, I've used 3 output pins for the tach and changed the code so that the pulse would have a 50/50 duty cycle. Program the Arduino with the code below. You can test this code by changing the duty cycle and probing your pins with a multimeter. Since it's a PWM signal, the lower the duty cycle, the lower the voltage you will read. Frequency should stay fixed at 650 Hz.
Code:
// Based on the following code.
// PWM fan control https://create.arduino.cc/projecthub/MyName1sSimon/control-pwm-fans-with-an-arduino-7bef86
// Read fan RPM https://makezine.com/2010/07/29/reading-a-pc-fan-speed-with-arduino/
// Code taken from user @bkvamme at https://forums.servethehome.com/index.php?threads/anyone-done-a-brocade-6610-fan-mod.24039/page-4
// Last Modified by Wolfcaste 2022-01-31 for use on Arduino Uno R3

unsigned int f=650; // Enter desired frequency in Hertz
double cycle_time__us = 1e6/f;
double d = 0.5; // duty cycle
unsigned int on_delay__us = round(cycle_time__us*d); // on delay in microseconds
unsigned int off_delay__us = round(cycle_time__us*(1-d)); // off delay in microseconds

void setup() {
  // put your setup code here, to run once:
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  Serial.begin(9600);
  Serial.print("Frequency:");
  Serial.print(f);
  Serial.println(" Hz");
  Serial.print("Microseconds on: ");
  Serial.println(on_delay__us);
  Serial.print("Microseconds off: ");
  Serial.println(off_delay__us);
}

void loop() {
  // put your main code here, to run repeatedly:
  while(1)
  {
    digitalWrite(8,HIGH);
    digitalWrite(9,HIGH);
    digitalWrite(10,HIGH);
    digitalWrite(11,HIGH);
    delayMicroseconds(on_delay__us);
    digitalWrite(8,LOW);
    digitalWrite(9,LOW);
    digitalWrite(10,LOW);
    digitalWrite(11,LOW);
    delayMicroseconds(off_delay__us);
  }
}
Step 2
Begin by clipping the zip ties to see what wires go where in your fan assembly. Cut all wires going to the fans (cut relatively close to the fans) but leave the ones to the LED alone. I am pretty sure the 3 LED wires are for a red-green (red/ground/green) LED but honestly can't be bothered to test. Use @creidhne 's excellent diagram below to reference the following steps.
icx6610-fan-tray-pinout.jpg

Step 3 - Powering the Arduino and your fans
Assuming you have standard PC fans, the first two pins (black and yellow) are GND and +12V respectively. See Noctua's diagram below. Make sure you pay attention because the color scheme is not used universally.

noctua_pin_configuration_12v_fans.png

3.1 Cut one of your 4 pin extenders roughly in half.

3.2 Splice together a +12V coming from the fan tray (red) with wire from the second pin on the male side (likely yellow) as well as a second wire long enough to go to the VIN pin on the Arduino. Solder the other side of the wire to the VIN pin of the Arduino board.

3.3 using the same male connector from the cut off fan extender, solder together the black wire from the fan tray to the wire from first pin (almost certainly black) as well as a second wire long enough to go to the GND pin on the Arduino. Solder the other side of the wire to the GND pin of the Arduino.

Assuming you bought the Noctua fan I recommended, you should also get a handy-dandy Y splitter, which you can connect to your new harness to feed your two large fans.
20220201_041211112_iOS.jpg
20220201_041443963_iOS.jpg

Step 4 - Making a harness to trick the ICX 6610
Alright this is the last "complicated" step.
4.1 Cut a second fan extender cable in half
4.2 Using the female side, strip the wire and solder each into 4 of the Arduino's IO pins. I used pins 8-11.
4.3 Splice together the two blue wires from the ICX 6610 fan tray with two of the wires on the male side of the connector (not important which ones we're sending the PWM signal on all 4 pins).
4.4 Splice in some additional wire (~6 inches) onto one of your two remaining pins on the male side of the connector. This is used to trick the power supply so it needs to be long enough to reach it.
20220201_041151397_iOS.jpg
20220201_041348140_iOS.jpg
4.5 - Put Arduino board on something non-conductive (like the anti-static bag it came in) and turn on to test that everything worked. Connect to the serial port and make sure that everything works as expected and that the switch doesn't complain about failed fans.

Step 5 - Modifying the power supply
IMPORTANT - MAKE SURE YOUR POWER SUPPLY IS OFF AND DISCONNECTED BEFORE WORKING ON IT AND YOU'VE LET THE LARGE CAPACITORS DISCHARGE OVER A LONG PERIOD OF TIME. THE INSIDE OF POWER SUPPLIES ARE DANGEROUS AND YOU CAN HURT YOURSELF


5.1 Open up the power supply (three screws, then it slides out).
5.2 Gently unglue the grey Formex paper (it's a fire retardant insulator so we'll want to put it back in when we're done).
5.3 Pull on the 4 rubber do-hickeys holding the Delta fan at the back of power supply in place to release the fan.
5.4 Release the fan wire from its connector at the front of the power supply.
5.5 Cut the power supply fan wire near the fan.
5.6 Feed the power supply fan wire through the grille of the power supply to the inside of the switch
5.7 Install 40mm Noctua fan in place of the Delta fan. It also comes with the same do-hickeys to hold it in place so put those in place.
5.8 Feed the Noctua fan wire through the same path as the previous delta fan. It's not quite long enough for our purposes but Noctua includes fan extensions and we have some anyways so extend it enough to go through the power supply grille. I had to pop the pins out of the connector to feed them through and put the connector back on afterwards.
5.9 Close up the power supply and put it back in place
20220129_154412056_iOS.jpg20220129_161640776_iOS.jpg



Step 6 - Connect the power supply wires
6.1 Cut enough of the power supply fan wire shrink tubing to reveal the blue wire. Splice that onto your long blue wire from step 4.4 above
6.2 Using your fourth fan extension cable, cut in half and splice the red and black wires from the fan power supply wires on the the male side as your did in step 3.2 (red +12V to second pin, black GND to first pin).
20220201_041238429_iOS.jpg
6.3 - Put Arduino board on something non-conductive (like the anti-static bag it came in) and turn on to test that everything worked. Connect to the serial port and make sure that everything works as expected and that the switch doesn't complain about failed fans.

20220201_042624420_iOS.jpg

Step 7 - All the mechanical stuff
Cut holes in your Acrylic, attach fans etc. Make sure that one of the fans is above the MCU in the middle and another is above the CPU at the front. If all goes well, your result should look something like this (this is after running for almost 2 hours, but it is pretty cool in here, like 18C).

All done with mechanicals, followed posts from earlier using Acrylic panel and a dremel.
20220203_011750857_iOS.jpg

20220203_211701464_iOS.jpg


Code:
The stack unit 1 chassis info:

Power supply 1 (AC - PoE) present, status ok
        Model Number:   23-0000142-02
        Serial Number:  DVN
        Firmware Ver:    A
Power supply 1 Fan Air Flow Direction:  Front to Back
Power supply 2 not present

Fan 1 not present
Fan 2 ok, speed (auto): [[1]]<->2

Fan controlled temperature: 29.0 deg-C

Fan speed switching temperature thresholds:
                Speed 1: NM<----->78       deg-C
                Speed 2:       73<-----> 87 deg-C (shutdown)

Fan 2 Air Flow Direction:  Front to Back
MAC 1 Temperature Readings:
        Current temperature : 21.5 deg-C
CPU Temperature Readings:
        Current temperature : 22.0 deg-C
sensor A Temperature Readings:
        Current temperature : 15.0 deg-C
sensor B Temperature Readings:
        Current temperature : 27.5 deg-C
sensor C Temperature Readings:
        Current temperature : 19.5 deg-C
sensor D Temperature Readings:
        Current temperature : 21.0 deg-C
stacking card Temperature Readings:
        Current temperature : 29.0 deg-C
        Warning level.......: 83.0 deg-C
        Shutdown level......: 87.0 deg-C

Final configuration with the cover, in the rack, quiet enough that you could sleep next to it without issue.
Code:
The stack unit 1 chassis info:

Power supply 1 (AC - PoE) present, status ok
        Model Number:   23-0000142-02
        Serial Number:  DVN
        Firmware Ver:    A
Power Supply 1 Fan has failed
Power supply 2 not present

Fan 1 not present
Fan 2 failed

Fan controlled temperature: 30.5 deg-C

Fan speed switching temperature thresholds:
                Speed 1: NM<----->78       deg-C
                Speed 2:       73<-----> 87 deg-C (shutdown)

Fan 2 Air Flow Direction:  Front to Back
MAC 1 Temperature Readings:
        Current temperature : 24.0 deg-C
CPU Temperature Readings:
        Current temperature : 21.5 deg-C
sensor A Temperature Readings:
        Current temperature : 13.5 deg-C
sensor B Temperature Readings:
        Current temperature : 27.0 deg-C
sensor C Temperature Readings:
        Current temperature : 20.5 deg-C
sensor D Temperature Readings:
        Current temperature : 21.5 deg-C
stacking card Temperature Readings:
        Current temperature : 30.5 deg-C
        Warning level.......: 83.0 deg-C
        Shutdown level......: 87.0 deg-C
Boot Prom MAC : 748e.f8e7.424c
Management MAC: 748e.f8e7.424c
 

Attachments

Last edited:

creidhne

New Member
Apr 11, 2020
21
12
3
Nice job, I like it =) I'm just going to add that since I modded my 6610, it's still happily running as it was with no further changes needed. Though I do think from time to time to go back to it and make it all prettier and easier to access internals of the switch (not that it is very necessary, but still)
 
  • Like
Reactions: Wolfcastle

Wolfcastle

Member
Jan 3, 2022
50
23
8
I did the soldering yesterday, previously I had just tied the wires together. I added a whole bunch of photos to my post in case some of the things weren't clear. All I have left now is to cut the acrylic to mount the fans. Left it to soak overnight without the cover (idle, not connected to network).

Code:
>show chassis
The stack unit 1 chassis info:

Power supply 1 (AC - PoE) present, status ok
        Model Number:   23-0000142-02
        Serial Number:  DVN
        Firmware Ver:    A
Power supply 1 Fan Air Flow Direction:  Front to Back
Power supply 2 not present

Fan 1 not present
Fan 2 ok, speed (auto): [[1]]<->2

Fan controlled temperature: 28.0 deg-C

Fan speed switching temperature thresholds:
                Speed 1: NM<----->78       deg-C
                Speed 2:       73<-----> 87 deg-C (shutdown)

Fan 2 Air Flow Direction:  Front to Back
MAC 1 Temperature Readings:
        Current temperature : 20.5 deg-C
CPU Temperature Readings:
        Current temperature : 21.5 deg-C
sensor A Temperature Readings:
        Current temperature : 12.0 deg-C
sensor B Temperature Readings:
        Current temperature : 27.0 deg-C
sensor C Temperature Readings:
        Current temperature : 19.0 deg-C
sensor D Temperature Readings:
        Current temperature : 20.5 deg-C
stacking card Temperature Readings:
        Current temperature : 28.0 deg-C
        Warning level.......: 83.0 deg-C
        Shutdown level......: 87.0 deg-C
Boot Prom MAC : 748e.f8e7.424c
Management MAC: 748e.f8e7.424c
 
  • Like
Reactions: klui

Wolfcastle

Member
Jan 3, 2022
50
23
8
Additional note for anyone interested: I just spent a bit of time looking at datasheets and the ICX 6610 and 7450 use the exact same power supply and fan modules. The ICX 7450 does run cooler so when I had both side by side it was a bit quieter since the fans were a bit slower but IMO the difference is pretty minimal. The 23000 RPM delta fans they use in both the power supply and fan module are the issue and even at "low" RPM they are both whiny and loud. They're totally justified in a datacenter and/or a rack that is making heavy use of PoE on all ports but for homelab where you can spare an extra 1RU and very likely aren't fully loading these switches, these fans don't make much sense.

I will be modifying my ICX 7450 to quiet it down I finish with the 6610, at first glance the process will be very similar.
 

Wolfcastle

Member
Jan 3, 2022
50
23
8
All done with the 6610 (see above), very happy with the result, it is now humming along in my mechanical room. Now I am trying to find any info on the 7450 but it doesn't look like there is a thread. Has anyone done any fan mods on this one?
 

AndroidCat

Member
Mar 3, 2015
32
24
8
I did 6610 cooling modification, but less ambitious than all of the above.
I did not care about the PSU noise, so I skipped the whole 'cheat the RPM detection sensor' thing.

Simply cut a 3mm plexiglass sheet to size, drilled and countersunk all mounting screws as well as fan screws.
Used dremel cutting bit to make cutouts for fans.
I used Noctuas I had on hand: 1x200mm, 1x120mm, 2x80mm and placed them above main chips and 40G card. In effect the whole mainboard is covered by fans.
No fan over PSUs.
Had 4-way fan power splitter which I hooked up to a small external 12V power supply. The fans are blowing at max speed.

As I said, I did not care about the noise, but at any rate the 4 Noctuas are as quiet as a mouse.

Temps easily halved after that. I had MAC hoovering around 70C, now it is ~35C.

Very happy with the mod.

I had no experience working with plexi or acrylic sheets, but 3mm sheets from Amazon surprised me as quite forgiving and easy to work with.
This is the material I used ( search for B097L44ZL4 on Amazon).

Edit: of course temps should be in C, not in F.
 
Last edited:

custom90gt

Active Member
Nov 17, 2016
223
95
28
39
Great thread here. I had picked up a 6610-48 from ebay for $50 shipped but it's far too loud for my mechanical room. I just bought a couple of the POE power supplies (because mine came with a revision A power supply) and I plan on adding a plexiglass panel to it with some corsair ML140 fans that I have. Should be able to get it to a usable noise level I hope.
 
  • Like
Reactions: Wolfcastle

iamwardicus

New Member
Aug 2, 2019
8
8
3
Got my 6610-24I today. Complete refurb unit so it's in immaculate condition. 2x power supplies, 2x loaded fan trays. LOUD. I have to get a console cable to do the setup still. Provided it's 100% good I think I'll be looking into the following:

My current intention is to only use 1 of the 2 included Emerson 250W units. They show as REV. A, p/n: 23-0000143-02. Configured as an Intake type for the fan. I opened it up to see if the innards of it matched the Delta and unsurprisingly they don't and I'm not comfortable modding it so I'll have to live with it for now.
I AM interested in keeping the temps of the unit down so I think I'm going to emulate a mix of @bbqdt, @Wolfcastle, and @AndroidCat and at least get fans setup on some Acrylic and sacrificing a fan tray so it's reversable.
My vacation ends today so it will be awhile until I can work on this project again, but I'll update with photos as I'm able. I've an amazon order for the acrylic and console cable now which I won't receive until late this next week. I'll also do some before / after measurements with an iphone acoustic level meter so there's *some* sort of reference point. That's going to be my start at least.