TiVo Community Forum banner
1 - 4 of 4 Posts

· Registered
4 Posts
Discussion Starter · #1 ·
Hello everybody. I hope this is an appropriate place to ask for help with pyTivo, I didn't see anything that mentioned that such a topic was inappropriate for this forum.

I'm having trouble getting my TiVo brand series 2 DVR, with software 8.3-01-2-540 to communicate with pyTivo running on FreeBSD 6.2. The problem, I suspect, does not have anything to do with pyTivo.

My Tivo is connected to my network via a wired adapter. All of my network connection settings appear to be fine - the box phones home and loads data properly, it downloads updates, and I can even ping it:

[[email protected]]~/pytivo # ping
PING ( 56 data bytes
64 bytes from icmp_seq=0 ttl=64 time=3.848 ms
64 bytes from icmp_seq=1 ttl=64 time=2.036 ms
64 bytes from icmp_seq=2 ttl=64 time=2.198 ms
64 bytes from icmp_seq=3 ttl=64 time=2.370 ms
64 bytes from icmp_seq=4 ttl=64 time=1.525 ms
--- ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.525/2.395/3.848/0.779 ms
So connectivity appears fine. What also seems fine is pyTivo itself. The server is running, and I get valid information back when trying to access it via my web browser at h.t.t.p:// I tried pasting the output, but I'm apparently guilty until proven innocent as far as whether or not I'm a spammer, so I'm not able to. :confused: It is definitely valid, though.

The /TiVoConnect?Command=QueryContainer&Container=Movies URL on the pyTivo server returns a valid list of the first 10 movies and directories in /mnt/movies, which is a Samba share. So that is all working perfectly. pyTivo, when left running in the console, shows me that I've accessed this page:

Code: - - [08/Jul/2007 17:51:03] "GET /TiVoConnect?Command=QueryContainer&Container=Movies H.T.T.P/1.1" 200 -
So the server is up and running, connectivity on the Tivo is working, everything is fine. I choose "Manually add a server..." in "Music, Photos, Products, & More", I type the IP address of the machine running pyTivo. It adds the IP to the list. I access the IP, and I get (immediately, without any delay at all):

No servers were found at  Please verify that
the IP address is correct, that the computer is on and
connected to the network, and that the TiVo Server 
application is running and files have been published 
with the TiVo Publisher.

If the server no longer exists at this location, you should
remove it from your list.
The Tivo doesn't seem to even make any kind of attempt to contact the server whatsoever. I even went as far as to modify pyTivo slightly to print something to the screen as soon as anything at all connects to it - there is never an attempt.

I have tried the following:

  • Reboot the Tivo. I had the most success with this (if you could call it that). After rebooting, I re-added the IP to the machine running pyTivo, and I can actually see Tivo accessing the server. It requests the URL /TiVoConnect?Command=QueryContainer&Container=%2F, but again immediately returns with the same error. So connectivity between the Tivo and pyTivo is definitely working.
  • Tried running pyTivo on Windows. Same exact issue.
  • Tried running Tivo (dot)NET on Windows. Same exact issue.
  • Ran the guided setup on Tivo again.
  • Tried different network settings - assigned a static IP, specifying all networking settings manually, also tried DHCP. Didn't seem to make a difference.
  • Installed TiVo desktop software on another machine. Surprisingly, this works fine and I listened to an mp3 on that machine with the TiVo.
  • Checked the settings for this DVR on the TiVo website. It says that transfers are ALLOWED, Account in Good Standing, and Video Downloads is Enabled/On.

Thanks, I hope somebody can help!

· Registered
4 Posts
Discussion Starter · #2 ·
An update:

Upon examination of my Apache logs, it appears TiVo is trying to access the standard port 80 H.T.T.P (sorry for the periods) server. So, I added an IP alias to this machine, and modified pyTivo a bit so that it would bind to that IP on port 80 (so as not to interfere with Apache). That all works, the server is now up and running on the IP, on port 80.

I am now able to always see TiVo connecting to the server:

Code: - - [08/Jul/2007 19:34:47] "GET /TiVoConnect?Command=QueryContainer&Container=%2F&Format=text%2Fxml H.T.T.P./1.0" 200 -
But I still have the same exact problem. pyTivo reports my server's "title" in the Details section of the XML it returns as my server's hostname. So thinking TiVo might be getting confused there (after it makes the connection attempt, it changes the IP in the list to the hostname), I modified pyTivo slightly so that it always uses the actual IP instead there.

· Registered
4 Posts
Discussion Starter · #3 ·
OK, another update.

Through some more code modifications, I am finally able to get the TiVo to recognize the "Music" share that I set up. That's great! However, as far as the 'videos' share, not so much luck with that.

If I remove the [Music] share from pyTivo.conf, I'm back to square 1 - TiVo connects to the server, but refuses to find anything on it.

But at any rate, I now know for certain it isn't a firewall issue, an issue with my network as a whole, etc.

· Registered
4 Posts
Discussion Starter · #4 ·
OK, another update. :)

First, my last post said that the "Music" was showing up, but not the "Videos".

Turns out I just wasn't looking in the right place (It's directly in the now playing list, doh! :eek:)

Now I just have some problems with ffmpeg, which I bet I'll be able to fix on my own.

The actual problem here was the broadcast address (the 'beacon' setting in the conf file) being incorrect. Since the TiVo's IP is (assigned by DHCP), and the netmask is, the correct broadcast address is

That, and, the port 80 problem. I have no idea why TiVo was trying to get something on port 80 on the IP in the first place, and the original confusion was because of Apache replying with stuff that TiVo didn't understand. This was fixed with some minor modifications to the code allowing a new 'bind' setting, to specify which IP I'd like to bind to, and binding to a different IP on port 9032. This did the trick once and for all.

I'm still not up to 5 posts so I can't post a link yet, but as soon as I can I'll post a link to the diffs of my code changes if anybody is interested.
1 - 4 of 4 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.