Review: Tivo CacheCard

There is little to actually review about the TiVo Cachecard, but I will try to do my best here for those interested. Soon after the TiVo’s release, enterprising hackers figured out ways to expand the system’s capabilities. One of the more common modifications is adding additional hard disks (or replacing the hard disks entirely) to increase the recording time of the unit. The problem with this is that as you expand the capacity of your TiVo, you really do start exceeding the design intent. While the TiVo works with gigantic drives, as the number of recorded programs increases so does the amount of time it takes to work with that program database. People with expanded TiVos generally notice delays (sometimes very large) when doing everything from simply viewing the “Now Showing” listings to Adding/Rearranging their Season Passes. The problem is that the TiVo stores this database on it’s disks, which are already being abused by recording and playback of the video streams. This isn’t so much of a problem when the database is small, but as it grows, it slows.

The CacheCard is a expansion card for the factory test connector on Series 1 TiVos. The card has a single DIMM slot that accepts industry standard PC133 512MB SDRAM. When the proper drivers are installed, they create a cache of the entire TiVo program database in that memory, and all read requests for the database now hit off of that cache, instead of the disks. The net effect is that database access time is drastically decreased, by 2-3 times. In addition to the memory slot, the CacheCard also provides a 100BaseTX Ethernet controller (since most “TiVo Hackers” are already using the factory test connector for an EtherNet adapter and the CacheCard would displace that).

Installation was pretty straightforward, but then again I had already installed a TurboNet card in my TiVo a few years ago, so it would be more involved for someone “starting from scratch”. I downloaded the “native” driver installer (that runs directly on the TiVo) and ftp’ed it over to the TiVo. I telnetted in and installed the driver software. I then shutdown the TiVo and took the cover off. I removed my TurboNet card and replaced it with the CacheCard without issue. It’s a real tight fit (even moreso in the DirectTiVos, I understand), and both the DIMM socket and the card connector were both pretty tight, but I squeezed it on there. I connected the network cable to the new card and booted the TiVo. After the gray “Just a bit longer” screen appeared a cool CacheCard screen was displayed. Unfortunately for me, this screen was red and said Error on it. This was real bad news for me.

I tried reseating the RAM and the card itself and tried again, but still no dice. I disconnected the network cable and removed the ram, and tried again, and still no dice. This time I let the TiVo boot completely and did the remote control trickplay to bring up the Unix log files up on the television. I saw that the TiVo wasn’t recognizing the card properly, so I shut things down again. This time I really jammed the hell out of the card and the RAM, really pressing hard on it, and then rebooted again. This time, I got a blue CacheCard screen instead of a red one, and there was a little progress bar showing the caching/verification status.

This initialization process on boot takes quite awhile. It seems to copy the database into memory, then verifies the copy (to make sure there were no copy errors), then it “caches”. I’m not quite sure what it is doing in this step, being that the database had already been copied over, but the net effect is that the boot process now takes about 2-3 minutes from it’s stock .5-1 minute. But that tradeoff is definitely worth it…. When the TiVo was finished booting I brought up the Now Playing menu and it appeared instantly for the first time since I added 80G to the TiVo. I then went to the Season Pass Manager and rearranged the order of two of the passes. When I “committed” the changes, it still took awhile to resolve all the dependencies, but it went much faster than before. As far as the “primary intent” of the CacheCard, it passed with flying colors.

Finally, I wanted to test the network performance of the CacheCard. The first network card for the Tivo was the TivoNet, which provided an ISA slot off of the factory test connector which a 10Mbps NIC was inserted into. The next generation of NICs for the TiVo was the (aforementioned) TurboNet, which was a “native” 10/100 NIC for the TiVo. It offered increased performance (although the top throughput of the card wasn’t anywhere near 100Mbps due to limited bandwidth on the factory test bus). Later the AirNet was introduced, which provided a PC Card slot for an 802.11b Wireless NIC. The CacheCard advertised increased performance over the TurboNet card, which was impressive, but I was skeptical. After pulling a few program streams down off the TiVo last night I can say that their claims are true, the CacheCard NIC is about 20-30% faster than the TurboNet. In addition, since the disks inside the TiVo are now being used less due to the database cache, things like Tivoweb run faster as well.

I think the CacheCard is a very impressive product, and I highly recommend it to anyone who has expanded their Series1 TiVo. It is a pretty easy install and the benefits are clearly tangible. It’s almost a no-brainer.

6 thoughts on “Review: Tivo CacheCard

    1. Not sure yet…. My dad has a series1 unit, so I will probably give him first dibs… But if he doesn’t feel like dealing with the hassle of hacking his Tivo, it might be up for grabs.

  1. Glad it’s working out for you! Personally I would have spent money on a Series 2 rather than the RAM for the card, but I don’t pull movies from my TiVo… you do, so it’s a good fit there. I’ve used Series 2 TiVo’s a lot with friends and they’re pretty darn snappy with large databases. HMO (now free!) is nifty too. I was writing a PHP based HMO server, but I think I’m just going to get involved in the JavaHMO development and see how that goes. Have fun with your new Fast & Furious TiVo!

Leave a Reply