David Lehn's TiVo-fu

On September 15, 2002 I blew some cash and joined the TiVolution. I found a "open box" unit for 15% off and decided to get it. It's a TiVo TCD140060. A Series2 "60 hour" unit. It was labeled as "complete" so I figured if anything was missing I could return it. Turns out the thing was new-new. None of the stuff inside was even opened out of plastic bags. Cables all factory wrapped and so on. Happy me!

So of course I've heard of TiVo hacking and upgrading. One of the first things I wondered about was disk images. I'd like a pure image of the disk drive so future hardware could be installed with ease. Since the unit I bought was already opened I feared it would be full of junk from previous owner and the image wouldn't compress at all. A new unit could also suffer compression problems according to the fan sites and newsgroups. Factory testing could leave uncompressable bits all over the drive.

Rather than do anything silly like power up a toy I just bought I opened it instead. Then took the drive out and slapped it in a computer. Had to hope it would compress well since I only had 18G available for the 60G drive. ;-)

My first attempt was dd if=/dev/hdc | cstream -v 2 | gzip -c > tivo.gz. I used the excellent utility cstream to measure how much data has been processed. You can send it a SIGUSR1 signal and it prints out current bytes transfered and byte rate. It turns out that gzip with default options compressed the first 200M or so of the TiVo drive at about 10% compression rate. Yow! So I tried dd if=/dev/hdc | cstream -v 2 | bzip2 -c > tivo.bz2. Much better! Now it's compressing the first 200M or so at a 90% compression rate! I've not investigated what data pattern is causing this huge difference. Unfortunately bzip2 can only compress at about 175K/s on my Intel Celeron 500. gzip compresses at about 1.1M/s. Oh well... I'd rather save the space and wait.

Actually... I'm too impatient to wait. I borrowed a drive from a friend for temp storage and will compress later. Did md5sums on 1M blocks of source drive and the image. Had 1 bit error in the 56G or whatever the size turned out to be. 1 bit! I wonder what caused that. Fixed it with some dd magic.

Fired up TiVo, waited for the download, loading, and processing of data, and paid my service tax. Then recalled and let it upgrade the software too.. that took a while to download. Need to get a USB ethernet adaptor for this puppy.

First impression is that this is a cool toy. Only real problem I see so far is it only has one tuner vs two. I imagine two would solve just about all scheduling conflicts and let you record and watch live TV. Not such a big deal for my setup while I'm around since I can just flip to the TV tuner. But would be nice to be able to record to things at once. Will have to see how well suggestions work and so on but I like it so far.

That's it for now... I'll actually try using the box for a while. Next step is to do some hacking. Upgrade harddrive(s) when I need more space. Also try adding TiVoWeb software so I can control this thing remotely. Till then...

Please don't ask me for the TiVo drive image. I'm not sure of TiVo's policy on exchanging such data and it's too big to transfer anyway.

location: / home / projects / tivo /
directory: []

$Id: index.php,v 1.4 2004/01/17 03:38:03 dlehn Exp $

Copyright © 2003 David I. Lehn