Gentoo Wiki


This article is part of the HOWTO series.
Installation Kernel & Hardware Networks Portage Software System X Server Gaming Non-x86 Emulators Misc



  1. Allow a series 1 tivo to synchronize over the internet, instead of your phone-line
  2. Connect Tivo using the serial cable
  3. Set up Gentoo box as gateway between serial cable and network


The series 1 TiVo only came with the option to synchronize over a regular phone-line. Lucky for us, it is based on Linux, uses PPP, and version 3.0 has serial cable support built right in.

This guide explains how to connect your TiVO using the bundled serial cable to your Gentoo box. You must not already be using the serial cable for controlling a Satelite/Cable receiver.


  1. TiVo - Series 1 - software version 3.x
  2. Bundled serial cable (has a headphone jack on one end)
  3. A Gentoo Box
  4. A NULL modem adapter
  5. Gender changer, if needed


We need to configure the TiVo first to ease testing later on.

Dialing Prefix

The first thing you need to do is tell your TiVo to use the serial port rather than the internal modem. Go to your Phone options and change your dialing prefix:


You press pause on the tivo remote to type a comma, and enter on the remote to type a hash.

Now your TiVo will use the serial port with a speed of 115,200.


Find the serial port on the back of your TiVo. It should be labeled. Plug in the serial cable. Attach the the NULL modem adapter to the other end of the cable. At this point, you may need a gender change to attach it to your Gentoo box. Attach the cable to a free serial port on your Gentoo box. My setup looks like this:

 TiVo ------------ Null modem adapter --- Gender changer --- Gentoo box


Now that the TiVo is setup, we need to setup the Gentoo box. This guide uses the existing Gentoo PPP networking scripts.

 NOTE: If you are already using net.ppp0, adjust these instructions to net.ppp1

Setting up Serial ports

You must have serial ports working properly before your system can talk to the TiVo. Make sure you have serial support compiled into your kernel.

Linux Kernel Configuration: Serial Ports
Device Drivers  --->
   Character devices  --->
       Serial drivers  --->
           <*> 8250/16550 and compatible serial support

After you have compiled and/or made sure you have serial support into your kernel, figure out which serial port we are using.

If you don't know which serial port you are using, perform the following.

 # cat /dev/ttyS0

Start a "Test Call" and look for garbage. Type Ctrl-C to quit. If you didn't see garbage, try /dev/ttyS1 and so forth.

Setting up PPPD

Make sure you have PPP support enabled in your kernel.

Linux Kernel Configuration: PPP Support
Device Drivers  --->
   Network device support  --->
       <*> PPP (point-to-point protocol) support
       <*> PPP support for async serial ports

Emerge the PPP package:

 # emerge -Dav ppp

Edit /etc/sysctl.conf to turn on IP forwarding in the kernel.

File: /etc/sysctl.conf
  net.ipv4.ip_forward = 1

This activates on reboot. To make it active while running do:

echo 1 > /proc/sys/net/ipv4/ip_forward

Modify /etc/conf.d/net so that it has the following options.

File: /etc/conf.d/net
config_ppp0=( "ppp" )
pppd_ppp0=( "115200" "debug" "proxyarp" "nocrtscts" "local" "noauth" "xonxoff" "" )

Change /dev/ttyS0 to the serial port you are using. Change to the internal IP of your Gentoo Linux machine. The can be any unused IP on the same subnet.

If you don't have a /etc/init.d/net.ppp0 script, just symlink it to net.lo. (e.g. ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0).

Start the pppd daemon:

 # /etc/init.d/net.ppp0 start


At this point we are ready to test the gateway. Start monitoring the log:

 # tail -f /var/log/messages

Tell the TiVo to make a "Test Call". If everything is working properly, you should see pppd connection messages in your log and TiVo should make a complete "Test Call". Type Ctrl-C to quit. If you don't see any pppd connection messages, make sure you are using the correct serial port.

Wrap Up

If everything is working properly, add it to your default run-level.

 # rc-update add net.ppp0 default

Congratulations. Your TiVo can now "dial-in" without a landline.

Where to Find More Info

Check these resources out for more help with TiVo Networking:


If you need any help with these scripts, you can contact the following person: RWohleb (

Retrieved from ""

Last modified: Sun, 03 Aug 2008 13:19:00 +0000 Hits: 12,871