Fixing the Indigo2 TRAM problem

CB_HK

Member
Jun 13, 2020
30
35
18
Las Vegas, NV
Hello everyone! This post will detail a recent project in which I decided to solve the overheating TRAM issue that plagues High and Max IMPACT board sets that have the TRAM option boards installed. Additionally, I reworked the cooling setup by way of adding a PWM controlled fan that responds to compartment temperature and is rated at twice the cubic feet per minute and three times the static pressure of the stock Panaflo fan.



Problem 1: IMPACT TRAM modules are known for failing over time. This is noticed by the artifacts that are shown on screen when dealing with textures. Usually it begins to show by alternating lines that are missing (wrong color, white, etc.) and over time the issue can become more apparent until most of the textured image is obscured by these artifacts.

So HOW does this happen?

Well, SGI had limited room to fit the TRAMs onto the boards they install on top of. If you take a look at a Max IMPACT set, you'll see one module on top and one that is on the middle board. Even though the top board has more room if no other option boards are installed, the middle board drives the sizing requirement (of course there are option boards that connect to the top of the Max IMPACT set so you'd run into the same space issue on top). To get around all this, SGI used very thin heatsinks. Not necessarily a bad thing IF there's enough airflow. You don't necessarily need a huge mass of metal to keep something cool. But you do need proper airflow. The heatsink is mounted by way of thermal tape that adheres the metal to each chip. It is very thin and truthfully I have no way of being able to know or even guess just how good the heat transfer properties of this tape happen to be. Additionally, the sink is attached to the board by tightly held on Kapton tape. THIS is where we start to run into compounding problems.



Over time, by way of heating and cooling cycles, the board begins to warp. It's already bent near the short edges due to how tightly the Kapton tape was applied. The repeated temperature cycles stress the two most outer chips, eventually leading to solder joint failure whereby the legs of the chip detach from the pads and no longer make solid contact. This happens to only a few at a time which is why the problem is insidious: it starts by showing itself little by little, restart by restart, until it builds up enough that it's no longer occasional or easily ignored.



So how do we solve this issue?

There are likely many ways to resolve this. I'm going to outline the method I took, realizing that there may be better methods still. Ultimately, the solution I ran with was to remove the heatsinks from each board along with the thermal tape, carefully inspect every solder joint, repair those that were broken, and reassemble the units with better thermal interface material and some custom 3D printed pieces to even out the mounting pressure.

You can see from the previous image that the TRAM is composed of three separate chips. Each one is densely populated with pins that are exceptionally small and fragile. If you have experience working with SMD components then you will already be all too familiar with the delicate care needed to work on these chips.



As you can see in the GIF, the failure mode presented is fairly straightforward. The pins eventually fail and detach from the board. Thankfully this failure is clean and does not cause damage to the pad or leg that cannot be repaired.



Repair was done slowly and carefully, a few legs at a time. I ended up repairing three boards in total. Of the three, all issues with failed joints were located on either the left or right chips.

Once I had this issue sorted out and had confirmed that I had three boards with good connections and no other issues (continuity checking, etc.) I needed to figure out how best to replace the thermal interface material with something I new was going to work well. This isn't to say that SGI's material was inferior. I just simply had no way to know exactly what it was. I also felt that due to how thin it was (~0.01mm) there was a little bit of room to improve the spacing and pressure issues that caused the boards to warp and bend in the first place.



Enter Fujipoly's 17 W/mK thermal pad! This was the absolute best material I could find in 0.5mm thickness. I know there are other items out there such as graphite pads, or even thermal paste, but these pads solved what I assessed to be part of the issue with the design.



These sheets are 50x60mm, providing four 25mm square pads once cut up. I ended up using two packets for three TRAMs in total.



The TRAMs are a hair over 27mm in size so 25mm pads were a perfect fit for the intended purpose.



Installed and ready for the heatsink to be reapplied!



After installing the heatsink I went ahead and installed the support clips I designed for the heatsink.

In order to provide better structural support and more evenly spread the pressure of the Kapton tape securing the heatsink, I devised a very simple 3D printed piece that clips onto the edge of the PCB and provides a stop for the heatsink, limiting maximum downward travel all the way around the board. The piece is sized .1mm smaller than the height of the gap with the new thermal pads and heatsink installed, thereby leaving a small amount of room for compression and travel, but keeping the board almost entirely flat along the bottom. Seriously, I cannot emphasize how much of a bend there is in the stock board. I left the boards separate from their heatsinks, upside down, for a week in order to release some of the bend they had. This helped, but installing this new setup made them completely flat.





You can see in the above image how the clips provide additional support near the corners where joint failure appeared to be most common.



Kapton tape applied and keeping the clips secured (though they fit snugly enough to hold just fine by themselves) and the heatsink mounted with a small bit of additional pressure.



I added one more bit of Kapton tape near the right front side in order to keep things more even.

Alright, so that's the first problem solved! TRAM modules stripped down, cleaned up, joints resoldered, new TIM installed, and new clips to help keep the pressure applied much more even. Since we have the second part to get to, I'll go ahead and mention now that the TRAMs installed with zero issues and worked with no issues. I had the beginnings of failing TRAMs and now I can be comfortable in knowing that they are fixed! (Really the TRAMs were a bit worse than the previous photos show. I repaired around 35 joints between all three boards)

So, now that the TRAMs are repaired and, in my humble opinion, better set up for lasting longer, we still have a second problem to deal with. This one could potentially make the previous work all for not.

Problem 2: SGI provided relatively adequate cooling for offices that kept the AC running at 65-68 degrees Fahrenheit (18-20 C) but that's not quite the reality of where these machines were used and certainly not where they're used today. The fact is, SGI used some incredibly good fans for the time period. So good in fact that you'd be hard pressed to find any replacements that can do better than stock. There are numerous posts on the old .sgi USEnet in addition to Nekochan, IRIXnetwork, and here about how to replace fans in systems with quieter ones to help keep down the noise.

I'll lead this next part by saying that noise was a concern, but was absolutely not my number one issue. My goal was to figure out how to replace the front-mounted fan with something that pushes more air AND has equal or higher static pressure. I ended up finding a solution to this goal, albeit with a small increase in fan noise but with higher airflow and static pressure.

The stock fan that all Indigo2 units use is the Panaflo FBA09A12V. It is a 92x25mm 12v fan that draws 0.25 amps. It is rated for up to 56 cubic feet per minute of airflow at 3.98mm of H20 static pressure. This fan can be found in many SGI machines including the Octane. It's a very capable fan and balances things well with only 35dB of sound. It generally strikes a solid balance between noise and functionality.

In the case of an Indigo2 with Max IMPACT boards, you're going to likely need a bit more airflow. In fact, I'd argue that there's really no way to run a Max IMPACT set with TRAMs if you don't have better airflow. Not if you don't want eventual heat-related failures to crop up. That's why this is so important. Fixing the failed joints from overheating and warped PCBs is only half the issue. Airflow must be addressed to avoid similar issues from cropping up again.

One of the biggest issues with trying to replace the stock fans on SGI systems is the fact that they utilize two-pin connectors and in general this greatly limits options. You have to be accepting of either two-pin fans that fit what you're looking for or that any four-pin fans are going to run at max blast due to the computer not having any way of controlling PWM fans. Until now.

Enter the Coolerguys 12v PWM fan thermostat control board. While searching for fan options I took a look to see if there was any easy way to control fan speed without built-in PWM. This module ended up being exactly what I needed to get the perfect combo of a better fan and reduced noise. It's extremely small and fits inside the front plane frame near the power button.



You can see the module adhered via Velcro to the inside of the frame. It plugs into the fan port on the PCB while allowing the fan to plug into it.



A closer shot showing how things are wired up. I directly soldered the fan to the pin on the PWM controller since the fan I ordered was bare-leaded.



And for the best part: a thermostat that constantly reads the temperature inside the system, adjusting the power of the fan as needed to ensure cooling is kept to the right level.

This little PWM controller is programmed to start ramping the fan slowly at 30 C until it hits maximum airflow at 40 C. There's a configurable idle speed so that the fan is always providing adequate cooling even when the machine is simply sitting. All of this is programmed directly on the board with a few LEDs and a button.

Now to the fan part. I ended up going with a Delta AFC0912D. This is a 92x25mm 12v fan rated for 1 amp. While it's rated for a higher power draw than the Panaflo, on testing it showed to pull no more than .7 amps. Additionally, it's hardly ever going to ramp up all the way based on using the PWM controller. Total airflow is rated for 103 CFM at 13.3mm of H2O. This of course assumes you're running the fan at full speed, to a hardly-quiet 53dB. (Even more of a reason to use a PWM controller)

With this fan combo set to run at around 60% speed on boot, ramping up to around 70% once the boards get warm, the noise increase is definitely there. But it is no where near the full 53dB and is very tolerable. I will say that this mod requires accepting that either you stick with the stock fan and leave things as they are, or you bite the bullet and realize that a little more noise is helping ensure better cooling overall.

After running this setup for five hours with multiple texture and alpha demos going (to help verify TRAM functions) the outlet air stabilized at around 92 F (33C) and was definitely noticeable when coming near the side of the machine. A lot more air was moving through the chassis and it was easy enough to tell without having to use any measurement devices.

With that much airflow, I do recommend adjusting the rear IO plates. I took a rather drastic measure and drilled three holes in the IO shield, directly in front of where the second TRAM sits. I wanted to be sure cool air could pass over the heatsink. I also replaced the solid IO shield on the empty slot with a vented one to allow more compartment airflow.



So, if you've read all this and want to do the same or similar thing with your TRAMs and Max or High IMPACT, here's your shopping list!

* Fan: Delta AFC0912D-PWM (available from most PC modding web shops but out of stock at larger resellers as of Feb 2022). I picked mine up from FrozenCPU.
* PWM Controller: Coolerguys 12v PWM Fan Thermostat Controller. Available directly from their site.
* Fujipoly 17 W/mK TIM: I snagged mine from Amazon. Look for Fujipoly Ultra Extreme pads. They'll list 17 W/mK on the ones you need.
* TRAM support: check the downloads! I attached the STL. I printed my pieces in PLA since the transition temp is higher than the TRAMs should ever be getting.

I hope this post helps anyone who's looking to fix up their TRAMs or add some better cooling to their machine. As I said, I won't say this is the best way to do it. This is just the way I came up with solving this issue. If anyone has any questions or would like to add their thoughts, please do!

Thanks for reading!
 

Attachments

Last edited:

Elf

Storybook / Retired, ex-staff
Feb 4, 2019
792
252
63
Mountain West (US)
Excellent troubleshooting and what a thorough and excellent write-up! I appreciate the animated GIF of the resoldering process and the effort you went through 3D printing a heat sink gapper. :)

Quite a comprehensive solution, and I appreciate you posting it! What a bizarre method SGI had of attaching the heatsink with kapton tape; I can't say I have ever seen that one before...
 

CB_HK

Member
Jun 13, 2020
30
35
18
Las Vegas, NV
Excellent troubleshooting and what a thorough and excellent write-up! I appreciate the animated GIF of the resoldering process and the effort you went through 3D printing a heat sink gapper. :)

Quite a comprehensive solution, and I appreciate you posting it! What a bizarre method SGI had of attaching the heatsink with kapton tape; I can't say I have ever seen that one before...
Thanks, Elf! It's always a nice feeling to help provide more tips and tricks for the community. As for the Kapton tape, I can't really figure out why they used it in the manner they did. They may have been worried about the heatsinks coming off but honestly the thermal tape was quite strong as it was.
 
  • Like
Reactions: Elf

bokowski

New member
Apr 14, 2024
1
0
1
Thanks a lot for documenting the problem and the fix! My two TRAM modules had exactly the same issue of loose contacts and I've re-soldered everything.

I'm running into a different problem now, and I was wondering if you have any idea what might be going on.

If I install both TRAM modules on my Max IMPACT, i.e. one on the top board and one on the middle board, the Indigo2 doesn't start properly: I hear the regular chime followed by a dissonant chord, and the power LED stays yellow. I assume this means that some kind of check of the graphics board failed.

I've tried all kinds of things and have discovered that the system does boot if I install only one of the TRAM modules, on the top board. In this mode of operation, anything with textures appears striped, since only every other scanline has the proper texture. Both TRAM modules "work" in this way when I put them on the topmost board and leave the middle board without a TRAM module.

Without any TRAM modules installed, textures work, but as expected there's only 1MB of texture memory available.

Does this mean that there's something wrong with the middle board? The system was (mostly) working with occasional weird glitches before I attempted the repair, and I am wondering if I caused a problem when pulling out the TRAM modules. I don't see anything wrong when inspecting things visually, i.e. there aren't any shorts or bent pins.

Anyway, I would appreciate any ideas, or questions to narrow down what's causing my issues. Thanks!
 

CB_HK

Member
Jun 13, 2020
30
35
18
Las Vegas, NV
Thanks a lot for documenting the problem and the fix! My two TRAM modules had exactly the same issue of loose contacts and I've re-soldered everything.

I'm running into a different problem now, and I was wondering if you have any idea what might be going on.

If I install both TRAM modules on my Max IMPACT, i.e. one on the top board and one on the middle board, the Indigo2 doesn't start properly: I hear the regular chime followed by a dissonant chord, and the power LED stays yellow. I assume this means that some kind of check of the graphics board failed.

I've tried all kinds of things and have discovered that the system does boot if I install only one of the TRAM modules, on the top board. In this mode of operation, anything with textures appears striped, since only every other scanline has the proper texture. Both TRAM modules "work" in this way when I put them on the topmost board and leave the middle board without a TRAM module.

Without any TRAM modules installed, textures work, but as expected there's only 1MB of texture memory available.

Does this mean that there's something wrong with the middle board? The system was (mostly) working with occasional weird glitches before I attempted the repair, and I am wondering if I caused a problem when pulling out the TRAM modules. I don't see anything wrong when inspecting things visually, i.e. there aren't any shorts or bent pins.

Anyway, I would appreciate any ideas, or questions to narrow down what's causing my issues. Thanks!
Hello!

The first thing that comes to mind would be the interconnect cables that attach the boards together. They happen to be fairly fragile and if damaged may be the source of what you're dealing with. Besides this, it's possible that there's some other issue with your middle board and you may need to either find the source of the problem or swap that board out. Unfortunately I'm not too sure where to look specifically when it comes to troubleshooting. Unlike a lot of other vintage systems we lack the wiring diagrams and board schematics to be able to check individual parts and functions.

If you need parts, either the interconnect cables, or middle board, I'd try reaching out to Doug Mashek. If you google Mashek Systems you'll find his site. He has a lot more than what he has listed on there.

Good luck!
 

About us

  • Silicon Graphics User Group (SGUG) is a community for users, developers, and admirers of Silicon Graphics (SGI) products. We aim to be a friendly hobbyist community for discussing all aspects of SGIs, including use, software development, the IRIX Operating System, and troubleshooting, as well as facilitating hardware exchange.

User Menu