Fixing an XBOX with a bad TSOP

Several months ago, I acquired a second XBOX to use as a media center in my house. I thought I would try to skip the expense of a modchip, and I tried to flash the XBOX’s TSOP directly. Unfortunately, something went wrong, and I ended up with an XBOX that wouldn’t boot. I had to break down and purchase a modchip to replace the motherboard BIOS. Well, a few days ago, this XBOX developed a nasty problem whereby it would switch itself off after a random amount of time. Because the family is hooked on watching IPTV via the XBOXes, I went out and purchased a replacement, and moved the modchip over to the new unit.

I had a dead XBOX on my desk, and thought that I had nothing to lose by seeing if I could fix it. The first problem was fixing the switching-off problem. After careful inspection of the motherboard, I discovered that one of possibly several electrolytic capacitors had leaked in one area of the board. The main suspect was the 1-Farad clock backup capacitor. I replaced the few capacitors in the immediate area. I also replaced the heat transfer paste between the heatsink and CPU.

Powering up the unit (with a borrowed modchip) showed that the power-off problem appeared to be fixed. Good! Now I needed to address the TSOP issue. I spent many hours scouring the net to find a solution that didn’t involve removing the TSOP from the motherboard (a very daunting task). I discovered that I couldn’t boot from a BIOS on the LPC bus (that’s the header connector on the motherboard that most modern modchips plug into) and then access the TSOP to flash it. The solution ended up being building what’s called a 29 wire modchip. Yes, it’s as daunting as it sounds. The premise is simple – program a flash chip with a suitable BIOS, and solder address and data wires to the motherboard. As the name suggests, there’s 29 wires, and the contact points are very tiny. I used the diagrams at xbox-scene.com to construct the modchip. I also used this article to add the disable switch.

Several hours later I had a programmed flash chip (a 29F002 – 256K flash chip scavenged from an Asus P2B motherboard) with a disable switch soldered to the XBOX’s motherboard. I had to assemble a working XBOX with DVD drive and power supply on my bench, and hope it would live long enough to re-flash the TSOP. I powered it up, and it booted! I was successfully booting off of the new flash chip. I booted the Xebian distribution from DVD-R (I had to try three different media types before I found one that would successfully read in the XBOX drive). As soon as Xebian booted, I used SFTP to copy Raincoat 0.7 and a bios image file (the same one that I had burned on the flash chip) over to the /tmp directory on the XBOX. At this point, I used the switch to disable the replacement flash chip. I then used SSH to get a command prompt on the XBOX, and ran ./raincoat -p bios.bin. The screen said that the flash was successful. I tried rebooting the XBOX with the flash chip disabled. Success! I was booting from the internal TSOP.

I carefully removed the 29-wire mod and re-assembled the XBOX. I now had a modded XBOX with no modchip, and now every TV in the house has an XBOX running as a media center.