Microsoft Research IPv6 Alpha Release of March 23rd, 1998. The information in this file applies to both the source and binary-only distributions of this release. SYSTEM REQUIREMENTS: Most of our testing has been performed on Windows NT 4.0 with Service Pack 3 installed. Our implementation SHOULD work on NT 4.0 with any number of Service Packs installed; however, we haven't tested all cases. We will soon be supporting NT 5 beta as well, but not in this current release. Should you desire to add Service Pack 3 to an existing NT 4.0 system, it is available for free download from http://www.microsoft.com/windows/NTW/info/ntupdates.htm The binary form of this release is only available for the Intel x86 architecture, which is also the only NT-supported platform we've tested on. We currently only have support for Ethernet interfaces. Any Ethernet card that is supported by NT 4.0 should work with our release. We have also tested successfully on NT 5.0 build 1773. (Note NT 5.0 Beta 1 does NOT work.) The same binaries that run on NT 4.0 also run on NT 5.0; only the installation changes. [If you have the binary-only distribution, you can skip down to INSTALLATION] BUILDING: The build environment for the source distribution is that provided by the Microsoft Windows NT Version 4.0 Device Driver Kit (DDK), which in turn requires a machine with Windows NT 4.0, the Platform Software Development Kit (SDK) for Win32 and Visual C++ 5.0 (or an equivalent 32-bit C compiler) installed. If you do not have some of these tools and wish to acquire them, you will need to join Microsoft's Developer Network (MSDN) at the Professional Subscription level or greater. Please see http://www.microsoft.com/msdn for more information. Educational institutions may be eligible for special academic prices, please see your local academic reseller for pricing and availability. Most of our development has occurred on machines running NT 4.0 w/ SP3, Visual C++ 5.0, Platform SDK of Oct '97, and the NT DDK Version 4.0. Having precisely these same versions of the compiler and SDK shouldn't be necessary; however, we haven't done extensive testing of other configurations. Assuming you have the DDK build environment set up correctly (test by building one or more of the samples included in the DDK), building our entire tree can be accomplished simply by running "build" in the msripv6 directory. To build just a single component, cd to that component's directory and run build there. For example, to build the core IPv6 stack, run build in the msripv6\tcpip6 directory. The resulting binary is tcpip6.sys. (Build likes to complain about include files that don't end with a blank line and include files it can't find directly. You can ignore these messages) CREATING AN INSTALL KIT: Once you have successfully built the tree as described above, you can package up an IPv6 install kit for easy installation of the associated parts. To do this, go to the "kit" subdirectory of msripv6. Run the "mkkit.cmd" script with the path to an existing directory in which to place the completed kit as an argument (for example, "mkkit C:\Ipv6Kit"). INSTALLATION ON NT 4.0: The same procedure is used to install either our binary distribution or a version you built yourself from our source distribution. Start the Control Panel's "Network" applet (an alternative way to do this is to right-click on "Network Neighborhood" and select "Properties") and select the "Protocols" tab. Click the "Add..." button and then "Have Disk...". When it asks you for a disk, give it the full pathname to where you downloaded our binary distribution kit (or where you placed the kit you created yourself -- in the example above, this was "C:\IPv6Kit"). IPv6 should now install itself. The above install procedure will copy the files from the install kit into the appropriate places and add entries to the system registry for IPv6 configuration. If you later modify IPv6 components, you can replace just the effected file or files without having to uninstall/install IPv6 again. The protocol stack itself (tcpip6.sys) is installed in your %SystemRoot%\system32\drivers directory. The Winsock helper dynamically linked library for the INET6 address family (wship6.dll) and all the user apps and utilities (ipv6.exe, ping6.exe, tracert6.exe, ttcp6.exe, etc) live in the %SystemRoot%\system32 directory. INSTALLATION ON NT 5.0: The same procedure is used to install either our binary distribution or a version you built yourself from our source distribution (using the NT 4 DDK - we have not tried the NT 5 DDK). Go to Settings / Network Connections and right-click on Local Area Connection. Chose Properties. Go to the Networking tab. Click on Add. Chose Protocol and click on Add. Click on "Have Disk...". When it asks you for a disk, give it the full pathname to where you downloaded our binary distribution kit (or where you placed the kit you created yourself -- in the example above, this was "C:\IPv6Kit"). IPv6 should now install itself. Note that unlike NT 4, you do not have to reboot at this point. IPv6 starts immediately once installed. The above install procedure will copy the files from the install kit into the appropriate places and add entries to the system registry for IPv6 configuration. If you later modify IPv6 components, you can replace just the effected file or files without having to uninstall/install IPv6 again. The protocol stack itself (tcpip6.sys) is installed in your %SystemRoot%\system32\drivers directory. The Winsock helper dynamically linked library for the INET6 address family (wship6.dll) and all the user apps and utilities (ipv6.exe, ping6.exe, tracert6.exe, ttcp6.exe, etc) live in the %SystemRoot%\system32 directory. CONFIGURATION: Our implementation supports stateless address autoconfiguration. This has worked so well for us that we haven't bothered to implement manual address configuration. At boot time, a link-local address will be assigned to each network interface. Global addresses will be assigned based upon receipt of router advertisements. If you wish to use configured tunnels, however, you do have to configure them by hand. Currently, this means editing the system registry. To do this, use regedt32. We recommend you back up your registry before making any changes. Drill down the registry tree to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip6\Parameters\ and then add the appropriate entries as follows: ConfiguredTunnels\ Addresses - REG_MULTI_SZ: v6 addresses assigned to this node, in addition to v4-compatible addrs <index>\ - tunnels are numbered 0, 1, 2, etc the values below describe the other node V6Address - REG_SZ: v6 address of tunnel endpoint V4Address - REG_SZ: v4 address of tunnel endpoint IsRouter - REG_DWORD: (optional) is it a router? The V6Address is optional, in which case IsRouter must be true. (If V6Address is not specified, then IsRouter defaults to true.) UTILITIES: We wrote a utility (ipv6.exe) to retrieve and display various types of information from the stack. You can use this to view the state of interfaces, the neighbor cache, route cache, prefix list, and router list. Also included with this release are ping6, tracert6, and ttcp6. These work similarly to their v4 counterparts. FIXES FOR NT 4.0: The following are problems with NT 4.0 that were only exposed by running IPv6. We're including binaries with our release that fix these. We don't want to get in the business of tracking all fixes to NT, however, so our binaries are at the base level of NT 4.0 (i.e. no Service Packs installed). Some Service Packs also include new versions of some or all of these binaries, which presumably fix other problems (and not these). In particular, SP3 is known to do so. In other words, if you already have one or more Service Packs installed, installing these binaries may break something else. For this reason, these binaries are not installed automatically along with IPv6 and instead must be installed by hand. You get to decide if the fix is worth the risk. The Winsock getsockname call on AF_INET6 sockets triggers a bug in msafd.dll related to the longer addresses. If you decide you wish to fix this (see warning above), replace your existing %SystemRoot%\System32\msafd.dll with the one we've included in this release. The nslookup utility will incorrectly print the results of a AAAA record query (some parts of the address are byte-swapped). If you decide you wish to fix this (see warning above), replace your existing %SystemRoot%\System32\nslookup.exe with the one we've included in this release. Note that NT 5.0 (at least, build 1773) does not have these problems. KNOWN ISSUES WITH OUR STACK: TCP connections via the loopback interface do not work. Most of the Ethernet interface cards we have tried "just worked". In two cases, however, we had to update the drivers to the latest versions available in order to get them to work with our code (we suspect they had problems with multicast that weren't tickled by the IPv4 stack). If you experience an immediate crash upon booting with the IPv6 stack installed, check with your card's manufacturer to ensure that you have the latest driver. Our IPv6 TCP implementation doesn't have all the post-NT 4.0 fixes and improvements that Microsoft has since made and shipped in the Service Packs. MAILING LIST: We have set up a mailing list for interested parties to use in exchanging information regarding their experiences working with our implementation. We will also be making interim announcements regarding the state of our implementation to this list. To join, send an email message containing the text subscribe msripv6-users yourfirstname yourlastname to listserv@list.research.microsoft.com. BUG REPORTS/FEEDBACK: We welcome bug reports and other feedback, especially interoperability reports with other IPv6 implementations. Please send email on such subjects to msripv6-bugs@list.research.microsoft.com. CONTACT INFO: Should you wish to contact us for any reason besides the above mentioned bug reports/feedback, please send email to msripv6@microsoft.com or write Microsoft Research, One Microsoft Way, Redmond, WA 98052-6399.Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.