miniupnp.tuxfamily.org Forum Index miniupnp.tuxfamily.org
The forum about miniupnp and libnatpmp
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Xbox 360 works, Xbox One doesn't
Goto page Previous  1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    miniupnp.tuxfamily.org Forum Index -> miniupnpd Bugs
View previous topic :: View next topic  
Author Message
miniupnp
Site Admin


Joined: 14 Apr 2007
Posts: 1589

PostPosted: Thu Dec 17, 2015 10:53 am    Post subject: Reply with quote

one more test with IGDv2 Smile
https://github.com/miniupnp/miniupnp/tree/msearch_ver_test

I've read again the UDA v2.0 and found out that the version in USN: should be 2

Code:
ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1 (ver=1)
miniupnpd[9000]: SSDP M-SEARCH from 192.168.1.201:49191 ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
miniupnpd[9000]: Single search found
miniupnpd[9000]: SendSSDPResponse(): 0 bytes to 192.168.1.201:49191 ST: HTTP/1.1 200 OK
CACHE-CONTROL: max-age=120
ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
USN: uuid:3e31ca6b-d1d6-402d-b83c-63e7bef4c02a::urn:schemas-upnp-org:device:InternetGatewayDevice:1
EXT:
SERVER: Smoothwall Express/3.1 UPnP/1.0 MiniUPnPd/1.9
LOCATION: http://192.168.1.1:49901/rootDesc.xml
OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
01-NLS: 1450237256
BOOTID.UPNP.ORG: 1450237256
CONFIGID.UPNP.ORG: 1337

_________________
Main miniUPnP author.
https://miniupnp.tuxfamily.org/
Back to top
View user's profile Send private message Visit poster's website
BoHiCa



Joined: 19 Jun 2015
Posts: 22

PostPosted: Thu Dec 17, 2015 7:56 pm    Post subject: Reply with quote

Roger that.

Quick question, will passing in the
Code:
--uda-version=1.0 --igd2
compile option mess up the (ver=2) requirement for igd v2? I'm thinking I should leave out the --uda-version=1.0 on the compile options to test the newer idg2 implementation eh? The --uda-version=1.0 is required to make the Xbone happy with igd v1.

I should be able to test later tonight (I'm in GMT -06:00).
Back to top
View user's profile Send private message
miniupnp
Site Admin


Joined: 14 Apr 2007
Posts: 1589

PostPosted: Thu Dec 17, 2015 8:13 pm    Post subject: Reply with quote

IGD version (1 or 2) is not really related with UPNP (UDA) version : 1.0, 1.1, 2.0

Quote:
The --uda-version=1.0 is required to make the Xbone happy with igd v1.

isn't 1.1 ok too ?
2.0 is recent (Feb 2015) but 1.1 is quite old now (october 2008)
_________________
Main miniUPnP author.
https://miniupnp.tuxfamily.org/
Back to top
View user's profile Send private message Visit poster's website
BoHiCa



Joined: 19 Jun 2015
Posts: 22

PostPosted: Thu Dec 17, 2015 8:45 pm    Post subject: Reply with quote

I'm not positive I tested with 1.1, will give it a shot. Would this work for testing IGD v2?

Compile Options:
Code:
--uda-version=1.1 --igd2


Then for IGD v1 with 1.1 UDA:

Compile Options:
Code:
--uda-version=1.1
Back to top
View user's profile Send private message
miniupnp
Site Admin


Joined: 14 Apr 2007
Posts: 1589

PostPosted: Thu Dec 17, 2015 9:44 pm    Post subject: Reply with quote

IGD2 can be implemented from UPnP Device Architecture (UDA) v1.0 onward Smile
Anyway UDA v1.1 was the current version when IDGv2 spec was released, but not UDA v2.0
_________________
Main miniUPnP author.
https://miniupnp.tuxfamily.org/
Back to top
View user's profile Send private message Visit poster's website
BoHiCa



Joined: 19 Jun 2015
Posts: 22

PostPosted: Thu Dec 17, 2015 11:52 pm    Post subject: Reply with quote

Got it! Thanks! Will run some tests against the linked build above tonight and post up the logs for your review.

<time passes>

Still no love with --igd2, but --uda-version=1.1 works fine with IGD v1 and the Xbox One.

Here are the logs, plus a screenshot of the "UPnP Router Control" UI (I use the debian Wheezy package: https://launchpad.net/upnp-router-control) It is kind of old (2010), so it may not even support IGD v2 at all, but I thought UDA 2.0 was backwards compatible with UDA 1.x? (per: http://upnp.org/sdcps-and-certification/standards/device-architecture-documents/). I'm learning more about this as it appears that UDA level support is completely independent of IGD/DCP version (which I think you have said above, lol). I did read with interest that IGD 1.x has formally been deprecated as of March 2015. So I guess we gotta get IGD 2 working, lol. It does appear that clients using IGD 1 functions should still be compatible with IGD 2 devices, so they should both work eh?


Logs and Screenshots:

Xbox One IP: 192.168.1.201
UPnP Router Control IP: 192.168.1.176

igd2 enabled, UDA 1.1:

Xbone Status: Moderate, Your network is behind a port restricted NAT.

log: http://www.hivemynd.net/miniupnp/miniupnpd_msearch_ver_test_igd2.log



igd 1, UDA 1.1

Xbone Status: Open, Your network is behind a cone NAT. *glorious!*

log: http://www.hivemynd.net/miniupnp/miniupnpd_msearch_ver_test_igd1.log



Note the highlighted differences in the screenshots.

This might be of interest: When I interrogate the Xbox One with UPnP Inspector (http://coherence.beebits.net/wiki/UPnP-Inspector), it reports back that its UPnP Version is 1.0. So maybe the Xbox One simply doesn't speak IGD 2?
Back to top
View user's profile Send private message
miniupnp
Site Admin


Joined: 14 Apr 2007
Posts: 1589

PostPosted: Fri Dec 18, 2015 9:42 am    Post subject: Reply with quote

About upnp-router-control :

http://bazaar.launchpad.net/~dnax88/upnp-router-control/devel/view/head:/src/urc-upnp.c#L802
it should check that version is >= 1, not == 1 !!!
I'm going to patch that tool Smile
_________________
Main miniUPnP author.
https://miniupnp.tuxfamily.org/
Back to top
View user's profile Send private message Visit poster's website
miniupnp
Site Admin


Joined: 14 Apr 2007
Posts: 1589

PostPosted: Fri Dec 18, 2015 10:09 am    Post subject: Reply with quote

https://gist.github.com/miniupnp/7184d9758d62b678557f

Unfortunately it seems that a lot of developer are not following the UPnP recommendation on how to manage version to ensure backward compatibility.
So I'm afraid many control point are not compatible with IGD v2.

https://bugs.launchpad.net/upnp-router-control/+bug/1527534
_________________
Main miniUPnP author.
https://miniupnp.tuxfamily.org/
Back to top
View user's profile Send private message Visit poster's website
miniupnp
Site Admin


Joined: 14 Apr 2007
Posts: 1589

PostPosted: Fri Dec 18, 2015 3:25 pm    Post subject: Reply with quote

@BoHiCa : what is the console output of
Code:
upnp-router-control --debug
?
with and without my patch Smile
_________________
Main miniUPnP author.
https://miniupnp.tuxfamily.org/
Back to top
View user's profile Send private message Visit poster's website
BoHiCa



Joined: 19 Jun 2015
Posts: 22

PostPosted: Sat Dec 19, 2015 7:36 am    Post subject: Reply with quote

Good job! (I was missing a sh!t-ton of devel packages on my Wheezy box that I had to add before I could build upnp-router-control, plus the source code package I downloaded barfed on the patch... then I tracked backwards from your links above to find the same sources you patched against, which are a bit newer than the standard release on Wheezy. Anyway, once I had the right sources, it built fine with your patch.)

Results below:

IGD v1 (unpatched upnp-router-control debug console output):
Code:
igd v1: (unpatched upnp-router-control)

upnp-router-control --debug
* Initializing GUI...
* Showing GUI...
* Starting UPnP Resource discovery... done
==> Device Available: swe31u3
   Model description: A premiere, community supported router/firewall
          Model name: 3.1-polar-x86_64
        Model number: 3.1
               Brand: Smoothwall Express
    Presentation URL: https://192.168.0.1:441/cgi-bin/index.cgi
                 UPC: (null)
  Unique Device Name: uuid:79e546a3-663c-417e-ab93-3ac44a1cb065
    Enum services...
      Service: urn:upnp-org:serviceId:L3Forwarding1
         Type: urn:schemas-upnp-org:service:Layer3Forwarding:1
               > SetDefaultConnectionService
               > GetDefaultConnectionService
      ** Getting DefaultConnectionService...
      ConnectionService: uuid:79e546a3-663c-417e-ab93-3ac44a1cb067:WANConnectionDevice:1,urn:upnp-org:serviceId:WANIPConn1
    Enum sub-devices...
      Sub-Device: WANDevice
        Enum services...
          Service: urn:upnp-org:serviceId:WANCommonIFC1
             Type: urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1
                   > GetCommonLinkProperties
                   > GetTotalBytesSent
                   > GetTotalBytesReceived
                   > GetTotalPacketsSent
                   > GetTotalPacketsReceived
        Enum sub-devices...
          Sub-Device: WANConnectionDevice
            Enum services...
              Service: urn:upnp-org:serviceId:WANIPConn1
                 Type: urn:schemas-upnp-org:service:WANIPConnection:1
                       > SetConnectionType
                       > GetConnectionTypeInfo
                       > GetStatusInfo
                       > GetNATRSIPStatus
                       > GetGenericPortMappingEntry
                       > GetSpecificPortMappingEntry
                       > AddPortMapping
                       > DeletePortMapping
                       > GetExternalIPAddress
              ** Subscribed to WANIPConn1 events
Request for external IP address... successful [192.168.1.195]
Request for connection status info... successful
Connection info: Status: Connected, Uptime: 2882678 sec.
Request for NAT and RSIP availability... successful [RSIP=no, NAT=yes]
Event: Connection status: Connected
Event: External IP: 192.168.1.195
Event: Ports mapped: 0
GetTotalBytesReceived() duration: 1.002460s
GetTotalBytesSent() duration:     1.002396s
GetTotalBytesReceived() duration: 1.002511s
GetTotalBytesSent() duration:     1.002482s (ad-nauseum)


IGD v2 (unpatched upnp-router-control debug console output):
Code:
upnp-router-control --debug
* Initializing GUI...
* Showing GUI...
* Starting UPnP Resource discovery... done
==> Device Available: swe31u3
    Enum services...
      Service: urn:upnp-org:serviceId:DeviceProtection1
         Type: urn:schemas-upnp-org:service:DeviceProtection:1
               > SendSetupMessage
               > GetSupportedProtocols
               > GetAssignedRoles
      Service: urn:upnp-org:serviceId:L3Forwarding1
         Type: urn:schemas-upnp-org:service:Layer3Forwarding:1
               > SetDefaultConnectionService
               > GetDefaultConnectionService
      ** Getting DefaultConnectionService...
      ConnectionService: uuid:79e546a3-663c-417e-ab93-3ac44a1cb067:WANConnectionDevice:2,urn:upnp-org:serviceId:WANIPConn1
    Enum sub-devices...
      Sub-Device: WANDevice
        Enum services...
          Service: urn:upnp-org:serviceId:WANCommonIFC1
             Type: urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1
                   > GetCommonLinkProperties
                   > GetTotalBytesSent
                   > GetTotalBytesReceived
                   > GetTotalPacketsSent
                   > GetTotalPacketsReceived
        Enum sub-devices...
          Sub-Device: WANConnectionDevice
            Enum services...
              Service: urn:upnp-org:serviceId:WANIPConn1
                 Type: urn:schemas-upnp-org:service:WANIPConnection:2
                       > SetConnectionType
                       > GetConnectionTypeInfo
                       > GetStatusInfo
                       > GetNATRSIPStatus
                       > GetGenericPortMappingEntry
                       > GetSpecificPortMappingEntry
                       > AddPortMapping
                       > DeletePortMapping
                       > GetExternalIPAddress
                       > DeletePortMappingRange
                       > GetListOfPortMappings
                       > AddAnyPortMapping
              ** Subscribed to WANIPConn1 events
Request for external IP address... successful [192.168.1.195]
Request for connection status info... successful
Connection info: Status: Connected, Uptime: 2883178 sec.
Request for NAT and RSIP availability... successful [RSIP=no, NAT=yes]
Event: Connection status: Connected
Event: External IP: 192.168.1.195
Event: Ports mapped: 0
GetTotalBytesReceived() duration: 1.002552s
GetTotalBytesSent() duration:     1.002465s
GetTotalBytesReceived() duration: 1.002468s
GetTotalBytesSent() duration:     1.002497s (ad nauseum)


IGD v2: (upnp_router_control patched):
Code:
upnp-router-control --debug
* Initializing GUI...
* Showing GUI...
* Starting UPnP Resource discovery... done
* Starting UPnP Resource discovery... done
==> Device Available: swe31u3
   Model description: A premiere, community supported router/firewall
          Model name: 3.1-polar-x86_64
        Model number: 3.1
               Brand: Smoothwall Express
    Presentation URL: https://192.168.0.1:441/cgi-bin/index.cgi
                 UPC: (null)
  Unique Device Name: uuid:79e546a3-663c-417e-ab93-3ac44a1cb065
    Enum services...
      Service: urn:upnp-org:serviceId:DeviceProtection1
         Type: urn:schemas-upnp-org:service:DeviceProtection:1
               > SendSetupMessage
               > GetSupportedProtocols
               > GetAssignedRoles
      Service: urn:upnp-org:serviceId:L3Forwarding1
         Type: urn:schemas-upnp-org:service:Layer3Forwarding:1
               > SetDefaultConnectionService
               > GetDefaultConnectionService
      ** Getting DefaultConnectionService...
      ConnectionService: uuid:79e546a3-663c-417e-ab93-3ac44a1cb067:WANConnectionDevice:2,urn:upnp-org:serviceId:WANIPConn1
    Enum sub-devices...
      Sub-Device: WANDevice
        Enum services...
          Service: urn:upnp-org:serviceId:WANCommonIFC1
             Type: urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1
                   > GetCommonLinkProperties
                   > GetTotalBytesSent
                   > GetTotalBytesReceived
                   > GetTotalPacketsSent
                   > GetTotalPacketsReceived
Request for WAN link properties... successful
WAN link properties: access_type=Cable, link_status=Up, max_up=512000, max_down=8000000
        Enum sub-devices...
          Sub-Device: WANConnectionDevice
            Enum services...
              Service: urn:upnp-org:serviceId:WANIPConn1
                 Type: urn:schemas-upnp-org:service:WANIPConnection:2
                       > SetConnectionType
                       > GetConnectionTypeInfo
                       > GetStatusInfo
                       > GetNATRSIPStatus
                       > GetGenericPortMappingEntry
                       > GetSpecificPortMappingEntry
                       > AddPortMapping
                       > DeletePortMapping
                       > GetExternalIPAddress
                       > DeletePortMappingRange
                       > GetListOfPortMappings
                       > AddAnyPortMapping
              ** Subscribed to WANIPConn1 events
Request for external IP address... successful [192.168.1.195]
Request for connection status info... successful
Connection info: Status: Connected, Uptime: 2886598 sec.
Request for NAT and RSIP availability... successful [RSIP=no, NAT=yes]
Event: Connection status: Connected
Event: External IP: 192.168.1.195
Event: Ports mapped: 0
==> Getting mapped ports list...
GetTotalBytesReceived() duration: 1.002492s
GetTotalBytesSent() duration:     1.002709s
GetTotalBytesReceived() duration: 1.002616s (ad nauseum)


updated IGD v2 screenshot of upnp-router-control UI:



This is is with the current miniupnpd from git (master) running on my SmoothWall Express firewall in the "lab" (hence the RFC 1918 WAN address).

What do you need to get miniupnpd IGD v2 in shape for the Xbox One? (I'm assuming the problem is now actually on the M$ end, so there might not be anything you can do at this point until they fix their borked bits...)

I did notice this in the debug output that doesn't follow the usual pattern in IGD 2 stuff:

Code:
              Service: urn:upnp-org:serviceId:WANIPConn1
                 Type: urn:schemas-upnp-org:service:WANIPConnection:2


Shouldn't that go like this?

Code:
              Service: urn:upnp-org:serviceId:WANIPConn2
                 Type: urn:schemas-upnp-org:service:WANIPConnection:2
Note the WANIPConn2. I'm nowhere near as familiar with the xml specs as you, hence the question.

The upnp-router-control folks should apply your patch up/downstream as it is certainly the correct fix! (still works with IGD v1 too).
Back to top
View user's profile Send private message
miniupnp
Site Admin


Joined: 14 Apr 2007
Posts: 1589

PostPosted: Sat Dec 19, 2015 10:34 am    Post subject: Reply with quote

http://upnp.org/specs/gw/UPnP-gw-WANDevice-v2-Device.pdf
2.2 page 7
Quote:
Only 1 instance per WANConnectionDevice is envisioned at
this time, although the design could support multiple instances in future.
ServiceIDs for multiple instances will be WANIPConn1, WANIPConn2, WANIPConn3 and so on


So if there is On service of type urn:schemas-upnp-org:service:WANIPConnection:2 its service ID should be urn:upnp-org:serviceId:WANIPConn1
_________________
Main miniUPnP author.
https://miniupnp.tuxfamily.org/
Back to top
View user's profile Send private message Visit poster's website
miniupnp
Site Admin


Joined: 14 Apr 2007
Posts: 1589

PostPosted: Sat Dec 19, 2015 10:39 am    Post subject: Reply with quote

Quote:
What do you need to get miniupnpd IGD v2 in shape for the Xbox One? (I'm assuming the problem is now actually on the M$ end, so there might not be anything you can do at this point until they fix their borked bits...)

I'm afraid I can't do anything ! Please try to report the problem to Microsoft.
I'm going to revert UDA default version to 1.1 in miniupnpd
IGD default version is still 1 Smile
_________________
Main miniUPnP author.
https://miniupnp.tuxfamily.org/
Back to top
View user's profile Send private message Visit poster's website
BoHiCa



Joined: 19 Jun 2015
Posts: 22

PostPosted: Sat Jan 16, 2016 3:53 am    Post subject: Reply with quote

Hi Thomas!

I just rebuilt and re-tested with the 1.9.20160113 release you posted earlier this week.

I re-tested both igd1 and igd2 (both with --uda-version=1.1 on the options line) with the Xbox One (latest patch) and the Xbone is currently reporting the magic sauce of "Open NAT" with *both* IGD v2 and IGD v1! Well done! I'll keep toying with it and let you know if something pops up further on down the road. Thanks for all you do!

Just shout if posting miniupnpd debug logs with this build would be helpful to you or not.
Back to top
View user's profile Send private message
xelprep



Joined: 16 Jan 2016
Posts: 5

PostPosted: Sat Jan 16, 2016 6:18 am    Post subject: Reply with quote

I have been using miniupnp included with pfsense and ever since I upgraded to pfsense version 2.3 I've been experiencing this issue where Xbox one and Windows 10 no longer open ports. I filed a bug report with pfsense since the version included with 2.3 was prior to the fix described earlier. They have updated the included miniupnp to version 1.9.20160113 and the issue is unresolved. Other platforms such as Mac OS and other programs inside windows 10 will open ports.

Can anyone provide troubleshooting tips or any advice? If log files or other output are requested, I'd be happy to supply them.
Back to top
View user's profile Send private message
miniupnp
Site Admin


Joined: 14 Apr 2007
Posts: 1589

PostPosted: Sat Jan 16, 2016 9:25 am    Post subject: Reply with quote

@xelprep : make sure the UPnP (UDA) version advertised is 1.1 :
Code:
miniupnpd$ grep UPNP_VERSION_M config.h
#define UPNP_VERSION_MAJOR      1
#define UPNP_VERSION_MINOR      1
#define UPNP_VERSION_MAJOR_STR  XSTR(UPNP_VERSION_MAJOR)
#define UPNP_VERSION_MINOR_STR  XSTR(UPNP_VERSION_MINOR)


you can check the version in HTTP headers :
Code:

$ curl -i http://192.168.0.xx:4xxxx/
HTTP/1.1 404 Not Found
Content-Type: text/html
Connection: close
Content-Length: 134
Server: OpenBSD/4.3 UPnP/1.1 MiniUPnPd/1.9
Ext:

<HTML><HEAD><TITLE>404 Not Found</TITLE></HEAD><BODY><H1>Not Found</H1>The requested URL was not found on this server.</BODY></HTML>

If that is not the case, make sure to use the --uda-version=1.1 option for compiling
_________________
Main miniUPnP author.
https://miniupnp.tuxfamily.org/
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    miniupnp.tuxfamily.org Forum Index -> miniupnpd Bugs All times are GMT
Goto page Previous  1, 2, 3, 4, 5  Next
Page 3 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP
© 2007 Thomas Bernard, author of MiniUPNP.