View previous topic :: View next topic |
Author |
Message |
dfman
Joined: 15 Jan 2008 Posts: 1
|
Posted: Tue Jan 15, 2008 11:24 pm Post subject: eMule compatibility issue |
|
|
First of all, I do like the miniupnpd daemon. Kudos to the authors and contributors!
I am running official eMule 0.48a against miniupnpd daemon. However, the port is not opened successfully.
BTW, I tried utorrent 1.7.5 and Azureus 3.0.4.2. Both works gracefully.
It seems eMule 0.48a has its own upnp implementation.
The message against eMule 0.48a is the following:
/usr/bin/miniupnpd -i eth0 -a 192.168.1.1 -p 5000 -w http://192.168.1.1 -U -d
miniupnpd[5015]: system uptime is 1574 seconds
miniupnpd[5015]: listening on 192.168.1.1:5000
miniupnpd[5015]: SSDP M-SEARCH from 192.168.1.34:49366 ST: urn:schemas-upnp-org:device:WANConnectionDevice:1
miniupnpd[5015]: HTTP connection from 192.168.1.34:49553
miniupnpd[5015]: HTTP REQUEST : GET /rootDesc.xml (HTTP/1.1)
miniupnpd[5015]: SSDP M-SEARCH from 192.168.1.34:49366 ST: urn:schemas-upnp-org:device:WANConnectionDevice:1
miniupnpd[5015]: SSDP M-SEARCH from 192.168.1.34:49366 ST: urn:schemas-upnp-org:device:WANConnectionDevice:1
miniupnpd[5015]: HTTP connection from 192.168.1.34:49554
miniupnpd[5015]: HTTP REQUEST : GET /dummy.xml (HTTP/1.1) |
|
Back to top |
|
|
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1589
|
Posted: Wed Jan 16, 2008 8:58 am Post subject: |
|
|
eMule seems to try to get teh description for the dummy service. it should not.
I cant't remember exactly why I had to add the dummy service but it was for some compatibility issue
in order to remove the dummy service from the description, you can use this patch :
Code: |
diff -u -r1.41 upnpdescgen.c
--- upnpdescgen.c 6 Mar 2007 00:58:51 -0000 1.41
+++ upnpdescgen.c 16 Jan 2008 08:56:52 -0000
@@ -75,7 +75,7 @@
/* 0 */
{root_device, INITHELPER(1,2)},
{"specVersion", INITHELPER(3,2)},
- {"device", INITHELPER(5,13)},
+ {"device", INITHELPER(5,12)},/* {"device", INITHELPER(5,13)}, */
{"/major", "1"},
{"/minor", "0"},
{"/deviceType", "urn:schemas-upnp-org:device:InternetGatewayDevice:1"},
@@ -89,9 +89,10 @@
{"/modelURL", ROOTDEV_MODELURL},
{"/serialNumber", serialnumber},
{"/UDN", uuidvalue}, /* required */
- {"serviceList", INITHELPER(57,1)},
+ /*{"serviceList", INITHELPER(57,1)},*/
{"deviceList", INITHELPER(18,1)},
{"/presentationURL", presentationurl}, /* recommended */
+ {0,0},
{"device", INITHELPER(19,13)},
{"/deviceType", "urn:schemas-upnp-org:device:WANDevice:1"}, /* required */
{"/friendlyName", WANDEV_FRIENDLYNAME},
|
_________________ Main miniUPnP author.
https://miniupnp.tuxfamily.org/ |
|
Back to top |
|
|
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1589
|
Posted: Wed Feb 20, 2008 6:53 pm Post subject: |
|
|
the dummy service is mandatory for getting WinXP to recognize the IGD properly
So I have to enable it again. Maybe better handling the GET /dummy.xml will make emule work ! _________________ Main miniUPnP author.
https://miniupnp.tuxfamily.org/ |
|
Back to top |
|
|
jeff
Joined: 12 Feb 2008 Posts: 18
|
Posted: Wed Feb 20, 2008 7:27 pm Post subject: |
|
|
eMule was going to be my next question
Linux-igd appears to respond identically for the dummy service. |
|
Back to top |
|
|
jeff
Joined: 12 Feb 2008 Posts: 18
|
Posted: Wed Feb 20, 2008 8:34 pm Post subject: |
|
|
eMule is open source. The UPnPFinder.cpp code is horrible! |
|
Back to top |
|
|
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1589
|
Posted: Thu Feb 21, 2008 8:51 am Post subject: |
|
|
I'm using the same dummy description as linux-igd. I dont know how to make it a valid document !
The eMule code is stopping in the CUPnPFinder::SaveServices() method and doesnt try to parse other services/devices. _________________ Main miniUPnP author.
https://miniupnp.tuxfamily.org/ |
|
Back to top |
|
|
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1589
|
Posted: Thu Feb 21, 2008 8:59 am Post subject: |
|
|
I just had a look at the xml root description of a linksys WRT54G. it is using a urn:schemas-upnp-org:service:Layer3Forwarding:1 service _________________ Main miniUPnP author.
https://miniupnp.tuxfamily.org/ |
|
Back to top |
|
|
techweenie
Joined: 11 Mar 2008 Posts: 8
|
Posted: Tue Mar 11, 2008 2:06 am Post subject: |
|
|
I am having trouble getting eMule to work with the latest version of miniupnpd (1.0). My router is SmoothWall Express 3.0 with the miniupnpd binary manually updated. The verbose eMule log reports this...
Code: | 3/10/2008 10:01:43 PM: Found UPnP device: SmoothWall Express router (ChildLevel: 0, UID: uuid:9cd37bb0-eedb-4a58-aad5-02c5a75922b4)
3/10/2008 10:01:43 PM: AICHSyncThread finished
3/10/2008 10:02:05 PM: Found UPnP service: urn:upnp-org:serviceId:Layer3Forwarding1
|
That is the only information eMule gives, other than a message stating that mapping the ports failed. |
|
Back to top |
|
|
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1589
|
Posted: Tue Mar 11, 2008 9:54 am Post subject: |
|
|
techweenie wrote: | I am having trouble getting eMule to work with the latest version of miniupnpd (1.0). My router is SmoothWall Express 3.0 with the miniupnpd binary manually updated. The verbose eMule log reports this...
Code: | 3/10/2008 10:01:43 PM: Found UPnP device: SmoothWall Express router (ChildLevel: 0, UID: uuid:9cd37bb0-eedb-4a58-aad5-02c5a75922b4)
3/10/2008 10:01:43 PM: AICHSyncThread finished
3/10/2008 10:02:05 PM: Found UPnP service: urn:upnp-org:serviceId:Layer3Forwarding1
|
That is the only information eMule gives, other than a message stating that mapping the ports failed. |
Are you using miniupnpd-20080308.tar.gz ? with a config.h with : Code: | /*#define HAS_DUMMY_SERVICE*/
#define ENABLE_L3F_SERVICE
/* Experimental UPnP Events support. */
/*#define ENABLE_EVENTS*/
|
You could also try to define ENABLE_EVENTS.
I really dont understand whats wrong _________________ Main miniUPnP author.
https://miniupnp.tuxfamily.org/ |
|
Back to top |
|
|
techweenie
Joined: 11 Mar 2008 Posts: 8
|
Posted: Tue Mar 11, 2008 9:59 pm Post subject: |
|
|
I'm afraid I don't really know how to view any errors generated on the miniupnpd side.
My current config.h is :
Code: | /*#define HAS_DUMMY_SERVICE*/
#define ENABLE_L3F_SERVICE
/* Experimental UPnP Events support. */
/*#define ENABLE_EVENTS*/ |
I will try defining ENABLE_EVENTS and see if that helps. |
|
Back to top |
|
|
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1589
|
Posted: Wed Mar 12, 2008 10:19 am Post subject: |
|
|
techweenie wrote: | I'm afraid I don't really know how to view any errors generated on the miniupnpd side. |
grep miniupnpd /var/log/daemon or else run miniupnpd with the -d command line argument (it will be more verbose and also output things on the terminal) _________________ Main miniUPnP author.
https://miniupnp.tuxfamily.org/ |
|
Back to top |
|
|
techweenie
Joined: 11 Mar 2008 Posts: 8
|
Posted: Wed Mar 12, 2008 9:00 pm Post subject: |
|
|
I recompiled miniupnpd with enable_events but emule still doesn't work. I also started miniupnpd with the -d option and here is the output:
Code: | 15:54:02 miniupnpd SSDP M-SEARCH from 192.168.0.198:1979 ST: urn:schemas-upnp-org:device:WANConnectionDevice:1
15:54:02 miniupnpd HTTP connection from 192.168.0.198:1983
15:54:02 miniupnpd HTTP REQUEST : GET /rootDesc.xml (HTTP/1.1)
15:54:05 miniupnpd SSDP M-SEARCH from 192.168.0.198:1979 ST: urn:schemas-upnp-org:device:WANConnectionDevice:1
15:54:08 miniupnpd SSDP M-SEARCH from 192.168.0.198:1979 ST: urn:schemas-upnp-org:device:WANConnectionDevice:1
15:54:23 miniupnpd HTTP connection from 192.168.0.198:1984
15:54:23 miniupnpd HTTP REQUEST : GET /L3F.xml (HTTP/1.1)
15:54:23 miniupnpd HTTP connection from 192.168.0.198:1985
15:54:23 miniupnpd HTTP REQUEST : SUBSCRIBE /evt/L3F (HTTP/1.1)
15:56:09 miniupnpd HTTP connection from 192.168.0.198:1990
15:56:09 miniupnpd HTTP REQUEST : UNSUBSCRIBE /evt/L3F (HTTP/1.1)
15:56:39 miniupnpd recv (state0): Connection reset by peer |
The first line is what appeared when I started emule, and the last line is when I closed it. I'm not sure where or what the problem is... |
|
Back to top |
|
|
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1589
|
Posted: Wed Mar 12, 2008 11:20 pm Post subject: |
|
|
I dont understand what's wrong. I'm afraid only the guy who implemented UPnP in Emule could help us _________________ Main miniUPnP author.
https://miniupnp.tuxfamily.org/ |
|
Back to top |
|
|
techweenie
Joined: 11 Mar 2008 Posts: 8
|
Posted: Thu Mar 13, 2008 12:24 am Post subject: |
|
|
I installed Wireshark to try to dive into this even deeper but there is practically nothing going on. eMule sends out an ssdp search, gets the reply, and then nothing happens. I can only assume the problem is with how eMule parses the response or the response itself. If you like I can post the contents of the packets relating to this. |
|
Back to top |
|
|
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1589
|
Posted: Thu Mar 13, 2008 11:39 am Post subject: |
|
|
techweenie wrote: | I installed Wireshark to try to dive into this even deeper but there is practically nothing going on. eMule sends out an ssdp search, gets the reply, and then nothing happens. I can only assume the problem is with how eMule parses the response or the response itself. If you like I can post the contents of the packets relating to this. |
I dont think that would be usefull. What would be usefull is an explicit error message from eMule _________________ Main miniUPnP author.
https://miniupnp.tuxfamily.org/ |
|
Back to top |
|
|
|