dslreports logo

    All FAQs Site FAQ DSL FAQ Cable Tech About DSL Distance DSL Hurdles »»


how-to block ads

Universal Plug And Play (UPnP) is a technology to allow, among other things, Internet applications to configure home routers and gateways, bypassing manual port forwarding configuration. UPnP was introduced in Windows XP and is supported in that and later versions, including Windows 7 and 8.
Some DC clients support more than one UPnP interfaces: most of them able to use the Windows UPnP interface while others favor other implementations.

UPnP configuration in DC++ 0.770 or later

Among other protocols DC++ uses a 3rd party UPnP library for automatic port mapping (MiniUPnP). Since version 0.780 DC++ tries to create the port mappings automatically by default so in an optimal case no user interaction required to achieve active mode. You can read more about connectivity setup of DC++ in its built-in Help documentation. In versions up to 0.802 you are still able to manually configure DC++ to use the legacy Windows UPnP mapper as well.

UPnP setup in DC++ 0.762 or older versions (as well as in other DC clients that supports Windows UPnP)

Note that this part applies to manually configure and troubleshoot the legacy Windows UPnP mapper only in those DC clients/versions that still support it.

To take advantage of UPnP, you must have support enabled in Windows and UPnP capable hardware (typically a broadband router using NAT traversal). If you meet both of these requirements, setting up DC++ is normally a simple process. UPnP support introduced in DC++ 0.4033. For using DC++ with UPnP under Vista or Windows 7 you need at least version 0.695 or newer.

To enable UPnP:

    •Click on the File menu and then Settings. Click on Connection Settings.
    •Select Firewall with UPnP / Use UPnP to let DC++ configure my router.
    •Restart DC++.

If your UPnP system is setup correctly, DC++ will now automatically create the required port mappings for DC++ to operate in Active Mode. It will also detect your external IP address and switch into Active Mode.


If you are having trouble getting this all to work (or see messages in the DC++ System Log like "Failed To Create Port Mappings"), and you are sure you meet the minimum requirements mentioned above, firstly, download a UPnP diagnostic tool. The recommended one is Mark Gillespie's UPnP test tool. This program will tell you what network interfaces on your computer support UPnP.

Alternatively, to test your UPnP functionality, you can run the web based Internet Connectivity Evaluation Tool from Microsoft. This tool is avaliable only for Windows XP and Vista and requires IE6 or later to run.

If your router fails the UPnP test(s), then it's doubtful DC++ will function properly with UPnP either. If none of your network interfaces are reporting UPnP capabilities, try the following suggestions:

    Ensure your UPnP hardware has the UPnP service switched on (some routers default to off), consult your manufacturers documentation.

    Ensure Windows UPnP services (Control Panels -> Admin Tools -> Services) are running. "Universal Plug and Play Device Host" and "SSDP Discovery Service". Both of these XP services should be set to "Automatic" startup and "Started" status:

    Switch on the UPnP User Interface. To do this: Open "My Network Places", and in the Network Tasks Panel, select Show icons for networked UPnP devices.

    If UPnP is working, you should see your routers name in My Network Places:
    my network places

    Also, when you go to: Start | Settings | Network Connections, you should see Internet Connection listed under the Internet Gateway category.
    internet gateway

    Reboot both your PC and your UPnP device (router).

    If you do not see your router as a network device in "My Network Places" after several minutes, UPnPTest will fail to create an UPnP mapping to the router, resulting in something looking like: INFO: Adapter #0 - - UPnP Disabled. Make sure the windows firewall or your third party firewall is not blocking UPnP packets.

    Windows XP Firewall:
    Go to Control Panels -> Windows Firewall -> Advanced Tab -> Security Logging -> Settings. Enable Log Dropped Packets. The log file is located at C:\WINDOWS\pfirewall.log If you see any packets being dropped with the port 1900 or 2869, the the firewall is misconfigured and is preventing UPnP from working.
    For more tips about newer versions of Windows visit the DC++ firewall unblocking guide.

    Third Party Firewall:
    Checking this setting varies widely between firewalls. Most decent firewalls have some sort of logging function, where one can see what the firewall is blocking. Look for "UPnP" or ports 1900 and 2869 and refer the firewall's manual how to unblock.

    If the diagnostic tool is now still not reporting any UPnP devices, you should start considering more drastic actions like upgrading your router firmware, as many routers have UPnP implementation bugs.

If your router still fails the UPnP test follow the guide on Manual port forwarding to be able to use DC++ in active mode.


Initial content submitted by mgillespie

DC++ Change Log Related Entries:

0.803: Remove the "Windows UPnP" port mapper in favor of MiniUPnP (poy)
0.790: COM initialization fix for the Windows UPnP mapper (thanks bigmuscle), Update MiniUPnPc to version 1.6, Display the name of the device MiniUPnP has bound to (poy), Port mappers respect the bind address (poy)
0.782: Be stricter when determining whether MiniUPnP has succeeded (poy)
0.780: Update MiniUPnPc to version 1.5 (poy)
0.770: Add MiniUPnPc for UPnP mappings and make it threaded (poy)
0.760: Re-try UPnP mappings after closing settings (poy)
0.708: Fixed UPnP for TLS port.
0.68: No longer fallbacks to passive mode on failed UPnP.
0.670: Some UPnP fixes (thanks nils maier); Hopefully fixed an UPnP crash.
0.669: Hopefully fixed an UPnP crash
0.666: Fixed a crash in the upnp code
0.4033: Added UPnP support (thanks mark gillespie)

Expand got feedback?

by USR56K See Profile edited by eMTee See Profile
last modified: 2012-11-06 11:14:18