View previous topic :: View next topic |
Author |
Message |
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1594
|
Posted: Thu Dec 17, 2015 10:53 am Post subject: |
|
|
one more test with IGDv2
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 |
|
 |
BoHiCa
Joined: 19 Jun 2015 Posts: 22
|
Posted: Thu Dec 17, 2015 7:56 pm Post subject: |
|
|
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 |
|
 |
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1594
|
Posted: Thu Dec 17, 2015 8:13 pm Post subject: |
|
|
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 |
|
 |
BoHiCa
Joined: 19 Jun 2015 Posts: 22
|
Posted: Thu Dec 17, 2015 8:45 pm Post subject: |
|
|
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: |
|
Back to top |
|
 |
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1594
|
Posted: Thu Dec 17, 2015 9:44 pm Post subject: |
|
|
IGD2 can be implemented from UPnP Device Architecture (UDA) v1.0 onward
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 |
|
 |
BoHiCa
Joined: 19 Jun 2015 Posts: 22
|
Posted: Thu Dec 17, 2015 11:52 pm Post subject: |
|
|
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 |
|
 |
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1594
|
|
Back to top |
|
 |
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1594
|
|
Back to top |
|
 |
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1594
|
Posted: Fri Dec 18, 2015 3:25 pm Post subject: |
|
|
@BoHiCa : what is the console output of Code: | upnp-router-control --debug | ?
with and without my patch  _________________ Main miniUPnP author.
https://miniupnp.tuxfamily.org/ |
|
Back to top |
|
 |
BoHiCa
Joined: 19 Jun 2015 Posts: 22
|
Posted: Sat Dec 19, 2015 7:36 am Post subject: |
|
|
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 |
|
 |
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1594
|
Posted: Sat Dec 19, 2015 10:34 am Post subject: |
|
|
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 |
|
 |
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1594
|
Posted: Sat Dec 19, 2015 10:39 am Post subject: |
|
|
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  _________________ Main miniUPnP author.
https://miniupnp.tuxfamily.org/ |
|
Back to top |
|
 |
BoHiCa
Joined: 19 Jun 2015 Posts: 22
|
Posted: Sat Jan 16, 2016 3:53 am Post subject: |
|
|
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 |
|
 |
xelprep
Joined: 16 Jan 2016 Posts: 5
|
Posted: Sat Jan 16, 2016 6:18 am Post subject: |
|
|
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 |
|
 |
miniupnp Site Admin
Joined: 14 Apr 2007 Posts: 1594
|
Posted: Sat Jan 16, 2016 9:25 am Post subject: |
|
|
@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 |
|
 |
|