Sign in to follow this  
Followers 0
Kinack

UPnP Times Out

7 posts in this topic

Hi! I have been using ApexDC++ for years now but am having trouble with the latest update (1.5.3). I have UPnP enabled on my router and my router is set to clean out the UPnP table every 10 minutes. The problem is that ApexDC++ seems to only send UPnP updates on start-up with the latest version. Thus, after starting the program I am able to use the UPnP forwarded ports, but if I leave the application idle and come back to it, ApexDC++ does not refresh the UPnP ports and they are no longer forwarded (searches don't work, downloads don't work, etc.).

The workaround is to manually forward the ports.

Share this post


Link to post
Share on other sites

Are you using uPnP with some other application? How does that behave?

Well, to me, it's first time I see it that the application should periodically send requests to forward ports. It should be only sufficient to map ports at application start and unmap them on application exit...

Share this post


Link to post
Share on other sites

Are you using uPnP with some other application? How does that behave?

Well, to me, it's first time I see it that the application should periodically send requests to forward ports. It should be only sufficient to map ports at application start and unmap them on application exit...

I use UPnP with uTorrent and it works fine. I have the Tomato firmware on my router and by default it cleans out old UPnP ports every 10 minutes. I am only having trouble with the UPnP since I upgraded to 1.5.3. I don't know much about UPnP, but to me it does make sense that the router would want to clean out old UPnP ports.

I read a bit about Tomato's behavior for cleaning and by default the UPnP threshold is set to 20 which requires that I have 20 mapped UPnP ports before the router will consider cleaning up old ones. I never have more than 5, so perhaps ApexDC++ is unmapping the port when it should not be unmapping it?

I am disabling the UPnP cleaning on my router and will test Apex to see if this has any effect.

Share this post


Link to post
Share on other sites

Well, I don't know how uTorrent behaves here... But maybe someone of the developers knows more about uPnP and could enlighten us on how Apex does it? :)

Share this post


Link to post
Share on other sites

I use UPnP with uTorrent and it works fine. I have the Tomato firmware on my router and by default it cleans out old UPnP ports every 10 minutes. I am only having trouble with the UPnP since I upgraded to 1.5.3. I don't know much about UPnP, but to me it does make sense that the router would want to clean out old UPnP ports.

I read a bit about Tomato's behavior for cleaning and by default the UPnP threshold is set to 20 which requires that I have 20 mapped UPnP ports before the router will consider cleaning up old ones. I never have more than 5, so perhaps ApexDC++ is unmapping the port when it should not be unmapping it?

I am disabling the UPnP cleaning on my router and will test Apex to see if this has any effect.

I disabled the UPnP cleaning on my router and left ApexDC++ on overnight. When I first started the program the ports were forwarded and they appeared on the UPnP page of my router. This morning I went to check my router and the UPnP ports are no longer forwarded. If I try to search in ApexDC++ or share files it fails because the port is not forwarded. The connection checker also fails. This makes me think that ApexDC++ is actively unmapping the UPnP ports because otherwise they should still be mapped.

I am running one other test to be sure that it is not my router somehow still cleaning the ports itself: I opened ApexDC++ then closed it via task manager. By closing it uncleanly, the ports are not unmapped and still show up in my router. If after a few hours they are still mapped in my router, then I would assume that the problem really is that ApexDC++ is actively unmapping the ports when it shouldn't be (or perhaps not remapping them when it should be).

Share this post


Link to post
Share on other sites

Great investigation you are doing there. Let us know with the result :)

Share this post


Link to post
Share on other sites

Great investigation you are doing there. Let us know with the result :)

My router's firmware did clean out the old port eventually, even after I disabled cleaning and closed ApexDC++ through task manager (thus ApexDC++ did not unmap the port itself). I upgraded to the latest Tomato firmware and the same behavior occurs. I still think ApexDC++ may be at fault, though, because this problem never used to happen to me and because uTorrent manages to keep its ports mapped. Perhaps ApexDC++ should perform a check periodically to make sure the port stays mapped? Or perhaps it should attempt to remap the port when a user performs a search or attempts a file transfer.

Has ApexDC++ changed UPnP behavior recently? What is ApexDC++'s ideal behavior for mapping/unmapping UPnP ports?

Share this post


Link to post
Share on other sites
Sign in to follow this  
Followers 0