TiVo-in-Mexico HOWTO

Revision history


200311182115: Added a few links. From now on I will publish only tar.gz slices, since it is a lot faster to copy them to the TiVo in that format.
200307131415: Fixed basetools.tar.gz archive. Added slices in tar.gz format for direct TiVo download.
200307070021: First beta release for testing purposes, with total disregard for existing HOWTO guidelines.

Warning: Here be dragons


All information in this page is provided AS IS, with no explicit or implicit warranty implied of any kind. I have developed this area in order to make my TiVo less of a paperweight and more of a PVR, and I am sharing back in favor of the community. Programs, scripts, slices and any other file in this area work for me to a certain degree, and they may also work for you. Then again, they may not: your mileage may vary, or you may get no mileage at all. You are welcome to use them at will if you feel bold and adventurous (which means you fit in the Mexican TiVo demographic anyway), but you will be the sole responsible if your TiVo scares your cat, terminates your artistic career, ruins your marriage, loses functionality or stops working altogether.
You have been warned.

After the disclaimer du jour, let’s move on to the fun stuff or get some downloads already.

Introduction

I don’t watch a lot of TV, I use it mostly as background noise. There are several shows I like but it’s hard to catch them on tape, since the VCR is too stupid to deal with digital cable boxes and satellite dish receivers where the good stuff is anyway.
Last year mcLeod got himself a TiVo, broke free from the tiranny of the networks and became the target of my envy.
In www.tivo.com I learned that the TiVo works beautifully as long as you 1. Live in the US or the UK, and 2. you stay current on your monthly fee. Doing a bit more of research on the Internet, I found a vibrant worldwide community of TiVo users that have made their TiVos jump through loops in order to gain access to all of its functionality when they don’t comply with [1] (or they just don’t want to pay up, but that has some moral and legal implications).
On June 2003, after Merkalink lost track of the shipment for a week, I got a Philips HDR112 Standalone TiVo. It may be the best money I have spent in any kind of hardware ever.

After fiddling around with it for a while, I decided to add to it some of the functionality that’s missing when you live in Mexico, including channel lineups for Mexico, logos for mexican stations, and -most important of all- guide data, complete with ratings and descriptions whenever possible.
This is the fruit of my ongoing effort, product of some hours of my experimentation and many years of hard work from the community. I hope you find it useful.
There are more notes about my experience with my TiVo at my blog and at the TiVo section of my homepage.

Requirements

  • Get a standalone TiVo with OS version 2.5 or 3.0 (haven’t tested these scripts with anything else).
  • Back up your TiVo. Refer to the Hinsdale Howto for further instructions.
  • Now is a good time to back up your TiVo.
  • In case you haven’t done so, please back up your TiVo.
  • While your TiVo’s drive is still connected to a PC, get access to a bash prompt in your TiVo. I had to use Dylan’s boot disk to get bash working through /dev/ttyS3 in rc.sysinit (more details in this Hacking the TiVo FAQ entry). You’ll also need a decent terminal program for your PC. I use minicom under Debian GNU/Linux.
  • Get past Guided Setup. Invest in a 01-800 call to the U.S. and make Telmex a wealthier functional monopoly, or use one of the workarounds documented in the network.
  • Finally, you’ll need to install these tools in your TiVo: dbload30.tcl, fixup30.tcl, removesource.tcl, add-whole-channel.tcl, mls.tcl, dumpobj.tcl and dumbntpd.
    You can get them all in a convenient tar.gz archive. Transfer the archive to your tiVo and unpack the files under /var/hack:


    bash-2.02# cd /var
    bash-2.02# tar -zxvf /tmp/basetools.tar.gz

Lineup scripts

This procedure is based in the TiVo 2.5.1 in Aus HOWTO document. The situtation is pretty much the same, except that 1. You don’t really need to re-image your TiVo with 2.5.1, everything seems to work just right with 3.0 and the upgraded 3.0 tools, and 2. We won’t be installing a PAL tuner.

Lineup script procedure:

  1. Find out the ID of the Source section of the Setup object:
    bash-2.02# cd /var/hack
    bash-2.02# scripts/mls.tcl / |grep Setup
        Setup                     tyDb        1955  07/06/03 08:24   4444
    

    Here, take note of the ID of the Setup object (1955 in this case), for we’ll be using it for the next step:

    bash-2.02# scripts/dumpobj.tcl 1955
    Setup 1955/10 {
      CableType      = 3
      IndexPath      = /Setup
      LastChannelOBSOLETE = 1955/134
      NoPrivateBackhaulOBSOLETE = 0
      Source         = 1955/666
      Version        = 788
    }
    

    Now take note of the ID of the Source section. We’ll use this number in the lineup script.

  2. Get the lineup script for your setup. In the downloads area you will find scripts for DirecTV LatinAmerica, Cablevision Digital D.F. and broadcast stations in the Valley of Mexico (but this lineup can be adjusted for other regions).
  3. Edit the file in your PC before transferring it to your TiVo:
    • Replace the 1955/666 ID for the one you got in step 1.
    • Feel free to change the channel numbers to match your setup, but please don’t change the station IDs (the numbers between 7300000 and 7399999). They will be needed to match the corresponding guide data properly.
    • If you intend to use the guide data I provide, please do not add channels in the range 7310000-7399999 in order to avoid conflicts in the future. Do not delete channels either. If you don’t subscribe to one or some of those channels, just let them be in order to avoid errors when loading guide data. Remember that you can get rid of any unwanted channel in the “Channels I get” section.

    For instance, let’s take the following line from lineup-broadcast.txt:
    tivosh add-whole-channel.tcl 7330002 2 "XEW" "XEW Canal 2" 1955/666
    Let’s say that you got “1874/564” from step 1, and that in your town you get XEW in Channel 8 instead of 2. You have to edit that line to read
    tivosh add-whole-channel.tcl 7330002 8 "XEW" "XEW Canal 2" 1874/564

  4. Now copy and paste the script, line by line, in the bash prompt. For instance,
    bash-2.02# cd /var/hack/scripts
    bash-2.02# tivosh add-whole-channel.tcl 7330002 8 "XEW" "XEW Canal 2" 1874/564
    bash-2.02# tivosh add-whole-channel.tcl 7330004 12 "XHTV" "XHTV Canal 4" 1874/564
    

    and so on. It’s possible that some of these lines fail at random. I’ll find a way to deal with that, but you’ll have to live without those channels for the time being.

  5. Reboot.
  6. Now you should have channel numbers and names in your lineup. If necessary, go to Preferences / Channels I get in the TiVo to enable the ones you have defined already or to disable the ones you get.
  7. If there are too many conflicts with the existing channels, or too many channels fail during creation, you may need to restore your backup, zap the existing source and create a new one as described in the TiVo 2.5.1 in Aus HOWTO, and then repeat the whole procedure.

At this point, you can browse the TV guide (although it will read “To be announced” for every channel) and record manually without resorting to channel numbers. The next section deals with loading guide data for the channels we just created.

Guide data

Once you have created the lineup, loading guide data is easy.

  1. If you haven’t done so, make sure that dumbntpd is ran at startup time. Add the two lines in red to /etc/rc.d/rc.sysinit, just before bash is started:
    /sbin/ifconfig lo up
    /var/hack/bin/dumbntpd
    echo "rc.sysinit is complete"
    /bin/bash --login < /dev/ttyS3 >& /dev/ttyS3 &
    

    This is necessary to allow the TiVo to update the time against itself and allow the reindexing process to complete whenever we load guide data.

  2. Get guide data for your setup from the guide data download area in your preferred format:
    Setup tar.gz
    DirecTV guide-directv-slice.tar.gz
    Cablevision Digital guide-cabdig-slice.tar.gz
    Broadcast guide-broadcast-slice.tar.gz

    These guide slices are generated automatically during the weekend and new files are uploaded every sunday morning with a full week worth of data.

  3. Uncompress the archive and get the corresponding slice file into your TiVo inside the /var/hack directory.
  4. Load the slice file:
    bash-2.02# cd /var/hack
    bash-2.02# scripts/dbload30.tcl cabdig-output.slice
    07/06:08:02:27: scripts/dbload30.tcl:  processing timeService: ntpdate - dbload0
    bash-2.02# scripts/fixup30.tcl
    
    
  5. That’s it. Now whenever you press the “Guide” button in the remote, you should be able to see guide data for most channels.

I’m getting guide data from several electronic sources all over the web, but there are some channels that I haven’t been able to find listings for. If you know of source for electronic listings for those channels, please drop me a line and I will do my best to get them into these slices.

Logos

I’m still working in this feature. I’m having a hard time making the TiVo swallow the logo slices I create. If you can help with this feature, please send me an e-mail.

Useful links

And still under construction…

Thank-yous

Under construction.

0 comments on “TiVo-in-Mexico HOWTO
1 Pings/Trackbacks for "TiVo-in-Mexico HOWTO"
  1. […] El problema es que este servicio sólo funciona dentro de Estados Unidos… pero lo hackers ya se las averiguaron y ya hay un tutorial de cómo echarlo a andar con Cablevisión, DirecTV e incluso los canales locales. La hackeada no es trivial, si tienes que tener un buen conocimiento de Linux, pero si tienes algún gurú que maneje Linux, igual te lo puede hacer. […]