[vox] [Semi-OT] TiVo hacking

Ryan Castellucci vox@lists.lugod.org
Wed, 19 Mar 2003 00:13:20 -0800


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'm sure this will be of intrest to some of you ;-)

As some of you may know, I aquired a 2nd hand TiVo (Phillips HRD212, 20 h=
our)=20
in December. Well, after verifying that it worked for a week, I ordered a=
=20
120GB 5400RPM (for less noise/heat) to replace my TiVo's dinky 20GB hard=20
drive, and picked up the required torx screwdrivers from ACE. When the ha=
rd=20
drive arrived, I pulled the hard drive out of my TiVo, and put it, along =
with=20
the upgrade drive into a spare PC, and followed the Hinsdale Howto, upgra=
ding=20
a singal 20GB A drive to a single 120GB A drive (TiVo refers to the maste=
r=20
drive as 'A' and the slave as 'B'), nuking recordings (you can save them =
if=20
you want, but it's much slower). The upgrade program took abount an hour =
to=20
do it's thing. While I had easy access to the TiVo's filesystem, I modifi=
ed=20
it's boot script to give me a console on the serial port normaly used for=
=20
cortrolling satilite tuners.

Once I got the thing booted back, I was pleased to see nearly 145 hours o=
f=20
recording space. see http://www.cal.net/~ryan/images/tivoupgrade.jpg for =
a=20
screenshot :-)

I soon went and learned about the backdoor codes, and what you can do wit=
h=20
them. see http://www.tivocommunity.com/tivo-vb/showthread.php?threadid=3D=
26530

I currently use the 30 second skip code, the sort code (sorts now playing=
 by=20
expiration, alphebeticaly, or by record date.) and the code that shows=20
suggustions that the TiVo is planning to record on the ToDo list.

About two weeks ago I order a Turbonet (Ethernet that connects to the TiV=
o's=20
debug connector) card and bracket for a second hard drive (I'll get one s=
oon=20
:) from 9thtee http://9thtee.com/tivoupgrades.htm. Horray. Opened up my T=
iVo=20
again, and poped in the card, and tested that it worked (by entering the =
code=20
to make it's "daily call" over ethernet) before closing it back up. After=
 I'd=20
mad sure that it did, in fact, work, I routed a 2 foot ethernet cable thr=
ough=20
a hole in the bottom of the case near the fan, and attached a cat5 couple=
r to=20
the end. I then gleefuly removed the phone cable going across the room.=20
Horray. I fired up my terminal emulator and got a shell via the serial po=
rt,=20
setup telnet, uploaded TiVoFTPd via zmodem (sucks ass but it works), and =
set=20
that up too. Well, now that I had FTP on there, it made getting files on =
the=20
TiVo so much easier. So far I've installed TiVoWeb ( http://tivo.lightn.o=
rg/=20
) with MFSstream for downloading shows off the unit ( see=20
http://indierocksteve.dyndns.org/TivoLinux/ ) and hacked it a little so I=
=20
could download stuff larger then 2 gigs (unsupported by all browsers i tr=
ied,=20
but curl works if I feed it the URL). I also installed the DisplayText mo=
dule=20
( http://www.webguild.com/tivo/ ) for TiVoWeb, and the TiVo version of NC=
ID (=20
http://pvrhack.sonnik.com/tivo/jlc/ caller ID for TiVo and linux, configu=
red=20
to pop the caller's name and number up on the TiVo)

On sunday night I managed to stream video off of the TiVo using curl, vsp=
lit,=20
mplayer and a couple of fifo. I got a script that automates that roled=20
together tonight. And of just course I can download shows and encode them=
=20
with mpeg4 :)

TiVoWeb is pretty cool. It allows remote control simulation, disply of wh=
at's=20
on the screen, undeletion of programs, adding/deleting season passes,=20
scheduling recordings, etc, all over a web interface. Quite nice.

Note that hacks beyond ethernet guide updates and hard drive upgrades req=
uire=20
taking a soldering iron to the TiVo's motherboard on Series 2 (new units =
with=20
USB)

Anyhow, Bill thought a more detailed presention on this would be cool, wh=
at=20
do you guys think?

Oh, and of course, feel free to ask me questions.

One more thing.......

http://www.cal.net/~ryan/images/tivotuners-lq.jpg

- --=20
PGP/GPG Fingerprint: 3B30 C6BE B1C6 9526 7A90  34E7 11DF 44F3 7217 7BC7
On pgp.mit.edu, import with `gpg --keyserver pgp.mit.edu --recv-key 72177=
BC7`
Also available at http://www.cal.net/~ryan/ryan_at_mother_dot_com.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE+eCagEd9E83IXe8cRAls1AJ9kde8BgexATdwXFernSjttmmZ52ACeJ6bk
2pm6jZFw9kSVkAejKuwPCUY=3D
=3DOXM1
-----END PGP SIGNATURE-----