September 6, 2024
Description
This is going to be a very niche model. I will be stoked to get one download.
On the other hand, it would have saved me at least a dozen hours if I didn't have to make this from scratch, so… enjoy.
I'm using this on both CX4 and CX6 cards. They run well over 70 degrees with just passive cooling in a tower case, but with this contraption on and fan at 30% (which makes it inaudible) my CX4 is at 56 degrees. The CX6 is less efficient and doesn't really bring new tricks to the table wile being significantly more expensive on the 2nd-hand market, so get a CX4 if you have the choice. They both have current driver support from the Mellanox repo with VFs and all, just “sudo apt install doca-all”.
Design goals:
Note: I am using the cards with copper DACs. You might very well overheat things if you plug in a 10km 100G QSFP28 module. Even short-range ones will get very hot.
Note 2: If your fan fails, you'll want to know and shut the system down immediately. Monitor the card's temps from a script (mget_temp), set up something through IPMI, whatever. In order to force air over the entire length of the heatsink, the cooler covers the whole thing and it will turn into an extremely effective heat trap without the fan running.
With that said, you'll need:
I printed most of my coolers from PC for heat resistance and strength, but I have one of the first working prototypes from 6 months ago made from PETG that's still doing fine, so I guess anything PETG or better will do.
You'll be attaching the fan to the inside of the arms on the base through the fan's blades:
This is probably more annoying than it should be. Magnetizing the screwdriver helps a lot. Using a soft threadlocker on the screwdriver helps even more.
The base slides onto the card, grabbing the PCB's top edge and the heatsink's bottom. This is a tight fit on purpose.
Othar than that, assembly should be straightforward.
License:
BSD License