TiVo Canada Setup Guide

Please note, this is only for Canadian residents. TiVo's are not sold here and they do not support them. We hope they will change their policy. Until this happens we have to find other ways to load guide data on them. If you live outside Canada please get a subscription to keep this excellent product going. Plus it is a million times easier to pay for listings than doing these hacks.

New FAQ section added.

If you are looking for the CVS it is here.

The instuctions on how to use the new beta emulator are here. It is becoming the prefered way of doing things and I suggest if you have a spare PC to run a web server like apache on to use this method. It is much more advanced but does alot more for you, now that there are scripts that automate almost everything it really not that hard to setup. binary options philippines

What You Need:

1) Series 1 TiVo Unit

HDR112 - 14 hour, with one hard drive
HDR212 - 20 hour, with one hard drive
HDR312 - 30 hour, with two hard drives and 1.2.1 software
HDR31201 - 30 hour, with one hard drive (LCT10) and 1.2.1 software
HDR31202 - 30 hour, with one hard drive (LCT10) and 1.3 software
HDR31203 - 30 hour, with one hard drive (LCT15) and 1.3 software
HDR612 - 60 hour, with two hard drives
SVR-2000 - 30 hour, with one hard drive (LCT15) and 1.3 software

You can get one from Ebay. If you plan to upgrade to a bigger drive a 14 hour drive will do, they are all the same.

A series 2 tivo is NOT hackable yet. There are some things you can do to one but you can't add any software to it like tivoweb.

2) Torx 10 Screw Driver

3) Spare PC (Unix(linux))

PART 1: TiVo Unit Modifications

Step 1: (possibly not required) Go through TiVo Guided Setup

- This will require 2 separate phone calls (likely long distance from Canada)
- If you enter your right area code you should be able to get local numbers. I live in Calgary and was able to get local number.
- Along with approximately 40 minutes of time

NOTE: This is debated in messages I've read - Many say to download copies of the upgraded drive images rather than use the guided setup (I have yet to find any anywhere so...)

Step 2: Backup existing TiVo Hard Drive/Adding bigger drive

Read this excellent How-to on backup your drive and on how to add one or two larger drives.

If you want a newer image than the one your TiVo currently has then head on over to here and grab a version 3.0 image. You can use these images with the above how-to.

Step 3: Activate Bash Prompt, FTP and tivoweb

Read this Newbie TiVo Hacker How-To Guide on everything you need to know on how to get a Bash prompt and install all the needed TCP/IP tools. Blah blah blah, thats just too complicated, this guy has a much better and quicker way to get bash install. binary trading option

PART 2: TiVo System

After your able to telnet into your TiVo its time to configure it for your local channel listings. I'll assume you have installed all the software in the above step.

First you need to create your stations.txt file. If your lucky someone might have uploaded one already uploaded one here. If there is not one there for you and you do make a successful one please upload it for others to use. If there is none there you'll have to make your own. Use this as your template, you'll see something like this:

# number, callsign, name, serverid, zap2it_id
21,TSN,The Sports Network,1100021,1100021

21 = channel number
TSN = channel call letters
The Sports Network = channel name
1100021 = tivo server id number, channel 2 would be 1100002, channel 3 is 1100003...
1100021 = station_num from zap2it (no longer really needed)

Well I've been informed that is the old school way of doing things. Now that we use XMLTV the zap2it_id in not needed... So now instead of using the zap2it_id for the last number just copy the serverid, so the last two numbers will be the same. If you still want to add the zap2it_id follow the intructions on how to get them from the headend instructions about how to get TMSid's

Also before i forget, there should be no spaces on either side of the comma's, and try not to use any punctuation in the descriptions like A&E.

Now that you read all that and understand what the stations.txt file is and does there have been recent improvements to automate this process. Thanx to Dennis, he has created mkconfigfiles.pl (this is from the cvs so it uptodate. uses the same user/pass as the cvs. might need to right click the link and save as...) To use the script you will need to have completed part 3 first.

Do this for all the stations you can get. Once you get your stations.txt file done ftp it to your TiVo and put in in your /var/hack directory. Also get channel_remapper_v1.1.tcl. In this file about halfway down there are 7 lines that are commented out. If you remove the #'s the script will change the name of stations already in your TiVo, this is a good thing. While you are editing the file right above the 7 #'s you deleted put one before the line: binary option trader

#puts " Station already in database. Leaving entry untouched"

If you edited the file on a Windows PC use DOS2UNIX on it to convert it to unix style. Now ftp your edited channel_remapper_v1.1.tcl to your TiVo into your /var/hack directory. Telnet to your TiVo:

bash-2.02# cd /var/hack
bash-2.02# ./channel_remapper_v1.1.tcl

A bunch a text will scroll by saying it is either changing or adding channels. After it is done check on your TiVo under Messages & Setup -> My Preferences -> Customize Channels -> Channels You Receive. This should now reflect your own channel line up. Some people say there is a better way of doing this. Once I get the info I'll post the other way here just incase this one does not work for you. After this is done stations.txt file is not needed for getting guide data, only if you want to redo your TiVo's channel listings.

Now your ready for the next part but if you want to add custom logos for all your stations check this how-to and get logos from here. (Will add more info here later...)

One more thing before we go onto the next section. From tivo_canada get slasher's files that are used to load slices on the TiVo. There are two different versions for 3.0 or 2.5. Unzip the file on your TiVo to /var/slice. While there mkdir /var/slice/packages You might also need to chmod the files also (i'll add more info here later...)

PART 3: Unix/Linux System Prep work

Windows instructions for this part have been now added!

Now that your TiVo is all configured and ready to go now it is time to get you Unix/Linux system setup to download and make guide slice files for your TiVo. This How-To assumes your using a real Linux box (I have RedHat 8).

First check to make sure your perl is up to date:

% perl -v
This is perl, v5.8.0 built for i386-linux-thread-multi

If it is not at least 5.7 get and install a newer version from Perl.

Now for installing all the other software you'll need. First we'll install Expat, for you redhat people try this. For those of you who are newbie to linux:

% ncftpget ftp://rpmfind.net/linux/rawhide/1.0/i386/RedHat/RPMS/expat-1.95.5-2.i386.rpm
% rpm -Uvh expat-1.95.5-2.i386.rpm

If it complains about dependencies just go to http://rpmfind.net/ download it and install it.

Once that's installed time for XMLTV. Hop over to XMLTV's home and grab the newest version and install it:

% tar -jxvf xmltv-0.5.11.tar.bz2
% cd xmltv-0.5.11
% perl Makefile.PL
% make
% make test
% su root

% make install

If you get an error such as:

Use of uninitialized value in concatenation (.) or string at
Makefile.PL line 99, <FH> line 1.
Date::Manip producing errors like '', but locale is not UTF-8. Try
setting LC_ALL=en_US and running the Makefile.PL again; also report
this message to the XMLTV maintainer.

At the prompt:

% LC_ALL=en_US
% export LC_ALL

Another suggestion is to run linuxconf and reset your language. This seems to have been fixed in the newer versions of xmltv, so maybe upgrade to newest xmltv to fix.

Now I can't remember if this comes before installing the above so if you get errors above about missing perl modules. This all comes from the README file included with the XMLTV package. These are the perl packages you'll need to install, you might need to be root to do this:


One user said he had to also install:

To install these type:

% perl -MCPAN -e shell
CPAN> install XML::Twig

Do this for each of the above packages, some take a little longer than others to install. Helps to have broadband too. Also if you get any errors saying gcc is missing you'll have to install the developer package that came with your distribution of Linux. It's a very handy thing to have installed anyways.

After all the perl stuff has been installed it is time to install the Tivoguide package with includes all the stuff that makes the guide slices for the TiVo. If not done so already I* would create a new user just for TiVo stuff. I created a user call tivo (duh) i'm not sure how to do it on the terminal as i used a handy app in X to do it. With the new user grab Tivoguide to your home dir and do:

% tar -zxvf tivoguide.tar.gz

I'll try to keep that file up to date but if your running a linux system there is a way to get the latest versions of all the files in the tar file above.

% cvs -d:pserver:tivocanada@www.tivocanada.com:/usr/local/cvsroot login
% -- type in the password
% cvs -d:pserver:tivocanada@www.tivocanada.com:/usr/local/cvsroot co guidedir

You can get the password from the tivo canada forum. This places all the newest files into a dir called guidedir from there you can either move them to where you want or just run it from there. To keep it up to date all you need to do it this:

% cvs update guidedir

It remembers where you got it from and also remembers the password.

This should extract all the files into a dir called guidedir. If you go in there you'll see a bunch of new cool stuff. We need to configure .tivoguiderc to point to the right directories If possible edit it on the Linux system using something like vi, that way you don't need to convert it when you edit it on a windows system. If you did edit it on a windows system don't forget to DOS2UNIX it. You will need to change the guidedir line to point to the path where your guidedir is.

  guidedir = /home/tivo/guidedir  


Almost there, one more thing needs to be done before we can start make guide slice data for our TiVo's. As your tivo user:

% tv_grab_na --configure

Follow the instructions and it will setup your system for your local settings. If at any time your channels change you'll probable need to run this again to add or remove the channels that are broke.

PART 4: testing on the Unix/Linux machine

Windows instructions for this part have been now added!

Ok now we have out TiVo setup and our Unix/Linux system ready with all the software we need to grab and process guide info from zap2it.com. Lets test all this stuff and see if we can get some new Canadian guide info into your TiVo.

Log into you Unix/Linux machine as your tivo user:

% cd tivoguide
% tv_grab_na --days 1 --quiet > ./listings/test.xml

This will grab 1 days worth of guide data from zap2it.com and make an XML file called test.xml in the listings dir. If you want to see more feed back from this just remove the --quiet switch from the above command. The file once done will be a large file. On my system for one day my file is about 700k. It is just a plain text file so if you want to look at it you can. (less test.xml)

Moving on to the next step:

% ./parsexmlguide.pl -f ./listings/test.xml

Now if you edit the file right it should display a few things with no errors. I can't remember what is says but there is stuff about finding nodes and increments through it. If goes good in the shows directory you should have two directories that are number like 12093 & 12094 these are important for the next step:

% ./mkslice 12093+1 > ./slices/tivo.slice

The numbers you put in there will be different depending on the day and how many days you grabbed with tv_grab_na. 12093 will be the lowest number in your shows directory. 1 will be the number of days you grabbed, so if you grabbed 10 days it would be 12093+10. Again hopefully there was no errors when this ran. Once it is done you should have a file called tivo.slice in the slices directory. Now ftp the tivo.slice file to your TiVo and put it in the /var/slice/packages directory.

PART 5: testing on the TiVo

Ok now we have the guide info in the /var/slice/packages on the TiVo. So telnet to your TiVo and switch to the /var/slice directory. Now the fun part adding the guide info into the TiVo.

bash-2.02# cd /var/slice
bash-2.02# ./do_slice

This will process all the slices in the package directory. depending on how much info and for how many days this could take a while to do. On my system for 10 days worth of data it takes close to an hour to process. Once it is done it will send a message on the TiVo system letting you know which slice files it added to the system. It might take a while after do_slice finished before the new guide data shows up. After it loads the new data it has to index the data and it does it in the back ground so give your system some time before you start to panic. Also at the end of the do_slice program it is suppose to call the fixup30.tcl program it makes you system think it phoned home and sets it not to call for 7 more days. you can run this program anytime you like also:

bash-2.02# ./fixup30.tcl

Here's another little fun fact, to keep your TiVo's clock up to date type, you can use any time server (i use one at the UofC):

bash-2.02# ntpdate -b

PART 6: automating slice generation

Well this all fine and dandy but wouldn't it be the cat's ass if we could get this all to happen all by itself everyday or two? Well you're in luck there is a way to do it! Back on the Linux system login as your tivo user in the guide directory there is a file called slasher.pl that does all the above steps for you plus a couple more. First we need to edit the slasher.pl file you should only need to change a couple lines:

my $Days = 10;
my $TivoIP = 'tivo';
my $NTPHost = '';

These are the defaults and you can change the number of days it grabs each time. 10 days seems to be about right i think zap2it has 13 days of info on their system. Any less than 7 your TiVo will tell you your running out of guide data. As for the TivoIP, on my system tivo maps to you'll need to enter the IP of your TiVo there. NTPHost is the IP of the time server you want to use, the default one should work for everyone but it is located at the UofC here in Calgary. If you followed this How-To you should not need to change any of the other settings. If you edited this on a windows system don't forget the DOS2UNIX.

To test this all out:

% ./slasher.pl

If your getting guide data for the first time for 10 days this will take a while, go get a coke or coffee or shower and come back in an hour to see how it is going. With any luck your TiVo now has 10 days worth of guide data.

Well that's all good but if your lazy like the rest of us even that is too much to type. We can set it up to do it automatically for us. For this we will need to do it all on the Linux machine (other *nix's will be different). Logon as tivo and do the following:

% crontab -e

The vi editor should start up, hit i to insert, this is what you want to insert:

0 3 */2 * * ( cd guide; ./slasher.pl --v --days 10 2>&1 | mail -s 'TiVo Log' tivo )

This will set up to run slasher.pl every-other night at 3am and mail the output to the user tivo. The first two number are the minuets and hours it runs, the */2 does it ever second day. the other * * are for other things like month or year but we donut need to worry about it. it then changes to the guide directory and runs the slasher.pl script in verbose mode for 10 days worth of guide data. you can have it mail the out put to any email address you want depending if you've setup mail on you system. Now still in the editor hit <esc> : wq <enter> this will save the cron job and activate it.

Ok now that you've read through all that and hopfully it makes some sence. We now have an IRC channel which a few of us hang out in to give out help. Head on over to #tivocanada on EFNet. Get mirc here or if your using Mozilla click here. Now I have setup a real FAQ that I will add new Q&A's once I come across some.

That should be it. If you have any questions or comments about this How-To email me. If you have any questions not answered here please email the tivo_canada group, they are much smarter than me.

Finally I would like to thank all the guys in the tivo_canada groups as they put up with all my bad newbie questions. Also would like to thank evilm35 for his first how-to which i based mine on, I hope he does not mind me making improvements to it.

*this is my opinion, like ass holes everyone has one, like they say YMMV...

PS. if the graphics on this page look crappy get a real browser. IE has issues with png graphics.

Valid CSS! Valid XHTML 1.0!


05106 Last updated: Sunday, August 3, 2003 10:48 AM