Membership: Join Now : Login

My great TiVo sadness

I love my TiVo. I added it to the office mix 13 months ago and now find it hard to picture getting through the day without it. And yet I don't have to picture it, because that's exactly what I'm doing. I'm very sad. If you've never read about the TiVo, you should, because it's the most amazingly cool television add-on since color. (If you have, you might want to skip down to the sad part.) TiVo marries big hard disks, a fast MPEG encoder and decoder with a database of every program available to you for the next ten days, a database of all your program preferences and generic likes and dislikes, and a circular buffer for watching live TV. The result is an intelligent TV processing system that records programs you like automatically, always knows exactly what's on TV (barring last-minute changes and sports delays), and uses it all to your advantage. Just a few of the TiVo features I use every day to save plenty of time and keep up with the world while writing an insane number of hours:
  • Season Passes. I identify the programs I want to watch and TiVo sets up the recordings. This is particularly useful with cable/satellite channels (my office uses Dish Network for lots of channels cheaply) that run programs multiple times. If I want to watch two programs on at the same time, the TiVo records the one I want more and finds the other one on later in the week, since most cable stations run every program more than once. I can watch Monday Night Football while putting together an issue and still get other programs recorded at 2:50 AM on Thursday when, hopefully, I'm in bed.
  • Complete descriptions. Since TiVo uses a database of all current programs, all I have to do is press a button on the remote control to see what program is on right now, complete with synopsis. Another couple of presses show me future episodes of the program, with channels and times, allowing me to record any of them.
  • Suggestions. TiVo invites you press a "Thumbs Up" key for programs you like, giving them up to three thumbs up (don't ask). There's a similar "Thumbs Down" key. TiVo examines the programs you like and don't like and figures out their attributes: "Hmm, he likes comedy but not John Candy, he likes game shows but not The Newlywed Game," and so on. After a while, it starts examining the program database and suggesting programs you might want to watch. If you want, it will record them for you using only free hard disk space. It's wonderful to turn the TV on and see recordings that may expand your mind (and your writing) that you didn't know were on.
  • Instant replay and pausing. TiVo records even live TV to disk and plays it back, so you can pause the playback -- it keeps recording to disk but stops the playback. An "instant replay" key replays the last eight seconds of the program. If you turn on the TV, the previous 30 minutes of the current program are already in the buffer, kept until you change channels when the buffer is cleared. If you pause for 30 minutes, the program restarts because the buffer is full and you're now at the back end of it. That rarely matters, though -- you just fast-forward through commercials (at the rate of one minute per second) and catch up within about 30 minutes.
  • The hard disk thing. Since all TiVo programs are recorded in MPEG on a hard disk, you can watch any of them at any time. There's a menu to choose from available recordings, and if you have lots of hard disk space you can keep 50 or 60 or even 120 hours of recording around for your convenience. Didn't watch that weekend worth of Iron Chef episodes? Keep them around until you can. No rewinding or managing of video tape, no accidentally erasing programs you meant to keep, no stacks of cassettes. TiVo keeps all programs until you need the space, and most have lots of space (at least 30 hours).

The sadness

My office has a Sony stand-alone SVR-2000 TiVo recorder, originally a 30-hour unit, but that's in "Basic" quality (fairly low MPEG resolution). In "Best" or "High" quality, it would only hold 9 or 14 hours of recordings, and I wanted more than that. One of the best features of the TiVo is that it is upgradeable, though not in a supported way. Get a big ATA hard drive, run a simple program to "bless" it for TiVo use, hook it up as a slave drive (there's space in the case plus power and ATA cables), and restart the TiVo. The TiVo finds the new drive and "marries" it, instantly making its space available for new recordings. I hadn't had the TiVo in the office for two months when I knew I wanted more space, so I got an 80GB Maxtor DiamondMax 7200RPM drive and added it to the TiVo. Bingo: in my preferred "high" quality setting, I'd gone from 14 hours to 56 hours, more than enough to keep around anything I might want to view. It was heavenly. I've depended on it more and more, capturing everything from
The Daily Show to Steve Jobs keynotes to movies I can't take the time to see on my work schedule (so I can watch them while collecting news -- you try writing every day when you have no idea what's going on in the creative world). A few months ago, though, trouble came to paradise. Shows started to "stutter," to use the TiVo terminology: the audio and video would briefly stop, the video would pixellate because the MPEG decoder ran out of data for some reason, the audio would skip a second or so, and then the program would resume. This happened with live TV (due to the instant replay buffer) as well as recorded programs. Usually, but not always, pressing instant replay fixed it: I'd see the same segment of program but without the glitch. That told me it was only a momentary problem; it was recorded correctly but didn't play back. The TiVo is a PowerPC-based Linux box. I've learned that of all the threads running at once (recording, playback, database indexing, suggestions, phone calls for database updates), the recording thread has the highest priority. What seemed to be happening was that the recording thread was getting the programs onto disk correctly but that the system didn't always have time to play them back accurately. Over the past few months, this stuttering has grown more rampant. A few weeks ago, it was approaching two to three stutters per minute, making some TV all but unwatchable. It seems to be a timing problem. I normally record programs at "high" quality (the second-highest setting), a setting that requires less of the MPEG decoder than "best" quality. Those programs played back with a minimum of stutters. However, the TiVo always uses "best" quality for live TV programs you're watching but not recording, and those stuttered like crazy. It told me that the high demands of best-quality encoding and decoding weren't being met. I was rebooting the TiVo every day, sometimes several times per day, to get better performance out of it, but by last week the stuttering was beginning just a few minutes after restart. Posts on TiVo forums suggested that other people have experienced the same problems. I thought about deleting all my saved programs, but others said that didn't solve their stuttering problems. I kept investigating possible solutions, but one kept coming up over and over: the add-on hard drive. Several people reported problems with the 80GB Maxtor hard drive. Some said the 7200RPM model was faster than the TiVo needs and heat was an issue, but I couldn't verify that in my case. Others said they'd replaced it with Seagate or IBM drives and had no further problems. By Sunday, things were bad enough that, while examining Mac stuff at CompUSA, I purchased a new 5400RPM Maxtor 80GB hard drive to replace the one I'd been using. Even if it's not up to the rigors of sustained MPEG streaming 24 hours a day, the old 7200RPM drive should make a perfectly serviceable Macintosh hard drive.

The non-fixes

The problem with such replacements is that, as mentioned earlier, the TiVo "marries" the second drive when it's added. The original drive is the "A" drive, the upgrade drive is the "B" drive. Once you've added a "B" drive, you can't remove it or the TiVo won't boot. It uses its own file system (it seems to be a variation on a Linux file system), so you can't just mount it on a PC and access the files (there'd be hell to pay if you could because it would make passing around MPEG versions of shows trivial). There are some special tools around, as mentioned on the Hacking the TiVo page, but they're pretty few and far-between. My plan was simply to perform a device copy -- a block-for-block copy of the old drive onto the new drive. The file system and data structures would therefore be identical and the new drive would be just as "married" as the old drive was (please, no bigamy jokes). I asked my old friend Dave Shayer of Sentient Software what he'd use to do the block copy, and he recommended the "Device Copy" function of Hard Disk ToolKit, which we happened to have. So I took apart the TiVo, took out the "B" drive, mounted it in a blue-and-white Power Macintosh G3, mounted the new drive alongside it, and ran HDT. <sigh> The current "B" drive has a formatted capacity of 76.5GB. The new 5400RPM drive has a formatted capacity of 74.8GB. You can't do a block copy of a larger disk onto a smaller one (though HDT gives an inappropriately funny error message if you try). Of course I know that formatted capacity is less than rated capacity, but giving up 5GB out of 80? That seems excessive. I probably can't return the drive now because I opened it to find out it was too small, but I may try. </sigh> While I was coming back from CompUSA, the TiVo hung trying to record The Simpsons, eventually missing the first 13 minutes of the 30 minute show. Monday afternoon while I was doing other things, the machine hung again, stopping for at least 35 minutes and requiring a power-off restart to make it respond to any commands. That's when I took it out of the system until the hard drive problem can be repaired. This has proven to be a lot more difficult than I thought. In the absence of a device copy, the only way to replace a TiVo hard drive (that is, unless you're a TiVo employee) is to back it up and restore it to a new disk. The only utility available to do that is called and it's a Linux program. Unfortunately, the source code is not available, so I can't try to port it to Mac OS X. All that's available is a binary for Wintel-based Linux systems, and I don't have a Wintel system. I don't own a single non-Mac PC and have never owned a non-Apple PC because I've never needed one. I shouldn't need one for this, either, but I can't find a Mac OS or Mac OS X solution. I can bless a new drive on the Mac, and get source code to such a program, but can't backup or restore the files. If I buy a new TiVo, I lose a year's worth of season passes and thumb ratings and would still need to upgrade it to have enough capacity to be a great tool for me. I'd also lose the lifetime service I have for this one, and replacing that costs $250 (lifetime service is tied to the unit, not to me). I don't really want to buy a PC to do TiVo hard drive manipulations because we have no other use for it (aside from occasionally trying Windows for competitive analysis). I'm trying to think of someone here in town with a PC I could use for a few hours. I tried installing Virtual PC 3 with Linux, but it can't read actual ATA drives -- it only uses drive images or CD-ROM drives. I can't make it figure out that I want the PC to control an entire drive unless it's in DOS format, and the TiVo drives are not. I even tried looking at the "B" drive in SEdit (Dave Shayer's disk editing utility, not for the faint of heart), because several of the upgrade messages said that you needed a version of Linux with "Apple partition support" built in. I thought the TiVo drives were probably using Apple's well-documented partition format, and maybe I could do something with the partitions. What I found floored me. Sure enough, the drive does have an Apple-style partition map, but with every other pair of bytes swapped. Instead of the partition map entry named "Apple Partition Map", it's named "pAlp eaPtrtioi naMp". It's exactly as if each two bytes had been loaded into a 16-bit register in the right order and written out in the wrong order. Even though PowerPC and Intel chips have different byte orders, I've never seen a string munged like this. Obviously the Macintosh doesn't recognize this as a valid partition map and can't manipulate the volumes. I didn't do enough digging to see if the binary structures (like block numbers) were word-reversed as well, but I saved some blocks to disk if I want to look. If I spend another $300 for a 160GB hard disk, I can back up both my "A" and "B" drives to it and have a single-drive system with more capacity, if I can find someone with a PC I can use that has enough space to let me mount three drives at once. In the meantime, my beloved TiVo sits idle, incapable of keeping up with modern TV. I'm missing programs I want to see, I just know it, but I don't know what to do. I'm very sad.

Discuss
[ Print This Page ]