By mrbill on Jun 26, 2008
So today we take a slight detour from the JET and Sun related geeky blahgs. Tuesday night my Series 1 DirecTivo decided to go Kablamo (with all due credit to Steve Matchett and David Hobbs). Wednesday morning, it was doing a "powering up, please wait" and GSOD (Green Screen of Death) loop. The GSOD was lasting about 3-4 seconds, so I knew something was terribly wrong.
This is a hacked DirecTivo, with one 30G (original), and one 160G PATA drive. I hacked the beast way back when 160G drives were the biggest and baddest. Remember those days? Back when vinyl records were just hitting 33 1/3 RPM, and the Edsel in your driveway was all the talk of the neighborhood? Well, maybe not that long ago, but at least 8-9 years. Not bad, a cheap "desktop quality" drive lasting 9 years of continuous and hard use. I guess I got my money's worth out of it.
So, do we go out and get a new unit, or try to fix the old one. Yep, I'm a geek. I need to fix the old one first, and then I might decide to go for the new unit. Step one, take out the drives, hook them up to a PC and see what's happening. Fortunately, they were both Maxtor drives, so I was able to use Seatools to do some diagnostics. The Windows version found major damage, so I grabbed the DOS version. The DOS version can fix bad blocks for you. Nice.
Yep. Hundreds of bad blocks in the middle of the drive, but only one bad sector around 66 or so, likely in the middle of the OS or at least the TiVo's system software. Bummer. I couldn't find the TiVo tools that I had last time, but I did remember that an old Sun employee is running a TiVo hack/upgrade/fix-it business now. I hit his website at DVRupgrade (Tell Lou Jacobs that Bill sent you his way if you find this helpful) and grabbed a copy of "InstantCake" just in case I couldn't fix the box, or pull a decent backup off of it. InstantCake will install a real, licensed TiVo OS image on to generic store-bought hard drives (of any size and lineage) for you. This is a nice, legal way to upgrade an old 30 or 80 hour Tivo up to hundreds of hours of standard resolution recording.
So now I'm covered. If I \*totally\* screw things up, I know I can go back to a "factory fresh" installation. Step 2, download the Tivo MFS Tools CD. There are good instructions and links to the software here. Use Google to find other sources of info and software, and as always, your mileage may vary. The MFS Tools (now open sourced from what I am reading) come on a bootable Linux Live-CD. Unplug your hard drives, plug in your Tivo Drives on the IDE cables, and boot from the CD. Leave a FAT32 drive (or grab an old one off of the shelf) to write backup files to if you so desire. Nice stuff.
So I stick on a 20G piece of junk WD Caviar out of a 1998 vintage Windows machine (yeah, it is time to clean out my office), and my Tivo drives. In fact, to keep my desktop machine safe and continue doing real work while things run, I grab a vintage 1999 P-III 933 Mhz Dell Optiplex 100 machine out of the garage to do the rest of this munging with. I know which drive is bad thanks to Seatools (the first drive, or Master). I use mfsbackup to save off my OS and settings. One warning about a bad block, but it was apparently in the SuperBlocks or directory structure, because it continued successfully. Yay, that much is safe. Now I can try to save everything, including about 200 hours of Dora, Bob the Builder and Hannah Montana for my kids. Imagine at this point how incredibly \*miserable\* my kids are without any TiVo in the living room, stuck with only 4 other TVs and DVD players!! The horror...
About 5 hours of "dd conv=noerror,sync if=/dev/hda of=/dev/hdb", and we'll give it a shot. Yeah, hundreds of I/O errors, but what the heck. From my backup, I know that most of the bad blocks are in the data. I had replaced the 30G drive with an old 40G drive from the depths of my filing cabinet. Free is good, and 5400 RPM cool-running drives are hard to find these days. I ran "mfsadd -r 4 -x /dev/hdb /dev/hdc" to marry my drives back together and add in the extra 10G or so as usable space. Pop the drives out of the PC and put the TiVo back together. Serious sidebar. Make darn sure you plug the fan back in!! You only make that mistake once, but it will melt the DirecTV access card in the back of the machine if you don't.
Drives back in, power on... Good old "powering up" messages, and into a GSoD. I expected this, as I just skipped over bad blocks, and I know one was in the system software. Hopefully it will remap or recover and move on. About 10 seconds into the GSoD, the machine reset. "Powering up", and GSoD. Again, not unusual, as I am expecting it to do the TiVo equivilant of an fsck now to get some sanity back in the data areas where the crash really ate some disk. About another 15 minutes or so, and another reset, "powering up", and... drum roll please... Success. My TiVo is now up and running. I am sure that some of my programs are trashed, or contain holes that will cause blackouts or stutters, but at least my Dora, Bob the Builder, and Hannah Montana collections are back online.
If you found this blog via Google because your TiVo is Kablamo, I hope this helped. If you just read it for grins, then I hope your day was better than mine.
To keep things really cool, I even installed (well, cut and snipped) a "chimney" over top of the gap between the drives in the upper case cover, and glued on (Silicone caulk is your friend) a temperature sensitive, variable speed PC case fan wired into the drive power leads. Yeah, it is a bit weird looking, but I'll bet most folks didn't get 8+ years of use out of their TiVo drives (and definitely not when one of them is a 7200 RPM drive). I'll take some pics of that little hack one of these days and post them here as well.