TCS - Complete ReadMe
This site is not related to nor sponsored by TiVo Inc.
Tivo Control Station version 1.1.3 prior versions: 1.1.2 1.1.1 1.1.0 1.0.2 1.0.1 1.0.0 several betas 0. Road Map to this document, and recent changes: ------------------------------------------------- Version 1.1.3 fixes several minor bugs over 1.1.2. As of TCS version 1.1.2, the majority of the modules are no longer included in the tarball. TCS will automatically download and install the modules from the website AFTER you have paid the shareware fee and emailed you IP address, zipcode and the last 6 digits of your tivo service number (available from Messages & Setup / System Information) to tcs (NO) @ (sPam) zirakzigil.net. Just drop the (no) and the (sPam). If you are paranoid but have a static ip address, the zipcode and Tivo Service Number are not required. I will generally try to setup the authorization within 24 hours, but I might be on vacation, out of town, in the hospital, etc. A few modules are included in the tarball for demonstration purposes. For an on screen display demo, use 7 1 clear for interest rates. For a non OSD module, try 9 1 clear to enable backdoors. If you want to see what the other modules look like, see the screen shots on the website at http://www.zirakzigil.net/tivo/TCSscreenshots.html Since the readme has become quite long, and the "fast readme" isn't really practical as of version 1.1.0, this is an index and a "how to use this document" section. The closest thing to the old "fast readme" which documents the very fastest way to get up and running is at the bottom of this section. Search for "If you are already running a previous version of TCS:" If you are new to TCS I STRONGLY recommend to take the time to read this document in its entirety before starting. How to get started: If you are not familiar with TCS I strongly recommend that you read through this document in its entirety before starting. If you are already running a previous version of TCS: You may not need to reread all the configuration information. The steps for an install are then simply 1. Determine if you are going to run a Network Server. Read sections 4, 5 and 6. 2. Install TCS. Read section 7. 3. Do the necessary "additional installation" based on whether or not you are running a Network Server. Read section 8, or 10. 4. Customize the preferences. Read sections 11 and 12. 5. Configure modules that require configuration. Read sections 25, 32, 33, 34, 35. I realize that the installation process seems to get lengthier with every release. If you have suggestions of how to make the process easier, or any other suggestions, drop a note to tcs(no)@(sPam)zirakzigil.net. Just drop the (no) and the (sPam). Sections: 1. What it does. 2. What purpose does it serve 3. What it isn't 4. TCS Network Server 5. Network Server Requirements 6. Network Server Configuration 7. TCS installation 8. Additional installation steps if you are using the Network Server 9. Useful things to know when running the Network Server that aren't obvious 10. Additional installation steps if you are NOT using the Network Server 11. Customizing the configuration 12. Paths required for proper startup and shutdown 13. Certain file/directories in the TCS tree must be writable 14. Automatic module updates 15. Network Commands 16. Network Clients 17. What port do I connect to? 18. How did you choose that? 19. Remote Commands 20. Third Party Modules 21. Changing the update rates for background modules 22. Auto Scheduling 23. What modules provide which commands? 24. Should I turn off modules I don't use? How do I do that? How do I turn them back on? 25. Applications module 26. BackDoors module 27. SortNowPlaying module 28. New display using newtext2osd 29. Jpegwriter required for WeatherMaps 30. On Screen Display modules 31. Multiple Screens of Information now supported 32. Configuring the NCAA Football module 33. Configuring the NCAA Basketball module 34. Configuring the Quotes module 35. Configuring the Weather module 36. What is a Greedy Update? 37. Automatically starting TCS at boot time 38. E-mail notification (Macintosh Eudora only) 1. What it does: ---------------- TCS is a simple interface that listens for commands from the remote, and on a socket. This is a relatively more secure method of issuing commands to the tivo than leaving a telnet port open to the Internet. TCS commands are not shell commands, and TCS does not generally give any response back through the port, although a module writer can send information back, if desired. Most commands are implemented via "modules" to make the addition of new commands relatively easy, as well as to provide the ability to remove commands. Adding new commands is straightforward, even to a relative novice. It still requires at least a modest bit of programming, more if you are writing a robust command, pulling something from the web, or returning something through the socket. Commands are also available through key sequences on the remote. Key sequences can be customized through the config/keysequences file. All key sequences consist of 3 key presses. This is currently a "hard" constraint in the config file, however a module writer can utilize shorter or longer sequences. Be careful not to have one key sequence as a subset of another - it will be impossible to invoke the longer sequence. Also be careful to pick sequences that will be benign to myworld. The sequences currently utilized don't cause bad things to happen during livetv or playback. It is probably best NOT use the remote to issue commands when you are on a tivo menu, although nothing in the code will stop you. 2. What purpose does it serve: ------------------------------ Your mileage may vary. The original purpose was to provide an interface to allow a machine on my local network get caller-id information from the modem, and display it on the tivo using the DISP command. Elseed and an external modem was a better solution. It grew from there. I do still use it to have my computer display on the tivo when I have new e-mail on my regular email account. Additionally, the telnet daemon seems to crash rather frequently on me, as does the ftp daemon. TCS can restart those, and I have a simple icon on my desktop that will do it for me with a double click (or 3 buttons on the remote). Until I had a serial connection, this was rather critical to me, as a telnet crash meant I had to reboot. Things just grew from there. Finally, there was some commonality between TCS and the quotes program, which ultimately led me to rewriting quotes as a TCS module. The weather module caused it to make even more sense. Given limited resources on the tivo, running a single hack is better than running 2, and certainly better than running 3. Perhaps looking at the command list and the screenshots at http://www.zirakzigil.net/tivo/TCS.html is the best way to get an idea of what all it does. 3. What it isn't ---------------- It does collect and display some information from the web. It is NOT a browser or an attempt to make Tivo into a WebTV. It does have the ability to run things periodically in the background. It is not cron. Someone has already compiled cron for tivo, if you want cron, get cron. 4. TCS Network Server: ---------------------- TCS release 1.1.0 includes a network server. The purpose of the network server is to significantly reduce the cpu load that TCS places on the tivo. This goal is accomplished by moving all the modules that download and parse information from the web off the tivo and onto the network server. This reduces the load TCS places on the tivo by 90%, while maintaining not only full functionality but actually enhancing it. If a module fails to update, an update can be forced through the 98 clear command. However, doing this on the tivo can take a very long time as it forces all modules to update. Since the network server is a vastly more capable computer, the updates occur very quickly. Further, the "change weather zip from remote" command (81 clear) becomes vastly more useful as the weather from the new zipcode is displayed on screen in about 3-5 seconds. (Using a P4 2.2GHZ server) The Network Server is just the same old TCS that ran on the tivos. The code merely recognizes if its running on a tivo or not, and then functions accordingly. This means that for simplicity, starting the TCS Network Server is done exactly the same way you start TCS. After proper configuration, the files are identical. Since the Network Server performance far exceeds that of the Tivo it is STRONGLY recommended that you utilize it, if you have an environment that will support it. The Network Server has been sucessfully installed on Linux, Cygwin on windows, as well as on Mac OS X. The configuration files in the TCS distribution assume that you are going to use a network server. The installation instructions specify the minor change required to turn off the network server. Lastly, there is a module called UnixComs that allows you to run one of ten predefined shell scripts on the Network Server from the tivo remote. 5. Network Server Requirements: ------------------------------- The Network Server is written in TCL and assumes a unix environment, just like the tivo. If you have a linux machine on your local network, you are set. Any unix box should do, if you install TCL. Again, the Network Server works on both Cygwin with windows and Mac OS X. The Network Server must also run an NFS server. 6. Network Server Configuration: -------------------------------- First, the tivo(s) need to know the IP address of the Network Server and the Network Server needs to know the IP address(es) of the tivo(s). This information is contained in the config/prefs file. Specifics are contained in the installation instructions. Some modules can not run on the Network Server, as they execute code that must run on the tivo. Modules that do things like sending remote keypresses, or reading the log files therefore can not run on the Network Server. The TCS distribution is configured where the Network Server runs all the modules that it can, and the tivo runs only those modules it must. 7. TCS Installation: -------------------- If you intend to run a Network Server, you should do the following on the network server, not the tivo. If you are not going to use a Network Server, you should do this on the Tivo. 1. READ THE LICENSE. 2. copy tcs.tar (or, tcs.tar.gz) to the /var/hack directory 3. cd /var/hack 4. Decompress the file, if it is compressed "gzip -d tcs.tar" 5. expand the files "tar -xvf ./tcs.tar" or "cpio -H tar -i < tcs.tar" either works. tar isn't part of the standard tivo release, cpio is. 6. If you are running a Network Server, there are additional required configuration steps. See the next section. 7. If you are not using a network server, make sure to read the "Additional Steps if you are NOT using a network server section." 9. Customize the installation - see the "Customizing the Configuration" section 10. Start the program "/var/hack/tcs/starttcs &" (DO NOT FORGET THE AMPERSAND!) I install TCS in /var/hack/tcs, although it should work anywhere. Just untar the tarball, and start it up. starttcs writes the tcs log to /var/log/tcs by default, however starttcs will accept "console" or "devnull" as a parameter, which will write the log to the console, or /dev/null respectively. The server needs to know where several programs are in the directory structure. These locations are configurable by editing the config/prefs file. WARNING: DO NOT INTERRUPT OR KILL tcsd on the tivo. The tivo WILL assert/panic. Use the remote sequence or network command to terminate the program. It is OK to kill tcsd on the Network Server. 8. Additional Installation Steps if you are using the Network Server: --------------------------------------------------------------------- 1. Modify prefs to reflect the IPAddresses of your Network Server and tivo(s): The Network Server: nsip NetworkServerIP 192.168.1.202 The Tivo(s): tivoips TivoIPAddresses 192.168.1.53 192.168.1.54 etc. Note that multiple IP Addresses must be space delimited. The etc is obviously not to be included. 2. On server - nfs export the tcs directory to the tivo(s). The no_root_squash option must be specified, as everything on the tivo runs as root. To export a directory, you need to add an entry to /etc/exports, which includes the directory you are exporting (/home/tcs), the ip address of the tivo you are exporting to, and the mount options. An example with recommended options: /home/tcs 192.168.1.53(rw,sync,no_root_squash) You will need one line for each tivo you intend the network server to serve. After you have added this (these) lines(s), export the directories. FOR LINUX/GENERIC UNIX: exportfs -a FOR CYGWIN: The default version of TCL (8.4) that comes with cygwin does not work properly. You will need to download and install version 8.3 which works properly. Look here: http://www.tcl.tk/software/tcltk/8.3.html You must install extra modules to get NFS running, including the libs module sunrpc, and the net module nfs-server. I dropped the version numbers as they will change with time. There is no exportfs command in cygwin. To start the NFS server, you need to run three daemons: /usr/sbin/portmap, /usr/sbin/rpc.nfsd, and /usr/rpc.mountd. FOR MAC OS X: There is no exportfs command in MAC OS X. You need to respawn the mountd process with the following command: sudo kill -s HUP `cat /var/run/mountd.pid` Note that the character above is the accent grave, not a single quote. 5. Install the nfs kernel module on the tivo(s). You must use the force option. The module can be downloaded from http://www.chiappa.net/~chris/tivo/nfs-2.0.1.o although I don't know whether thats the original source. insmod -f nfs-2.0.1.o 6. Mount the nfs server folder on the tivo. In order to mount the directory on the tivo, you need to know the full path to the tcs directory on the network server, say /home/tcs (NStcsPath), the path of the location on the tivo where it will be mounted, say /var/hack/tcs (TivoTcsPath), and the IP Address of the Network Server, say 192.168.1.202 (NSIP). The directory on the tivo (TivoTcsPath) needs to exist, but nothing should be in it. Make sure you have created it (mkdir TivoTCSPath). Now issue the mount command to mount the directory from the server: mount NSIP:NStcsPath TivoTCSPath. A real world example using the suggested paths would be: mkdir /var/hack/tcs mount 192.168.1.202:/home/tcs /var/hack/tcs Paths on tivo and server are not required to be the same. 7. If you don't already have it, install tcl on the server. 8. On the server, make a link from /tvbin/tivosh to the tcl executable, say, /usr/bin/tclsh. The path to the tcl executable will vary depending on where you installed it. ln -s /usr/bin/tclsh /tvbin/tivosh 9. Add the insmod/mount commands to etc/rc.d/rc.sysinit on the tivo, if you wish. (Obviously before you try to start tcs in rc.sysinit, and those commands should NOT be backgrounded) 10. If you are running the network server in a non Linux environment, indicate such in the config/prefs file. nonlinux NSNonLinux 1 11. Start it up. Although it will settle in regardless of how its done, start it on a tivo first. The network server needs some information from the tivo, and will try to connect to a tivo once a minute until it succeeds. Starting on the tivo first just means that it won't have an initial wait. 9. Useful things to know when running the Network Server that aren't obvious: ----------------------------------------------------------------------------- The most important thing is how the AutoUpdate feature works when using a network server. If you are using the network server, you should install the UpdateCheck module ONLY on the network server. The network server will download and install new modules in the modulesserver directory, not the modules directory. This means that modules that run on the tivo will get updated correctly, but they will not be installed to startup when TCS starts on the tivo. This isn't optimal, but generally should be OK, as most of the modules that will update with any frequency will be the modules that download data from the web. Those modules should be run on the network server anyway. The Timers page (97 clear) has a second page when using the Network Server. The first page is the timers on the tivo, the second page is the timers on the network server. Unless you are wicked fast paging down, the second page is there by the time you page down. (Unless the server is wicked slow) The Timers module MUST be installed on both the tivo and the Network Server for this to function properly (or at all in case of it not being installed on the tivo.) The Reset Timers command (98 clear) resets the timers on both the network server and the tivo (but not ALL tivos). The command is much more useful now as the network server can handle refreshing all the pages rather quickly. So, if an update failed, refreshing everything is much more doable than it was on a tivo. The network server will grab the zipcode from a tivo at startup for the weather module. The server maintains a single zip, not one for each tivo. That shouldn't be an issue, but if you change the zip from the remote (81 clear), the new zip will be reflected on ALL tivos. However, the weather display will only pop up on the tivo that requested the change. On my broadband connection, with a P4 2.2 network server, the weather for the new zip will pop up in about 3-5 seconds, which makes surfing the weather from your chair quite doable. There are 10 commands from the remote which will start an arbitrary script on the network server. The scripts are script0 through script 9, and are in tcs/unixcoms. Xeyes is installed at script1, with up 1 clear to start it. The UnixCommands module MUST be installed on both the tivo and the Network Server for it to function properly. 10. Additional Installation Steps if you are NOT using the Network Server: -------------------------------------------------------------------------- Comment out the following two lines from config/prefs: tivoips TivoIPAddresses 192.168.1.53 192.168.1.54 etc. nsip NetworkServerIP 192.168.1.202 You probably should also review the timer settings in config/schedule, as modules may be set to update more frequently than would be good for a tivo. Be sure to see the "Changing update rates for background modules" section. Although it isn't critical, you might as well delete the modules that provide an interface to the Network Server. Delete NetworkServerInterface.tcl and UnixCommands.tcl from tcs/modules. This will somewhat decrease the amount of memory TCS requires to run. 11. Customizing the configuration: ---------------------------------- There are many many things you can change to customize the way TCS runs, however, two modifications are imperative: 1) The paths where you have the "helper" hacks installed 2) The IP addresses of your nameservers The paths are located in the config/prefs file, just edit with your favorite editor. The address(es) of your nameserver(s) is in the config/IPAddresses file. Change the lines that have xx.xx.xx.xx through zz.zz.zz.zz. If you have more than 3 name servers, just addd more lines similarly formatted. If you have less than 3 name servers delette the extra lines. Name server addresses are generally available from your ISP, or automatically through DHCP. In the latter case you should be able to find them in the TCP/IP configuration section on your computer, or, alternatively through the configuration pages of your Cable/DSL router. There are many other optional customizations, generally features you can turn on or off in the config/prefs file. These options are generally well documented there. See also the "Changing update rates for background modules" section below. 12. Paths required for proper startup/shutdown: ----------------------------------------------- TCS forks a couple of helper processes when it starts up. When it shuts down it kills off these processes. (It also tries to on startup, in case of a crash) In order to kill off the processes, TCS uses bash, ps, and grep. If the paths to these programs are incorrect in the config/prefs file, TCS won't be able to kill them off. If TCS tries to startup with these processes already running, it won't be able to create the tivo mempool needed for inter-process communication, and tcs will die, perhaps crashing the tivo with it. If you see something like this in the log file: Loading Event Server Creating Event mempool Tmk Assertion Failure: CreateSharedMemoryFile, line 211 () Then TCS isn't killing off these processes. You can do it manually with kill -9, but why not just fix the paths? 13. Certain Files/Directories in the TCS tree must be writable -------------------------------------------------------------- TCS will not work "out of the box" if it is installed in a partition that is mounted readonly (I.E. / on the tivo) If you want to install TCS in a Read Only directory, you will need to symbolicly link 2 files and 1 directory to a writable partition. tcs/config/IPAddresses tcs/modules/apsrunning.sh tcs/displayfiles 14. Automatic Module Updates: ----------------------------- Since some modules gather information from various web pages, they occasionally will break when the format of the data changes on those pages. TCS has the ability to monitor the TCS website for updates, and automatically install them if you would like. To enable automatic updates, set the TCSAutoUpdate flag in the config/prefs file to 1. Only the modules can be automatically updated. Changes to TCS itself or any of the other files must be done manually. 15. Network Commands: --------------------- Commands are 4 characters, followed by parameters, if needed. CFTP - Check to see if Ftp is running, start it if not. (Network Server legacy) NICE - stop running greedy update processes MEAN - resume running greedy update processes DOOR - Turn on backdoors SORT - Turn on the Now Showing "sorting" backdoor CLCK - Toggle the little on screen clock SSUG - Show suggestions in the To do list, and hidden recordings in Now Playing SKIP - Toggle the 30 second skip feature TVNZ - Tell the Network Server to change the Zip for the Weather module. QUIT - terminate TCS KFTP - kill the ftp daemon KTEL - kill the telnet daemon KVBI - kill tivovbi KWEB - kill tivoweb. (DoesnÕt use kill, wonÕt panic the tivo) RFTP - restart the ftp daemon RTEL - restart the telnet daemon RWEB - restart tivoweb. Tivoweb is invoked as "tivoweb tcsrestart" in case you want to modify the tivoweb shell script to do something special. RSER - Start bash on the serial port. Does not kill bash. Which bash to kill? RTES - Restart the TCS event server. This shouldn't really ever be needed. RVBI - Restart tivovbi DISP TEXT_TO_DISPLAY - display "TEXT_TO_DISPLAY" on the tivo screen 16. Network Clients ------------------- There are several network clients available on the TCS website, www.zirakzigil.net/TCS. These clients will send TCS commands through the TCS network socket. They are very simple TCL scripts that can be run from any computer that can connect to your tivo that has TCL installed. Macintosh TCLet compiled versions are also available there. If you use a Macintosh, make sure to check the macintosh specific section at the end of this document. TCL is not required to be a client/use the socket. Just open the socket and send the command using any language, Perl, C, or even just telnet. The network clients are not included in the tarball, they can be downloaded from the TCS download page at http://www.zirakzigil.net/tivo/TCS.html 17. What Port do I connect to? ------------------------------ 8762 18. How did you choose THAT? ---------------------------- Totally ponderous man. 19. Remote Commands: -------------------- (clear)(0)(clear) - display on screen the running hacks (clear)(1)(clear) - RTEL - Restart Telnet server (clear)(2)(clear) - RFTP - Restart Ftp daemon (clear)(3)(clear) - RWEB - Try to restart tivoweb. tivoweb must not be hung. (clear)(4)(clear) - RSER - Start bash on the serial port. (clear)(5)(clear) - RVBI - Restart TivoVBI. (clear)(7)(clear) - display stock quotes (hint: live net connection) (clear)(8)(clear) - display local weather (hint: live net connection) (1)(1)(clear) - KTEL - Kill Telnet server (2)(2)(clear) - KFTP - Kill Ftp daemon (3)(3)(clear) - KWEB - Ask tivoweb to shutdown. Won't work if tivoweb is hung (5)(5)(clear) - KVBI - Kill TivoVBI (6)(0)(clear) - Display the available sports commands. (6)(1)(clear) - Major League Baseball Scores, Schedule and Standings. (6)(2)(clear) - National Football League Scores, Schedule and Standings. (6)(3)(clear) - NCAA College Football, Scores, Schedule and AP/ESPN-USAToday polls (6)(4)(clear) - National Hockey League Scores, Schedule and Standings. (6)(5)(clear) - National Basketball Association Scores, Schedule and Standings. (6)(6)(clear) - NCAA Men's Basketball Scores, Schedule and Rankings. (7)(1)(clear) - Various interest rates. (8)(1)(clear) - Change the Weather zipcode from using the remote (until restart) (8)(2)(clear) - Display Local (600 mile) Weather Radar. (8)(3)(clear) - Display National Weather Radar. (9)(0)(clear) - Show all TCS remote and Network commands. (9)(1)(clear) - DOOR - Send Keypresses to turn on backdoors. (9)(2)(clear) - SORT - Send Keypresses to enable sort of the now playing list. (9)(3)(clear) - CLCK - Send Keypresses to turn on on screen clock. (9)(4)(clear) - SSUG - Send Keypresses to display suggested/hidden programs. (9)(5)(clear) - SKIP - Send Keypresses to enable 30 second skip key. (9)(6)(clear) - Display updates available from the TCS website (9)(7)(clear) - Display all background processes/timers (9)(8)(clear) - Reset all background timers - update everything NOW. (9)(9)(clear) - QUIT tcs (mute)(mute)(clear) - Toggle the execution of greedy processes (NICE, MEAN) The easiest way to remember the basic commands for APPLICATIONS is to associate a number with each application. telnet - 1, ftp - 2, tivoweb - 3, bash on serial - 4, tivovbi - 5, and to some extent, TCS/myworld - 9. (clear)(#)(clear) - restarts the application @ (#)(#)(clear) - kills the application * @ kills the application first, if it exists, except for bash on serial and tivoweb *bash on serial cannot be killed at this time, and killing tivoweb causes a panic. 20. Third Party Modules ----------------------- There may be 3rd party modules included with TCS. The commands and functionality that they provide will not be documented here. Refer to tcs/modulesreadme for documentation, or 90 clear for the extra commands. 21. Changing the update rates for background modules ---------------------------------------------------- Many of the modules get data off the web. Periodically the modules go out, retrieve, parse and build the information. The frequency at which each module will retrieve and process the information can be changed by editing the config/schedule file. Different update frequency rates can be set for each module, for different times of the day and different days of the week. For example, the schedule file as released updates stock quotes every minute Monday to Friday between 7AM and 430PM localtime. It updates hourly at all other times. You should change this to reflect what is appropriate in your timezone. If things update too frequently, it may negatively impact the Tivo (sluggishness or stopples). 22. Auto Scheduling ------------------- Some modules support "auto scheduling," which means that the module will accelerate its own update frequency as needed. In particular, the sports related modules will accelerate the update rate when they detect a game in progress. Auto scheduling can be disabled in the config/prefs file. 23. What modules provide which commands? ---------------------------------------- Built-in (no module) - QUIT, NICE, MEAN Built-in (no modules) -- remote command (9)(8)(clear) Š Reset all timers. Applications: remote command (clear)(zero)(clear) - no network equivalent Backdoors: DOOR KillApplications: KTEL, KFTP, KVBI, KWEB MisterEcho: ECHO - this is really just a sample for developers, no real use MLB: remote command (6)(1)(clear) - Major league baseball (greedy update) NBA: remote command (6) (5) (clear) - Pro Basketball (greedy update) NCAAB: remote command (6)(6)(clear) - NCAA basketball (greedy update) NCAAF: remote command (6)(3)(clear) - NCAA football (greedy update) NetworkServerInterface: NSRC, NSUT, NSDF, NSPA - Network Server internals. NewDisplay: (none) This provides capability to use the newtext2osd for displays NFL: remote command (6)(2)(clear) - National Football league (greedy update) NHL: remote command (6)(4)(clear) - National Hockey league (greedy update) OnScreen: DISP Quotes: remote command (clear)(7)(clear) - no network equivalent (greedy update) Rates: remote command (7)(1)(clear) - no network equivalent (greedy update) RestartApplications: RTEL, RFTP, RWEB, RSER, RVBI ShowCommands: (none) (9)(0)(clear) - no network equivalent ShowSuggestions: SSUG Skip30: SKIP SortNowPlaying: SORT SportsCommands: remote command (clear)(6)(clear) Š Display the sports commands. Timers: remote command (9)(7)(clear) Š Display current Timers TivoDataServer: TDAT - Network Server Internals. ToggleClock: CLCK Weather: remote command (clear)(8)(clear)) - no network equivalent (greedy) WeatherNewZip: TVNZ WeatherMaps: remote commands (8)(2)(clear),(8)(1)(clear) - no network equivalent (greedy update) Apsrunning.sh: generated by the Applications module, don't edit, see below. 24. Should I turn off modules I don't use? How do I do that? How do I turn them back on? ------------------------------------------------------------- Yes, absolutely turn off the modules that you don't care about. Why do you want to make the poor little baby CPU in the tivo suck in and parse Football data when you don't give a hoot about football? Be nice to the Tivo and it will be nice to you. That said turning off modules that DO NOT pull data from the web isn't going to conserve much - A little memory, but CPU is the major concern. To turn a module off, just delete it from the "modules" directory. The "modules" directory is tcs/modules for modules running on the tivo, however it is tcs/modulesserver for modules running on the network server. To turn a module back on, just link it back in: cd tcs/modules (or modulesserver) ln modules/ThisModuleName.tcl 25. Applications module ----------------------- Its driven by a simple shell script. If your favorite hack doesn't show up, just add it to config/myhack. A monkey suffering crack withdrawal can do it. 26. BackDoors module -------------------- Turning on backdoors requires knowing the sequence from the remote. Currently the 3.1/3.2 sequence isnÕt known. The 3.0 sequence is tried on that system. (Some have replaced the encrypted key on 3.1/3.2 systems with the 3.0 encrypted key) 27. SortNowPlaying module ------------------------- The initial version required you to go to the Now Playing list before using this command. This hassle has been eliminated. This is easier for me than pressing Slow 0 Record Thumbs up (don't really have to *look* at the remote), but it may not be for you. 28. NEW display using newtext2osd --------------------------------- NOTE: Strongly recommend you leave this alone. The old text2osd doesn't look nearly as good, and compatibility with TCS has not been tested for some time, and will not be tested in the future. The "new" display type is now the default. If you want to go back to standard Tivo text2osd, comment out the following lines in config/prefs: displaystyle DefaultDisplayStyle NewDisplay screenclearstyle DefaultScreenClear NewDisplayClear and uncomment the following: #displaystyle DefaultDisplayStyle SimpleDisplay #screenclearstyle DefaultScreenClear SimpleClear newtext2osd version 1.4 or newer is REQUIRED to use the NewDisplay. Older versions are not parameter compatible with TCS. Download from: http://www.geocities.com/wyngnut2k/newtext2osd-1.4.tar.gz 29. Jpegwriter required for WeatherMaps --------------------------------------- The weather map module requires Jpegwriter to be able to display the maps. Jpegwriter is available from: http://www.allaboutjake.com/tivo/jpegwriter.html There was a "newer" version of jpegwriter that was posted to some forums. That version of jpegwriter, called version 1.1, does a better job of centering the data on the screen, however, it mucks up the color map where garbage gets displayed when you clear the display with TCS. Use version 1.0. 30. On Screen Display modules ----------------------------- The on screen display modules "cache" data from the web for display, and update periodically. If the last attempt to update data from the web failed, for whatever reason, the screen will be displayed in RED. If greedy updates are turned off, the data will no longer be updated, and the screen will be displayed in BLUE - more on greedy updates later. It is probably best to turn off greedy updates anytime you are recording something important. BLUE - Information is not up to date because greedy updates are turned off. RED - Information is not up to date because something failed accessing the web. YELLOW - All is well. 31. Multiple screens of information is now supported ---------------------------------------------------- Use the up and down arrows to page through the information, NOT the channel up/down buttons used by many tivo menus. Using channel up/down would cause undesirable results when watching live tv. For compatibility with D-Tivo the select key will also page down. Several modules have multiple pages of information. Quotes will generate multiple pages if the number of tickers demand it. 32. Configuring the NCAA Men's Basketball module ------------------------------------------------ You can add your favorite NCAA conferences to the config/MyNCAAConferences file. The module will then automatically add the scores and schedule for those conferences to the display. Warning: The more conferences, the slower it gets. More than a couple or three is probably a really bad idea. Look in the config/NCAA*Conf files for the appropriate conference name/abbreviation. There is one file per sport, I.E. NCAAFootballConf is an example. 33. Configuring the NCAA Football module ---------------------------------------- See Configuring the NCAA Basketball module. 34. Configuring the Quotes module --------------------------------- The only thing to configure is what stocks and indices you want to see. Edit config/tickers and include what you want. The tickers have changed from the standalone version of quotes. This version hits a different website which is both faster AND uses industry standard tickers. Quotes will no longer "fall back" to standard text2osd if you have more tickers than newtext2osd can handle, it will just generate multiple pages. 35. Configuring the Weather module ---------------------------------- There is nothing to configure unless you want to see the weather for somewhere other than where your tivo lives. If you do, edit/add config/zipcode to include your 5-digit zip. Don't try to use zip+4! I mean, not only will it not work, but do you really think you are somehow going to get the weather as it exists on top of your mailbox? It is also possible to change the zipcode from the remote (See remote commands above). This will immediately refresh and display the weather. Be patient, it will take 10-20 seconds to retrieve the new information. 36. What is a Greedy update? ---------------------------- An update is a periodic background process that updates some kind of information that you don't want to generate "on the fly." An update is considered "greedy" if it requires significant processing time on the tivo, which MAY cause undesired effects when recording a show or watching a recorded show, or even just livetv. A process is considered non-greedy if it is unlikely to cause any problems with the tivos main function - being a PVR. A significant effort has been made to make the "greedy" modules more tivo friendly. The modules try to "throttle" their activity and allow the tivo to have some CPU back during updates. Unfortunately, it isn't easily possible to throttle the actual download of the information from the web, but this is a relatively insignificant amount of the processing a greedy module requires. Addition of throttling has made TCS very significantly more tivo friendly. I now rarely see problems, although I wouldn't go so far as to say nothing will ever happen. For developers - Anything that pulls data off the net should be considered greedy. 37. Automatically starting TCS at boot time ------------------------------------------- Add the following line to the bottom of /etc/rc.d/rc.sysinit DO NOT FORGET THE AMPERSAND! /var/hack/tcs/starttcs & -OR- /var/hack/tcs/starttcs console & -OR- /var/hack/tcs/starttcs devnull & The first writes the log to /var/log/tcs, the second to the console, and the last to /dev/null. Every command issued is logged, with the exception of just displaying i nformation on screen. It is the module writer's responsibility to write log entries to standard out, as it allows more specific log entries than what can be done "generically." Pay attention to the space available in /var. Delete /var/log/tcs occasionally to prevent /var from running out of space. Under normal use, it would take tcs years to fill /var with logs. It is wise to NOT run tcs from rc.sysinit while you are doing module development. Problems may occur if you start TCS manually from /var/hack/tcs/tcsd.tcl, although there is no check to prevent you from doing that. 38. E-mail notification (Macintosh Eudora only) ----------------------------------------------- Instructions and code are available to have Eudora on the Mac send "you have mail" messages to the tivo for on screen display. I would imagine similar capabilities exist for some other email clients, no matter what OS you use. Details are available on the TCS website.
Site Under Construction: |
|