Elseed - A simple program to display caller-id information on your TiVo
=======================================================================

NOTE: This software comes with no warranty. I accept no responsibility 
for anything that might happen to your hardware/software/configuration 
as a result of using this software. For all I know, this software 
might make your TiVo explode. USE THIS SOFTWARE AT YOUR OWN RISK. 

WHAT IS ELSEED?
---------------

This is a simple little C program that will open your modem device 
on your TiVo, listen for caller-id information, and then display the 
caller's name and number on your TV screen. This software is 
supposed to (and does as far as I can tell) not interfere with the 
daily call that Tivo makes and the monthly(?) call to DirecTV that 
the DirecTivo makes.

WHAT DO I NEED?
---------------

1. A DirecTivo (DirectTV/Tivo Combo box). This software has been 
   tested mostly on a Phillips DirecTivo DSR6000 running TiVo software 
   version 2.5.1. See WHAT TIVOS DOES ELSEED RUN ON for more info.
   This may work on standalone Tivos or other DirectTivos running other 
   software versions, I have no idea. Let me know if you get it working 
   on different hardware/software.
2. Your phone line attached to your Tivo.
3. Caller-ID service from your telephone company.
4. Some way to get this program onto your Tivo. (Enable bash on the serial 
   port and upload using rz OR take out your drive and copy this software 
   onto the root partition OR TivoNet/TurboNet FTP, etc.)

WHAT TIVOS DOES ELSEED RUN ON?
------------------------------

elseed has been reported to work on:

o Phillips DirecTivo DSR6000
o Sony DirecTivo SAT-T60
o Hughes DirecTivo GXCEB0T

But it appears that same models have different modems so your mileage may
vary.

ELSEED DOESN'T WORK ON MY TIVO!
-------------------------------

I'm sorry to hear that. Here are some tips you can try to get it to 
work. There are no guarantees:

1. Try setting the init-string (using the -i command-line option) to
   'AT-STE=1;+VCID=1'. This reportedly will get elseed to run on 
   a Hughes DirecTivo and some Phillips DirecTivos. Example:

   # elseed -i 'AT-STE=1;+VCID=1' &

2. Try setting the init-string to 'AT+FCLASS=8;+VCID=1'.

3. Use an external modem instead (see USING AN EXTERNAL MODEM WITH ELSEED)

USING AN EXTERNAL MODEM WITH ELSEED
-----------------------------------

If you have an extra modem lying about that can do caller-id and 
you desperately want to get this working, you can actually connect 
the modem up to your Tivo via the serial port. This requires 
hardware that is avaliable at http://www.9thtee.com/ and I'm not 
exactly sure what all you need, but if you are crafty, you can 
figure it out. Then you can set the modem device to the serial port 
(set to /dev/ttyS3 using the -d commend-line option). You might also 
need to change the init string depending on your modem. And you might 
want to turn on the -M option since you aren't sharing the modem
with tivo anymore.

ELSEED ONLY WORKS SOMETIMES
---------------------------

There have been reports that some of the modems in the DirecTivo's are 
not very consistent in giving caller-id information. I don't know what to 
tell you since I don't have this problem with mine. So either live with 
it, hook up an external modem to your Tivo and use that (see "USING 
AN EXTERNAL MODEM WITH ELSEED"), or work to figure out what the problem is 
and become the hero to many.

USAGE
-----

Usage: elseed [options]
Options:
    -x N    set x coordinate to N [default 1]
    -y N    set y coordinate to N [default 11]
    -f N    set foreground color to N [default 4]
    -b N    set background color to N [default 1]
    -d S    set modem device to S [default '/dev/cua1']
    -i S    set modem init string to S [default 'AT+VCID=1']
    -l S    set log file to S [default '/var/log/elseed.log']
    -D      put elseed in debug mode
    -t S    set time CID info is on screen [default 10 seconds]
    -M      turn off modem sharing [default is on]
    -h      show this help

INSPIRATION
-----------

I decided to write this software after seeing TivoCID by JLC which is 
available here: http://pvrhack.sonnik.com/tivo/jlc/. Unfortunately 
it actually runs caller id software on another computer with a 
different modem that has to have caller-id capability and sends 
information to your Tivo over an ethernet card (or PPP over the serial port).
I decided to see if the modem inside the Tivo was capable of doing 
caller-id. Once I found out that it was, it was pretty easy to get this 
software up and running on the Tivo, thus requiring a lot less 
hardware/software/setup.

BORROWING SOFTWARE
------------------

I shamelessly stole the source code from 2 different projects and 
hacked them together to create this software. The two pieces 
of software I "borrowed" were:

elcid - http://elcid.sourceforge.net/
    A simple C-based caller-id program

playitsam - http://minnie.tuhs.org/Programs/Playitsam/
    I only stole the OSD (On-screen display) code from playitsam
    to do the OSD stuff for elseed

    NOTE: Evidently playitsam borrowed  osd.c, osd.h
    from embeem's tivobvi 1.03. Check out:

    http://tivo.samba.org/download/mbm

    For more info on that project and other great tivo hacks. 
    Thanks embeem!

I also looked at the code in mgetty+sendfax to figure out a way to 
attach myself to a modem device while still allowing other programs 
to dial-out (I.E. The Tivo daily call).

LICENSE
-------

This software is free software (open source) released under the GNU 
Public License (GPL). See COPYING file in this distribution for more 
details.

THANKS
------

Thanks to the following people:

- nsysblh for massively re-writing the OSD routines, adding new features, 
  and doing a lot of grunt work to help us get elseed to run on many 
  different Tivos
- embeem for the original osd routines and nicepri and the cross-compiler 
  information and for being an all-around helpful person.
- jlc for writing tivocid which gave me my idea
- sporadic@linux.wku.edu for writing elcid, upon which this code is based
- Nathan Lewis (Saturn49) for a new updated font.h
- All the other tivo hackers who came before me and made my life easier

INSTALLING THE SOFTWARE
-----------------------

See INSTALL file in this distribution.

CONTACT
------

All code Copyright (C) Greg Gardner <greg@bah.org>
