# Does Tivo Series 2 "forget" about local HME apps running in same network?



## los (Jun 27, 2005)

Hi,

I'm running into a problem where I start my HME app in a computer in my local network. I go to Music, Photos, & More and I see my application listed. I can run my application and everything is fine.

However if I leave the Tivo idle for some time, it eventually goes back into Live TV mode, and if I now go back to Music Photos & More, my application doesn't appear in the list anymore. The application is still running on the PC though.

If I stop and restart the hme app, then the Tivo detects that it's running again. 

Can someone explain what is happening? Is there a work around for this?

Thanks,

los


----------



## yzoer (Jun 21, 2007)

Hi!

Are you handling the 'timeout' event? If you don't handle that within 15 seconds, it'll shut down the app. If you *do* handle it, you can probably shut it down gracefully or just quit... on your terms.

From what you're telling us, it seems it also takes the entire factory down with it. Let us know what you find out!


Yvo


----------



## los (Jun 27, 2005)

I wasn't handling the timeout correctly. I was under the impression that the timeout only mattered if you were using the application, then just left it idle. Not when you start up the server on the pc, and didn't start the application.

I'm going to add the timeout and see if that fixes the issue.


----------



## s2kdave (Jan 28, 2005)

I can explain how the protocol works a little. It really depends on the hosting environment on your pc though. Basically your HME app (hme sample host, gallleon etc..) sends out UDP broadcasts with service definitions in it periodically. It's recommended 30 seconds in the beginning and 60 seconds after that. So if your program stops sending those broadcasts or they are blocked by a firewall or the tivo never receives it for some reason, then your app will disappear from the list.

David


----------



## los (Jun 27, 2005)

Doesn't make sense why the broadcast would get to the tivo when the application is launched but not later on. Firewall issues just doesn't add up in this case. If this isn't fixed in the idle event handler, then I believe it's either an issue on the receiver losing the information or the server not broadcasting later on.


----------



## s2kdave (Jan 28, 2005)

los said:


> Doesn't make sense why the broadcast would get to the tivo when the application is launched but not later on. Firewall issues just doesn't add up in this case. If this isn't fixed in the idle event handler, then I believe it's either an issue on the receiver losing the information or the server not broadcasting later on.


Also recall that UDP isn't a reliable transport so it is prone to losing packets which is why it broadcasts regularly. I suppose if you have a lot of "noise" going on your lan, it would be more prone to losing the packets.


----------



## los (Jun 27, 2005)

I understand what you're saying, and it's true that UDP is not guaranteed delivery. 

However it's not like this happened only once, or every so often. There isn't anything abnormal about the LAN usage that would make the broadcast happen when the server is started, but fail for all later broadcasts. The only way to test I guess would be to leave a program running and sniffing the connection and then analyze the udp broadcasts for the tivo. I never tried to leave a connection sniffer running for an hour...that log would be huge.


----------



## yzoer (Jun 21, 2007)

Are you sure it's using UDP?

I thought it was all stacked on top of HTTP, which uses TCP/IP. Also, packets never seem to get 'lost', they just queue up. I've seen that happen with timer events, which sucks to put it mildly...

Maybe I'm smoking crack.. Anyone have any luck on the Custom Sound front?


Yvo


----------



## s2kdave (Jan 28, 2005)

yzoer said:


> Are you sure it's using UDP?
> 
> I thought it was all stacked on top of HTTP, which uses TCP/IP. Also, packets never seem to get 'lost', they just queue up. I've seen that happen with timer events, which sucks to put it mildly...
> 
> ...


Positive. The HME protocol is TCP, but the discovery of your Apps and where to find them are UDP.


----------



## s2kdave (Jan 28, 2005)

los, does this only happen with your app? Or does it also happen with other apps running on the same box?


----------



## los (Jun 27, 2005)

I haven't tried to run other hme apps. The Yahoo! stuff, together with the games are always displayed. But if this isn't something that is fixed through the handleIdle event, then it shouldn't matter what my app is. The broadcasting is all done through the hme code, which is the same to everyone. I'm using hme 1.4.


----------

