# Galleon 2.5.5 quit working



## lrhorer (Aug 31, 2003)

OK, I'm flummoxed. For reasons I won't belabor here, I was forced to renumber the subnet in my house. Things went well enough, but now Galleon has quit working, and I can't figure out why. At first glance, at least, everything seems to be functional on the server side, and I can download a video from any of my three TiVos from the GUI console, but Galleon's folders show up on none of the three TiVos; neither in the NPL nor under the Showcase menu.

I've tried everything of which I can think, including disabling and re-enabling network apps on the TiVo and re-installing Galleon. There are a handful of errors in the logs, but they were generated during a contact session with the GUI. I don't think they are related, but I've posted them below, anyway. The only thing which jumps out at me is the TiVos are sending out Discovery Beacons, but Galleon doesn't seem to be responding to them, at least not directly or quickly. For example, during a capture of several minutes (filtered on one of the TiVos), there was no activity at all for several seconds, then the TiVo sent out a Discovery Beacon. There was dead silence for a full minute, and then the TiVo sent out another Beacon. Another full minute passed, followed by another Beacon. Finally, six seconds after the third Beacon, the Server started communicating with the TiVo, transferring a bunch of data for just over 60 seconds. There was another Beacon sent out during this exchange, but things were again silent for some seconds, until another Beacon came in. Eight Beacons in a row came in with no response from Galleon. Shouldn't it be responding to these Beacons, at least with some sort of acknowledgment? I looked for the folder names in the data payloads, but couldn't find any. OTOH, since some of the communications are encrypted, this may not mean much.

Has anyone else experienced this problem? Does anyone else have any idea what it might be, or what further troubleshooting I should undertake?

Errors:

```
RAID-Server:/var/log/galleon# grep ERROR *
log.txt.1:14:25:20,179 ERROR [RMI TCP Connection(2)-127.0.0.1] Server - java.lang.NullPointerException
log.txt.2:14:24:45,804 ERROR [ToGoThread] NetworkServerManager - Derby Network server could not be created
log.txt.2:14:24:45,805 ERROR [ToGoThread] Server - java.lang.InterruptedException: sleep interrupted
wrapper.log:ERROR  | wrapper  | 2010/12/26 14:25:49 | Shutdown failed: Timed out waiting for signal from JVM.
wrapper.log:ERROR  | wrapper  | 2010/12/26 14:25:53 | JVM did not exit on request, terminated
```


----------



## lrhorer (Aug 31, 2003)

I forgot to mention I have the latest release of Galleon, and it is running on a 2.6.26 kernel with Java 1.6, IIRC.


----------



## Phantom Gremlin (Jun 20, 2002)

No responses to your earlier message, so it doesn't seem like Galleon is that popular. Also, it looks like the software hasn't been updated in nearly 2 years.

According to SourceForge, you're a Galleon developer, so why are you asking here? 

Based on your questions, I hypothesize that you aren't the primary developer, and that you joined the project in order to help debug a previous version of the software. 

Maybe you can hack the source code and instrument Galleon more aggressively. Perhaps there's already a debug switch you can throw? Also, is changing IP addresses *the only thing* you did? Did you also update the kernel or any apps? Are you *sure* that your subnet mask etc is correct? It's easy to make typos in those fields, maybe have a friend check your configuration?

Finally, error messages like *Server - java.lang.NullPointerException* strongly point back at bugs in the Java code. Is there a way to induce Java to produce a stack trace at that point?


----------



## ajayabb (Jan 12, 2007)

Where's Jeremy aka Windracer when you need him. He may be able to troubleshoot for you.


----------



## windracer (Jan 3, 2003)

I'm here! Somehow I missed this thread when it was first posted so lrhorer nudged me this way. 

I guess the first thing I'd ask is what your subnet numbering looks like now (i.e., IP addresses of your Galleon server and the TiVos). I'd also like to see the full log.txt and possibly your configure.xml file. Any other networking changes, like IPv6? Galleon should ignore IPv6 and bind on your IPv4 address, but just in case. Also, are you running 32-bit or 64-bit Linux?

Now, Derby is the database used by Galleon to store all of the stuff it downloads (like your Now Playing List from each TiVo). So I'm wondering if your database is causing a problem. I know you said you re-installed Galleon, but can you try shutting it down, deleting everything under galleon/data, and then starting it up again? That should recreate the Derby database. I wonder if there was some old data in there that was still referencing your old network setup (although you said you can download from the GUI, so the data is being stored).

I'm doing a lot of guessing here (as I usually do) but hopefully we can narrow this down for you!


----------



## windracer (Jan 3, 2003)

Oh, one other thing ... try turning on debug mode and then checking the logs. You can do this through the GUI (under File/Properties - Debug logging) or by editing your configure.xml file and setting debug="true" in the server section. Either way, restart Galleon after making the change and let's see if anything helpful appears in your logs.


----------



## lrhorer (Aug 31, 2003)

Phantom Gremlin said:


> No responses to your earlier message, so it doesn't seem like Galleon is that popular. Also, it looks like the software hasn't been updated in nearly 2 years.


Major development has halted for a number of reasons, but that doesn't mean it is not still one of the most powerful and effective 3rd party applications for the TiVo. There are still a number of Galleon applications that have no peer and in several cases no parallel anywhere.



Phantom Gremlin said:


> According to SourceForge, you're a Galleon developer, so why are you asking here?


I am not a developer, at all, and certainly not a Galleon developer. I have only the very most perfunctory familiarity with Java, and none at all with the Galleon code.



Phantom Gremlin said:


> Based on your questions, I hypothesize that you aren't the primary developer, and that you joined the project in order to help debug a previous version of the software.


I submitted some bug reports, if that's what you mean.



Phantom Gremlin said:


> Maybe you can hack the source code and instrument Galleon more aggressively. Perhaps there's already a debug switch you can throw?


I've never even seen Galleon's source code.



Phantom Gremlin said:


> Also, is changing IP addresses *the only thing* you did?


Well, the routing tables were updated, of course, and the initrd was updated and the server was restarted, but other than that, no I didn't make any other changes prior to the failure of Galleon. I did a fair amount of trouble-shooting after the fact, of course, including three re-installations.



Phantom Gremlin said:


> Did you also update the kernel or any apps?


I had to update the config files of a number of apps, of course. Many applications require references to IP addresses. I did not recompile the kernel, nor did I add any applications or insert any kernel modules.



Phantom Gremlin said:


> Are you *sure* that your subnet mask etc is correct? It's easy to make typos in those fields, maybe have a friend check your configuration?


Look, I'm not a developer, but I am a network engineer. If it were a simple matter of network configurations, then networking in general would not work. Galleon's transfer features work, just not its showcase features. All of pyTiVo's functions work, as do my other TiVo apps.



Phantom Gremlin said:


> Finally, error messages like *Server - java.lang.NullPointerException* strongly point back at bugs in the Java code.


Yes, but those errors are not in the showcase section, which is what is failing.



Phantom Gremlin said:


> Is there a way to induce Java to produce a stack trace at that point?


I expect there may be, but I do not know what it would be off the top of my head.


----------



## lrhorer (Aug 31, 2003)

windracer said:


> I guess the first thing I'd ask is what your subnet numbering looks like now (i.e., IP addresses of your Galleon server and the TiVos).


Well, much like it did before, except now the subnet is 192.168.1/24 rather than 192.168.0/24. The Galleon server is 192.168.1.50, and the TiVos are 192.168.1.101, 192.168.1.102, and 192.168.1.10, respectively. All are static.



windracer said:


> I'd also like to see the full log.txt and possibly your configure.xml file.


See attachments.



windracer said:


> Any other networking changes, like IPv6?


No.



windracer said:


> Also, are you running 32-bit or 64-bit Linux?


64



windracer said:


> Now, Derby is the database used by Galleon to store all of the stuff it downloads (like your Now Playing List from each TiVo). So I'm wondering if your database is causing a problem. I know you said you re-installed Galleon, but can you try shutting it down, deleting everything under galleon/data, and then starting it up again?


That is one of the first things I tried. I then did a re-install. Then I deleted the data directory and did a re-install. Finally, I deleted the entire directory structure and did a full install.


----------



## lrhorer (Aug 31, 2003)

windracer said:


> Oh, one other thing ... try turning on debug mode and then checking the logs. You can do this through the GUI (under File/Properties - Debug logging) or by editing your configure.xml file and setting debug="true" in the server section. Either way, restart Galleon after making the change and let's see if anything helpful appears in your logs.


OK, I set the debug mode, wiped the logs, and started Galleon.


----------



## windracer (Jan 3, 2003)

> I am not a developer, at all, and certainly not a Galleon developer. I submitted some bug reports, if that's what you mean.


You _are_ listed as a developer on the Galleon SourceForge site, though. Someone must have added you at some point. 



lrhorer said:


> OK, I set the debug mode, wiped the logs, and started Galleon.


Ok, not a lot to see there, surprisingly. I compared your log.txt to mine (64-bit Ubuntu) and there were only minor differences like Java version, kernel version, time zone, etc.

I did notice that in your /usr/share/galleon/lib folder you've got an extra file called wrappertest.jar. Any idea where that came from? I'm guessing that, like me, you had to grab the 64-bit version of the java wrapper and that's part of it? What I did was replace the existing wrapper.jar with the 64-bit version that way no changes to the classpath were necessary. I also had to put the 64-bit libwrapper.so file in there (again, removing the original 32-bit one).

But that's probably not it since the wrapper is running ... anyway ...

I can see Galleon publishing itself:


```
03:38:15,744  INFO [WrapperListener_start_runner] AppHost - MDNS: http://192.168.1.50:7288/Galleon/
```
I can see from your configure.xml file that you're using the "Menu" option so that all of your Galleon apps appear under a Galleon menu item instead of individually. This jives with that publish line above otherwise I should see publish messages for each app (although I see in your older logs you tried turning that off because I do see Music and Weather being published at one point). If you put that URL above into your web browser, you should get an x-hme attachment download prompt.

Other than that, in the debug log I can see Galleon connecting to your two TiVos and pulling down their Now Playing Lists.

In your non-debug log, I do actually see Galleon "finding" one of your TiVos:


```
17:45:42,656  INFO [JmDNS.SocketListener] TiVoListener - Found TiVo: Name=TiVo HD
Server=remove.local.
Address=192.168.1.103
Port=80
Platform=tcd/Series3
SoftwareVersion=11.0j-01-2-652
Path=/index.html
LastChangedDate=Wed Dec 31 18:00:00 CST 1969
NumShows=0
Capacity=40
```
Since Galleon can connect to your TiVos, outbound communication from your server is working fine obviously. It can connect to the web server on your TiVos and pull down information. Since it's not (consistently) working the _other_ way around, could it be a firewall or something blocking inbound connections on your Linux box? See if you can hit that URL from the publish message above from another machine on the network. I'm just curious.

Really strange. Can you let Galleon run a bit longer in DEBUG mode and post some longer logs?


----------



## lrhorer (Aug 31, 2003)

windracer said:


> You _are_ listed as a developer on the Galleon SourceForge site, though. Someone must have added you at some point.


I think maybe John did. He contacted me at one point about becoming a developer. It would be nice, but I have not had the time of late to learn a new language. One of these days... maybe.



windracer said:


> I did notice that in your /usr/share/galleon/lib folder you've got an extra file called wrappertest.jar. Any idea where that came from? I'm guessing that, like me, you had to grab the 64-bit version of the java wrapper and that's part of it?


Yes. When I did the full install, I just copied over everything from the wrapper archive, and didn't bother with clean-up. It wasn't there when the problem first started happening.



windracer said:


> What I did was replace the existing wrapper.jar with the 64-bit version that way no changes to the classpath were necessary. I also had to put the 64-bit libwrapper.so file in there (again, removing the original 32-bit one).


Right.



windracer said:


> I can see from your configure.xml file that you're using the "Menu" option so that all of your Galleon apps appear under a Galleon menu item instead of individually. This jives with that publish line above otherwise I should see publish messages for each app (although I see in your older logs you tried turning that off because I do see Music and Weather being published at one point).


Right. I tried all sorts of configuration changes in an attempt to get things working. I also wiped the logs several times along the way, so most of the changes I made are not reflected in the logs.



windracer said:


> If you put that URL above into your web browser, you should get an x-hme attachment download prompt.


Yes, I do.



windracer said:


> Since Galleon can connect to your TiVos, outbound communication from your server is working fine obviously. It can connect to the web server on your TiVos and pull down information. Since it's not (consistently) working the _other_ way around, could it be a firewall or something blocking inbound connections on your Linux box?


Nope:

```
RAID-Server:/var/log/galleon# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
```
Indeed, iptables is disabled on two of the three TiVos, as well. The machine running TiVo is a dedicated server in a secure LAN. It serves quite a few applications. I do have a backup server, so I suppose I could install and run Galleon there, but I would really rather not.



windracer said:


> Really strange. Can you let Galleon run a bit longer in DEBUG mode and post some longer logs?


Yes, of course, although whatever is failing is already doing so.

It's probably not relevant, but during the IP address transition, there was also some weirdness with pyTivo. All of the pyTiVo shares got doubled-up, half of them being empty, and I could not get rid of the ghost shares, even with numerous reboots. They eventually went away, however.

There was one other temporary oddity. While Galleon is down, I have been supplementing one of the missing features with pyTivo's Music app. It's inferior to Galleon's, but it works. The pyTivo Music app disappeared from the showcase on one of the TiVos, too, right after I exited it to watch TV. I had to reboot the TiVo to get it back. It's probably not related.


----------



## windracer (Jan 3, 2003)

lrhorer said:


> Indeed, iptables is disabled on two of the three TiVos, as well. The machine running TiVo is a dedicated server in a secure LAN. It serves quite a few applications. I do have a backup server, so I suppose I could install and run Galleon there, but I would really rather not.


Do you have hacked TiVos that you have disabled iptables on them? Why?

And maybe I'm not understanding your network setup. So your RAID-Server, running Galleon, is on a different LAN than your TiVos, but has the same subnet? Is there a router between the TiVo subnet and the Galleon subnet? Because I don't think Bonjour will traverse subnets.

Trying Galleon on that backup server (temporarily) would at least help narrow down the issue to the secure LAN.

Maybe I'm just confused ...


----------



## jtkohl (Feb 7, 2004)

Sorry I haven't had time to work on Galleon recently. No hope of that anytime soon either.
Spread the word, anybody wanting to pick up lead maintainer role, let me know!

That said, about the only thing I can suggest is trying a Galleon version from before the switch to Bonjour-based announcements, going back to one that used the TiVo beacon protocol?


----------



## lrhorer (Aug 31, 2003)

windracer said:


> Do you have hacked TiVos that you have disabled iptables on them? Why?


It would interfere with both tserver and mfs_ftp, and possibly with TiVoWeb.



windracer said:


> And maybe I'm not understanding your network setup. So your RAID-Server, running Galleon, is on a different LAN than your TiVos, but has the same subnet?


No. Where do you get that? Same LAN, same subnet. I had to change the entire subnet - TiVos and all - from 192.168.0/24 to 192.168.1/24.



windracer said:


> Is there a router between the TiVo subnet and the Galleon subnet?


No, just switches. I have a small switch in the theater and a small switch in the Living room, both hanging of the main switch. The server and the TiVo in the bedroom both hang directly off the main switch, but it's all one, single, subnet with no router other than the internet router, which of course has the 192.168.1/24 subnet on one LAN port and the internet on WAN side.



windracer said:


> Because I don't think Bonjour will traverse subnets.


No, you're right, it won't, but it's not relevant to this case.



windracer said:


> Trying Galleon on that backup server (temporarily) would at least help narrow down the issue to the secure LAN.


Well,I've already tried Galleon on a workstation, and it works there, so it's pretty much narrowed down to the server.



windracer said:


> Maybe I'm just confused ...


Yeah, I think a bit. I'm not sure where you got the idea the server was on a different subnet. All the permanent machines in the house are on one secured LAN subnet. I do have an unsecured wireless subnet, but it is only for use by guests who bring in laptops. It is firewalled from the 192.168.1/24 subnet. I also have a VPN subnet, but it also is separate - albeit not firewalled - from the 192.168.1/24.

Hmm. I re-read my posts, and I guess I see where I may have confused you. The main server, the backup server, and all the TiVos are on a secured network, so there is no need for a firewall on any of them. Per your request, I let Galleon run a couple of days and collected the logs, but the archive is too big to attach (230K), so you'll have to get it from my website using the link below. Just before I tarred the logs, I ran the GUI and piddled around a little. I disabled ToGo and clicked on <Test> (which generated a bunch of errors). I also manually added the third TiVo, but it isn't pulling up the NPL. It had not found the 3rd TiVo in the interim.

http://fletchergeek.com/images/galleon.tar.zip


----------



## lrhorer (Aug 31, 2003)

jtkohl said:


> That said, about the only thing I can suggest is trying a Galleon version from before the switch to Bonjour-based announcements, going back to one that used the TiVo beacon protocol?


...But it was working right until I changed the subnet!


----------



## windracer (Jan 3, 2003)

lrhorer said:


> I re-read my posts, and I guess I see where I may have confused you. The main server, the backup server, and all the TiVos are on a secured network, so there is no need for a firewall on any of them.


Yeah, that's why I was confused.

I still don't see anything out-of-the-ordinary in your extended logs. Really strange. Does the RAID-Server have multiple NICs or anything like that? Something has got to be preventing the TiVos from "seeing" Galleon running on that box.

Or what about any multicast settings on the in-between switches? I seem to remember reading about people needed to enable multicast on their routers/switches when they were having TiVo Desktop issues.

At this point I'm as stumped as you are.


----------



## lrhorer (Aug 31, 2003)

windracer said:


> I still don't see anything out-of-the-ordinary in your extended logs. Really strange. Does the RAID-Server have multiple NICs or anything like that?


Well, the motherboard has 2 embedded NICs, but only one is active. I did have some route issues ( I forgot to purge the now bogus route to 192.168.1/24), and while I was troubleshooting that I changed NICs. I don't recall if I changed back, or not.



windracer said:


> Something has got to be preventing the TiVos from "seeing" Galleon running on that box.


I can ping, telnet, or ftp between the server and the TiVos - the hacked ones, anyway. I can see ARP requests and responses to and from the systems.



windracer said:


> Or what about any multicast settings on the in-between switches?


They are dumb switches - no settings at all, and they don't even have layer 3 capability. They are strictly MAC layer store and forward. The main switch is managed, but doesn't have any settings for multicast frames. In any case, the only thing that has changed on it is its IP address. (I even forgot to do that until I was setting up a mirror port for testing.)



windracer said:


> At this point I'm as stumped as you are.


Well if you (or John or someone) could tell me a bit more about the protocol which publishes the folders on the TiVo, I might be able to inspect the packets to see what's not happening that should be. I know that the system employs Bonjour for discovery and publishing purposes, but what is the actual handshake? Does the server broadcast a publishing update to be accepted by all TiVos on the net with the proper MAK, or does the server discover the IP addresses of each TiVo and unicast the information to each TiVo in turn, or does each TiVo send out a broadcast query asking for any available folders, or does each TiVo send a unicast query to each server asking for its folder information? If either of the latter, what is the trigger that produces a query? Is it timed, or is it based upon user input? Is there a particular string for which I should look coming from the TiVos or from the server?


----------



## windracer (Jan 3, 2003)

lrhorer said:


> Well if you (or John or someone) could tell me a bit more about the protocol which publishes the folders on the TiVo, I might be able to inspect the packets to see what's not happening that should be.


Out of my league ... the only contributions I've made to Galleon are some code fixes for the Weather and Movies app and some Linux stuff. As for how the beacon and Bonjour work, I have no idea past the basics we've already gone over.

Sorry! Guess I'll have to defer to the hard-core networking/coding guys on this one. You're obviously more well-versed in this stuff than I am.


----------



## wmcbrine (Aug 2, 2003)

The folders are announced as a broadcast. But, it's a bit more subtle than that... There are two beacon systems: The old (pre-Zeroconf), and the new. The old system uses TiVo's proprietary port 2190 TiVo Connect Discovery system to announce the existence of the TiVo or server in a UDP broadcast, whereupon other TiVos do an HTTP connection to the announcing system to find what services (= folders) it's offering. The new system, based on Zeroconf (aka Bonjour aka Rendevous), is similar, except that each top-level folder is announced directly, so the TiVos don't have to make that return HTTP connection to discover them.

By default, pyTivo puts out both types of announcements, as do real TiVos (last time I checked). I'm not sure what Galleon does.


----------



## lrhorer (Aug 31, 2003)

I had a heart attack last week, so I've been out of touch. I do want to solve this, though, so moving forward:


wmcbrine said:


> The folders are announced as a broadcast. But, it's a bit more subtle than that... There are two beacon systems: The old (pre-Zeroconf), and the new. The old system uses TiVo's proprietary port 2190 TiVo Connect Discovery system to announce the existence of the TiVo or server in a UDP broadcast, whereupon other TiVos do an HTTP connection to the announcing system to find what services (= folders) it's offering.


OK, I'm seeing a UDP broadcast from the server to port 2190:


```
0000  ff ff ff ff ff ff 00 1f  c6 8e bc d6 08 00 45 00   ........ ......E.
0010  00 9d 00 00 40 00 40 11  78 76 c0 a8 01 32 ff ff   [email protected]@. xv...2..
0020  ff ff ca 8f 08 8e 00 89  c2 74 74 69 76 6f 63 6f   ........ .ttivoco
0030  6e 6e 65 63 74 3d 31 0a  73 77 76 65 72 73 69 6f   nnect=1. swversio
0040  6e 3d 31 0a 6d 65 74 68  6f 64 3d 62 72 6f 61 64   n=1.meth od=broad
0050  63 61 73 74 0a 69 64 65  6e 74 69 74 79 3d 47 77   cast.ide ntity=Gw
0060  51 6b 6c 55 79 4d 63 57  0a 6d 61 63 68 69 6e 65   QklUyMcW .machine
0070  3d 52 41 49 44 2d 53 65  72 76 65 72 0a 70 6c 61   =RAID-Se rver.pla
0080  74 66 6f 72 6d 3d 70 63  0a 73 65 72 76 69 63 65   tform=pc .service
0090  73 3d 54 69 56 6f 4d 65  64 69 61 53 65 72 76 65   s=TiVoMe diaServe
00a0  72 3a 39 30 33 32 2f 68  74 74 70                  r:9032/h ttp
```
What port should the http response be using?

Isn't the above from pyTivo, though? I'm not seeing any other likely candidate broadcasts from the server.



wmcbrine said:


> The new system, based on Zeroconf (aka Bonjour aka Rendevous), is similar, except that each top-level folder is announced directly


Still via broadcast? I don't spot anything else other than the above from either application when looking at broadcast packets.



wmcbrine said:


> so the TiVos don't have to make that return HTTP connection to discover them.
> 
> By default, pyTivo puts out both types of announcements, as do real TiVos (last time I checked). I'm not sure what Galleon does.


I'm not seeing any broadcasts other than on port 2190 from either the TiVos or the Galleon server. Could it be Bonjour is not working? I think this version of Galleon only employs Bonjour, and if pyTiVo is using both, it would explain why pyTiVo is working but Galleon is not.


----------



## ajayabb (Jan 12, 2007)

I hope you are ok.


----------



## windracer (Jan 3, 2003)

lrhorer said:


> I had a heart attack last week, so I've been out of touch.


 Glad you are okay! Hopefully Galleon didn't play a part in that. 



> Could it be Bonjour is not working? I think this version of Galleon only employs Bonjour ...


Since you're already knees-deep in messing around with this, you could try going back to Galleon 2.5.4 (like John suggested) which still uses the TiVo Beacon and see if that works.


----------



## wmcbrine (Aug 2, 2003)

lrhorer said:


> What port should the http response be using?


9032



> _Isn't the above from pyTivo, though?_


Yes.



> _Still via broadcast?_


I think technically Zeroconf uses multicast rather than broadcast. I know some routers have a problem with it. I have only a dim understanding of the inner workings of Zeroconf, as I let the library handle it. (This will probably have to change, since the library is unmaintained, and somebody (= me?) has to port it to Python 3 eventually.)


----------



## lrhorer (Aug 31, 2003)

ajayabb said:


> I hope you are ok.


Thank you. I think I will be fine. It was a very mild attack, with atypical pathology. They did an angioplasty, and there is no evidence of any other heart disease. With a little luck, I'll be good for another 2 or 3 decades - if someone doesn't shoot me, first.


----------



## lrhorer (Aug 31, 2003)

windracer said:


> Glad you are okay! Hopefully Galleon didn't play a part in that.


I wish Galleon were the worst of my aggravations.



windracer said:


> Since you're already knees-deep in messing around with this, you could try going back to Galleon 2.5.4 (like John suggested) which still uses the TiVo Beacon and see if that works.


Yeah, although I suspect it will.


----------



## lrhorer (Aug 31, 2003)

wmcbrine said:


> Yes.


Yeah, I confirmed myself by shutting down pyTivo. The broadcasts stopped.



wmcbrine said:


> I think technically Zeroconf uses multicast rather than broadcast.


I looked it up. It does. I filtered for multicast, and with pyTivo running, I'm seeing a multicast packet containing all the folder names every 20 seconds. When I shut down pyTivo, the packets stop. There are no other multicast packets emanating from the server.



wmcbrine said:


> I know some routers have a problem with it. I have only a dim understanding of the inner workings of Zeroconf, as I let the library handle it.)


Well, it's possibly moot.


----------



## lrhorer (Aug 31, 2003)

wmcbrine said:


> 9032


Hmm. Interesting. If I point a browser at :9032, of course I get the pyTivo main page:


```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>pyTivo</title>
<link rel="stylesheet" type="text/css" href="/main.css">
</head>
<body>
    <p id="titlep"><span id="title">pyTivo</span></p>
    <div id="main">
    <a href="/TiVoConnect?Command=Settings&amp;Container=Settings">Web Configuration</a><br>
    <br>Pull from TiVos:<br><a href="/TiVoConnect?Command=NPL&amp;Container=ToGo&amp;TiVo=192.168.1.102">HD Theater</a><br><a href="/TiVoConnect?Command=NPL&amp;Container=ToGo&amp;TiVo=192.168.1.101">HD Livingroom</a><br><a href="/TiVoConnect?Command=NPL&amp;Container=ToGo&amp;TiVo=192.168.1.103">TiVo HD</a><br>

    <br>Push from video shares:<br><a href="TiVoConnect?Command=QueryContainer&amp;Container=Group%20by%20Alpha">Group by Alpha</a><br><a href="TiVoConnect?Command=QueryContainer&amp;Container=RAID%20Server">RAID Server</a><br><a href="TiVoConnect?Command=QueryContainer&amp;Container=Unverified">Unverified</a><br><a href="TiVoConnect?Command=QueryContainer&amp;Container=Videos%20by%20Genre">Videos by Genre</a><br>
    </div>
</body>
</html>
```
I take it the TiVo parses the web output and takes the "Command=QueryContainer" phrase to mean the subsequent folders should be displayed in the NPL?


----------



## wmcbrine (Aug 2, 2003)

No, the TiVo gets XML rather than HTML. Because its first request is for "/TiVoConnect?Command=QueryContainer&Container=&#37;2F" rather than "/". (And actually, if you click on one of the links in the Push section, you get XML, too; it's just rendered with XSL and CSS, which the TiVo ignores.)


----------



## orangeboy (Apr 19, 2004)

lrhorer said:


> Thank you. I think I will be fine. It was a very mild attack, with atypical pathology. They did an angioplasty, and there is no evidence of any other heart disease. With a little luck, I'll be good for another 2 or 3 decades - if someone doesn't shoot me, first.


Good to hear! Keep a bottle of aspirins around, and any other medications the doctors prescribe. As far as getting shot, keep your eyes open and your head down...


----------



## lrhorer (Aug 31, 2003)

wmcbrine said:


> No, the TiVo gets XML rather than HTML. Because its first request is for "/TiVoConnect?Command=QueryContainer&Container=%2F" rather than "/". (And actually, if you click on one of the links in the Push section, you get XML, too; it's just rendered with XSL and CSS, which the TiVo ignores.)


Ah, yes, I see.


----------



## lrhorer (Aug 31, 2003)

orangeboy said:


> Good to hear! Keep a bottle of aspirins around, and any other medications the doctors prescribe.


Yeah, one of the daily meds is an aspirin. I don't usually buy aspirin, because it upsets my stomach, so I didn't have one when the heart attack hit.



orangeboy said:


> As far as getting shot, keep your eyes open and your head down...


If I keep my head down, it exposes something I *REALLY* need. 

So far, either I've been really good at ducking, or else everyone I know is a really bad shot.


----------



## lrhorer (Aug 31, 2003)

OK, I loaded 2.5.4, but I'm having trouble getting it to run. It complains about the wrapper version - and I can't figure out why - but I don't think that's the root issue. I copied over wrapper.jar to /usr/lib/galleon/ from the 3.4.0 archive, so I don't see how it could be incompatible with the library from the same archive. I think the root issue, however, is it is receiving an unknown packet type. From where or why it is unknown, I have no idea.

Edit: Oops, nevermind, or at least half - way. I found why 2.5.4 wasn't running. Derby wasn't able to create its database. Evidently I didn't clear enough of the data. I cleared out all the data, and now galleon 2.5.4 is running. I'm seeing beacons from it every 60 seconds.

wrapper.log:

```
STATUS | wrapper  | 2011/01/26 15:23:20 | --> Wrapper Started as Daemon
STATUS | wrapper  | 2011/01/26 15:23:20 | Java Service Wrapper Community Edition 64-bit 3.4.0
STATUS | wrapper  | 2011/01/26 15:23:20 |   Copyright (C) 1999-2010 Tanuki Software, Ltd.  All Rights Reserved.
STATUS | wrapper  | 2011/01/26 15:23:20 |     http://wrapper.tanukisoftware.org
STATUS | wrapper  | 2011/01/26 15:23:20 |
STATUS | wrapper  | 2011/01/26 15:23:20 | Launching a JVM...
INFO   | jvm 1    | 2011/01/26 15:23:20 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2011/01/26 15:23:20 |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
INFO   | jvm 1    | 2011/01/26 15:23:20 |
INFO   | jvm 1    | 2011/01/26 15:23:20 | WARNING - The Wrapper jar file currently in use is version "3.2.3"
INFO   | jvm 1    | 2011/01/26 15:23:20 |           while the version of the Wrapper which launched this JVM is
INFO   | jvm 1    | 2011/01/26 15:23:20 |           "3.4.0".
INFO   | jvm 1    | 2011/01/26 15:23:20 |           The Wrapper may appear to work correctly but some features may
INFO   | jvm 1    | 2011/01/26 15:23:20 |           not function correctly.  This configuration has not been tested
INFO   | jvm 1    | 2011/01/26 15:23:20 |           and is not supported.
INFO   | jvm 1    | 2011/01/26 15:23:20 |
INFO   | jvm 1    | 2011/01/26 15:23:20 | WARNING - The Wrapper jar file currently in use is version "3.2.3"
INFO   | jvm 1    | 2011/01/26 15:23:20 |           while the version of the native library is "3.4.0".
INFO   | jvm 1    | 2011/01/26 15:23:20 |           The Wrapper may appear to work correctly but some features may
INFO   | jvm 1    | 2011/01/26 15:23:20 |           not function correctly.  This configuration has not been tested
INFO   | jvm 1    | 2011/01/26 15:23:20 |           and is not supported.
INFO   | jvm 1    | 2011/01/26 15:23:20 |
INFO   | jvm 1    | 2011/01/26 15:23:20 | Wrapper code received an unknown packet type: -122
INFO   | jvm 1    | 2011/01/26 15:23:21 | Galleon 2.5.4 is starting...
STATUS | wrapper  | 2011/01/26 15:23:24 | <-- Wrapper Stopped
```


----------



## windracer (Jan 3, 2003)

So ... it's working?


----------



## lrhorer (Aug 31, 2003)

Well, I think so, but I'm not entirely certain, just yet. I forgot to save a copy of gui.sh, and the default doesn't work. I'm extracting the file from an archive, but it's going to take a while. It's a big archive.


----------



## lrhorer (Aug 31, 2003)

windracer said:


> So ... it's working?


Well, yes... and no. It's publishing the video in the NPL (which, ultimately I don't need), but no weather or traffic in showcases.


----------



## windracer (Jan 3, 2003)

Man, that's strange ...

Your original problem does seem to be related to the switch from the TiVo Beacon protocol to Bonjour though (and yeah, I know it was working before your network re-org).


----------



## lrhorer (Aug 31, 2003)

OK, I turned off GoBack, and this is the beacon:


```
0000  ff ff ff ff ff ff 00 1f  c6 8e bc d6 08 00 45 00   ........ ......E.
0010  00 cd 00 00 40 00 40 11  b5 9e c0 a8 01 32 c0 a8   [email protected]@. .....2..
0020  01 ff 08 8e 08 8e 00 b9  85 4c 54 69 56 6f 43 6f   ........ .LTiVoCo
0030  6e 6e 65 63 74 3d 31 0a  4d 65 74 68 6f 64 3d 42   nnect=1. Method=B
0040  72 6f 61 64 63 61 73 74  0a 50 6c 61 74 66 6f 72   roadcast .Platfor
0050  6d 3d 70 63 2f 4c 69 6e  75 78 0a 4d 61 63 68 69   m=pc/Lin ux.Machi
0060  6e 65 3d 52 41 49 44 2d  53 65 72 76 65 72 0a 49   ne=RAID- Server.I
0070  64 65 6e 74 69 74 79 3d  30 30 2d 30 30 2d 30 30   dentity= 00-00-00
0080  2d 30 30 2d 30 30 2d 30  30 2d 30 30 2d 30 30 2d   -00-00-0 0-00-00-
0090  30 30 2d 30 30 2d 30 30  2d 30 30 2d 30 30 2d 30   00-00-00 -00-00-0
00a0  30 2d 30 30 2d 30 30 0a  53 65 72 76 69 63 65 73   0-00-00. Services
00b0  3d 54 69 56 6f 4d 65 64  69 61 53 65 72 76 65 72   =TiVoMed iaServer
00c0  3a 38 30 38 31 2f 68 74  74 70 0a 73 77 76 65 72   :8081/ht tp.swver
00d0  73 69 6f 6e 3d 32 2e 35  2e 34 0a                  sion=2.5 .4.
```
I see nothing at all coming from the TiVos on port 8081 - not even when I went into the showcase menu - until I bring up the NPL. After that, I see some handshaking and minimal info transfer. The only packets with a payload all seem identical:


```
0000  00 11 d9 0b 66 54 00 1f  c6 8e bc d6 08 00 45 00   ....fT.. ......E.
0010  02 00 7b c6 40 00 40 06  39 48 c0 a8 01 32 c0 a8   ..{[email protected]@. 9H...2..
0020  01 67 1f 91 bf e7 57 85  37 1b f2 fe c8 c4 80 18   .g....W. 7.......
0030  00 36 85 dc 00 00 01 01  08 0a 2b af 4c de 10 b9   .6...... ..+.L...
0040  0d 29 48 54 54 50 2f 31  2e 30 20 32 30 30 20 53   .)HTTP/1 .0 200 S
0050  75 63 63 65 73 73 0d 0a  53 65 72 76 65 72 3a 20   uccess.. Server: 
0060  48 74 74 70 53 65 72 76  65 72 0d 0a 43 6f 6e 74   HttpServ er..Cont
0070  65 6e 74 2d 6c 65 6e 67  74 68 3a 20 33 37 31 0d   ent-leng th: 371.
0080  0a 43 6f 6e 6e 65 63 74  69 6f 6e 3a 20 4b 65 65   .Connect ion: Kee
0090  70 2d 41 6c 69 76 65 0d  0a 0d 0a 3c 3f 78 6d 6c   p-Alive. ...<?xml
00a0  20 76 65 72 73 69 6f 6e  3d 22 31 2e 30 22 20 65    version ="1.0" e
00b0  6e 63 6f 64 69 6e 67 3d  22 49 53 4f 2d 38 38 35   ncoding= "ISO-885
00c0  39 2d 31 22 20 3f 3e 0a  3c 54 69 56 6f 43 6f 6e   9-1" ?>. <TiVoCon
00d0  74 61 69 6e 65 72 3e 0a  3c 44 65 74 61 69 6c 73   tainer>. <Details
00e0  3e 0a 3c 54 69 74 6c 65  3e 52 41 49 44 2d 53 65   >.<Title >RAID-Se
00f0  72 76 65 72 3c 2f 54 69  74 6c 65 3e 0a 3c 43 6f   rver</Ti tle>.<Co
0100  6e 74 65 6e 74 54 79 70  65 3e 78 2d 63 6f 6e 74   ntentTyp e>x-cont
0110  61 69 6e 65 72 2f 74 69  76 6f 2d 73 65 72 76 65   ainer/ti vo-serve
0120  72 3c 2f 43 6f 6e 74 65  6e 74 54 79 70 65 3e 0a   r</Conte ntType>.
0130  3c 53 6f 75 72 63 65 46  6f 72 6d 61 74 3e 78 2d   <SourceF ormat>x-
0140  63 6f 6e 74 61 69 6e 65  72 2f 66 6f 6c 64 65 72   containe r/folder
0150  3c 2f 53 6f 75 72 63 65  46 6f 72 6d 61 74 3e 0a   </Source Format>.
0160  3c 54 6f 74 61 6c 49 74  65 6d 73 3e 30 3c 2f 54   <TotalIt ems>0</T
0170  6f 74 61 6c 49 74 65 6d  73 3e 0a 3c 2f 44 65 74   otalItem s>.</Det
0180  61 69 6c 73 3e 0a 3c 49  74 65 6d 53 74 61 72 74   ails>.<I temStart
0190  3e 30 3c 2f 49 74 65 6d  53 74 61 72 74 3e 0a 3c   >0</Item Start>.<
01a0  49 74 65 6d 43 6f 75 6e  74 3e 30 3c 2f 49 74 65   ItemCoun t>0</Ite
01b0  6d 43 6f 75 6e 74 3e 0a  3c 2f 54 69 56 6f 43 6f   mCount>. </TiVoCo
01c0  6e 74 61 69 6e 65 72 3e  0a 3c 21 2d 2d 20 43 6f   ntainer> .<!-- Co
01d0  70 79 72 69 67 68 74 20  28 63 29 20 32 30 30 35   pyright  (c) 2005
01e0  2c 20 32 30 30 36 20 4c  65 6f 6e 20 4e 69 63 68   , 2006 L eon Nich
01f0  6f 6c 6c 73 2e 20 41 6c  6c 20 72 69 67 68 74 73   olls. Al l rights
0200  20 72 65 73 65 72 76 65  64 2e 2d 2d 3e 0a          reserve d.-->.
```
The bottom line, really, is that Galleon is still not working under 2.5.4, even though parts of it - the parts I don't need (specifically TTG and TTCB) - are working.


----------



## jtkohl (Feb 7, 2004)

Well, that's an interesting observation I hadn't realized. TTG/TTCB are published separately from the HME application broadcasts/publishing.
IIRC, HME has never used the beacon stuff, always using MDNS of one variety or another to announce itself.


----------



## lrhorer (Aug 31, 2003)

OK, so what direction should I move from here? Is there something specific for which I should look in the network packets? Is there something specific for which I should look in the server's configuration or internal utilities?


----------



## wmcbrine (Aug 2, 2003)

You should look for something blocking multicast.


----------



## lrhorer (Aug 31, 2003)

There is nothing blocking anything - not in the network, at least. There are plenty of multicast packets being received by the server, and for that matter plenty being sent out, just none by Galleon. I thought I made that plain in my messages above.

There is something interesting, though. It may not be related, but I am seeing a lot of the following in /var/log/daemon.log:


```
Jan 29 14:48:59 localhost avahi-daemon[3719]: Received packet from invalid interface.
```
Avahi is the deamon that provides, among other things, Bonjour and other network address resolution protocols such as WINS.


----------



## lrhorer (Aug 31, 2003)

I went back and verified. I am seeing MDNS multicast packets generated by pyTivo coming from the server, but none by Galleon. I am also seeing MDNS multicast packets from all three TiVos, and I am seeing TiVoConnect packets from Galleon.

I tried reconfiguring Avahi-common and both MDNS libraries, restarting Galleon afterwards, but I'm not seeing any packets that look like MDNS packets coming from Galleon, despite the log entries that claim Music and Weather are registered:


```
22:26:52,667  INFO [WrapperListener_start_runner] AppHost - MDNS: http://192.168.1.50:7288/Weather/
22:26:57,671  INFO [WrapperListener_start_runner] AppHost - MDNS: http://192.168.1.50:7288/Music/
22:27:00,643  INFO [WrapperListener_start_runner] Server - Using RMI port 1099
22:27:00,779  INFO [WrapperListener_start_runner] Server - Using PC publishing port 8081
22:27:00,808  INFO [WrapperListener_start_runner] BroadcastThread - High frequency enabled
22:27:00,875  INFO [WrapperListener_start_runner] Server - Broadcast port=2190
22:27:05,986  INFO [ListenThread] BroadcastThread - High frequency enabled
22:27:28,738  INFO [ListenThread] BroadcastThread - High frequency enabled
22:28:01,494  INFO [ListenThread] BroadcastThread - High frequency enabled
```


----------



## windracer (Jan 3, 2003)

What if you use the "manually add a server" option under Showcases and put in 192.168.1.50?


----------



## lrhorer (Aug 31, 2003)

windracer said:


> What if you use the "manually add a server" option under Showcases and put in 192.168.1.50?


I tried that. It has no effect.


----------



## lrhorer (Aug 31, 2003)

It's working, now. I have made a number of changes to the server over the last few days, so I am not entirely certain which one fixed the issue, but I suspect it may have started working when I upgraded another library for avahi. Traffic doesn't seem to be working at the moment, but that may not be related to the application. Music and Weather are working fine. I'll try reverting to 2.5.5 this weekend.


----------



## windracer (Jan 3, 2003)

Good to hear!


----------



## ajayabb (Jan 12, 2007)

Sweet!


----------



## lrhorer (Aug 31, 2003)

I upgraded to 2.5.5 with no problems, but the Traffic app is still not working. Is it broken?


----------



## windracer (Jan 3, 2003)

I did some checking and it looks like Yahoo has killed the Traffic API that Galleon was using.

http://developer.yahoo.com/traffic/rest/V1/index.html



> Yahoo! is shutting down the Traffic Rest API and the Traffic RSS Feed. There is no transition to a new or existing Yahoo! Traffic API at this time. Although the current APIs are going away, we will announce improvements to our Maps APIs in early 2011, which will include updated traffic features.


So it looks like the Traffic app will require a re-write after Yahoo updates the APIs, or to use a different service completely.


----------



## lrhorer (Aug 31, 2003)

windracer said:


> I did some checking and it looks like Yahoo has killed the Traffic API that Galleon was using.
> 
> http://developer.yahoo.com/traffic/rest/V1/index.html
> 
> So it looks like the Traffic app will require a re-write after Yahoo updates the APIs, or to use a different service completely.


Anything further on this? It's getting to be beyond "early 2011".


----------



## windracer (Jan 3, 2003)

Doesn't look like it ...


----------

