06 April 2013

RRAS will not start

A complete solution to the RRAS won’t start with 8007042a or event ID 7024, aka the “routing remote access unable to load Iprtrmgr.dll” problem.

History: The history of this error, which has mostly gone unsolved, dates back to Windows 2000.
Platforms affected: Windows Server 2008 R2, Server 2008, Server 2003 R2, Server 2003, Server 2000 (both 32-bit and 64-bit installs are affected).
Error Messages:
Event ID: 7024 The Routing and Remote Access service terminated with service-specific error 2 (0x2).
Event ID: 7024 The Routing and Remote Access service terminated with service-specific error 31 (0x1F).
Event ID: 7024 The Routing and Remote Access service terminated with service-specific error 20205 (0x4EED).
Event ID: 7024 The Routing and Remote Access service terminated with service-specific error 193 (0xC1).
Event ID: 20103 Unable to load C:\WINDOWS\System32\iprtrmgr.dll . (32-bit installs).
Event ID: 20103 Unable to load C:\WINDOWS\SysWOW64\iprtrmgr.dll . (64-bit installs).
Cause: There are two basic causes for this error.
An incorrect key in the registry if you are running IPv6.
TCP/IPv4 corruption.
Related causes:
This has happened to me on a couple of Dell Windows 2003 R2 64-bit servers that had Broadcom NetXtreme II adapters. My problem was the second cause above, TCP/IP corruption, which I believe that happens for some reason when you install the driver for the Broadcom adapter. It certainly may happen with other adapters, but there were definitely a high number of unsolved cases on the Internet with various Broadcom adapters.
Additional factors:
This happened even on clean installs as I tested using both the Dell-specific Windows Server 2003 R2 media, and Microsoft media downloaded from the Volume License site. It happens with either media.
Troubleshooting that did not work for me, or most people on the Internet:
Reinstalling clean.
Running sfc /scannow (I got no errors).
Comparing, and replacing, the iprtrmgr.dll’s from a working server.
Reinstalling the NIC’s after deleting them from Device Manager.
Running “NETSH INT IP RESET C:\reset.log” or “NETSH RESET WINSOCK”.
Running “NETSH WINSOCK RESET”.
Checking for ghost adapters after setting devmgr_show_nonpresent_devices=1 and then showing hidden devices in Device Manager (I had none).
Reregistering Oledb32.dll and Oledb32r.dll , and renaming C:\Windows\System32\ias \dnary.mdb, and ias.mdb files and restarting RRAS. Those files are located in the C:\Windows\SysWOW64 directory on 64-bit systems. This was in KB840696 http://support.microsoft.com/kb/840686.
Solutions:
If you have Server 2008, and are running TCP/IPv6, your problem is probably not TCP/IPv4 corruption, but rather that you have this extra key, HKEY_LOCAL_MACHINE\System\currentcontrolset\services\remoteaccess\routermanagers\IPV6, which you will remove after you back it up by exporting it. Removing this key was an easy solution that widely helped many people on the Internet.
 If you still want to use the TCP/IPv6 protocol you may have to do more. Since I did not apply to my server, and I could not test it, you may still have IPv6 corruption, and may want to troubleshoot by removing and reinstalling the TCP/IPv6, akin to the solution below. The above solution may just be masking potential corruption by avoiding the issue.
If you are not running IPv6, the chances are that you have TCP/IPv4 corruption, and the solution is to reinstall it. If you have never noticed, if you try to uninstall TCP/IP, it is grayed out. To get around that, I followed KB 325356: http://support.microsoft.com/kb/325356 . That says it is for a domain controller, but works on member servers also. The steps are:
Just in case, disable RRAS in the RRAS mmc, as this will uninstall it.
Backup your registry.
Ignore steps  1-4, and step 21 if you are just on a member server.
1.Restart the domain controller.
2.When the BIOS information appears, press F8.
3.Select Directory Services Restore Mode, and then press ENTER.
4.Use the Directory Services Restore Mode password to log on.
5.Click Start, and then click Run.
6.In the Open box, type regedit, and then click OK.
7.Locate the following registry subkeys:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2
8.Right-click each key, and then click Delete.
9.Click Yes to confirm the deletion of each key.
10.Close Regedit.
11.Locate the Nettcpip.inf file in %winroot%\inf, and then open the file in Notepad.
12.Locate the [MS_TCPIP.PrimaryInstall] section.
13.Edit the Characteristics = 0xa0 entry and replace 0xa0 with 0x80.
14.Save the file, and then exit Notepad.
15.In Control Panel, double-click Network Connections, right-click Local Area Connection, and then select Properties.
16.On the General tab, click Install, select Protocol, and then click Add.
17.In the Select Network Protocols window, click Have Disk.
18.In the Copy manufacturer's files from: text box, type c:\windows\inf, and then click OK.
19.Select Internet Protocol (TCP/IP), and then click OK. (Note: This step will return you to the Local Area Connection Properties screen, but now the Uninstall button is available).
20.Select Internet Protocol (TCP/IP), click Uninstall, and then click Yes.
21.Restart your computer, and then select Directory Services Restore Mode as mentioned in steps 2 - 4.
22.In Control Panel, double-click Network Connections, right-click Local Area Connection, and then select Properties.
23.On the General tab, click Install, select Protocol, and then click Add.
24.In the Select Network Protocols window, click Have Disk.
25.In the Copy Manufacturer's files from text box, type c:\windows\inf, and then click OK.
26.Select Internet Protocol (TCP/IP), and then click OK.
27.Restart your computer.
Configure and Enable Routing and Remote Access.
At this point, your RRAS should start.
Related problem and solution:
When I would enter a static IP address, although it would hold the static, the properties would reset back to “Obtain an IP address automatically”. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network and delete the Config key. Reenter your static settings, and they should hold, and rebuild that Config key.
I hope this solves this difficult problem for many of you.
Best Regards,
Kevin Cotreau
MCSE+I, MSDBA, MCNE

Edited by KCotreau Monday, June 11, 2012 5:08 AM

No comments:

Post a Comment