System error 58 while accessing shares on Windows 7 from XP

Changing the NTLM settings in the Local Policies did not work for me.

What did work is mentioned here: link text

...you need to tell Windows that you want to use the machine as a file server and that it should allocate resources accordingly. Set the following registry key to ‘1′:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache

and set the following registry key to ‘3′:

HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size

After changing the two registry settings, I simply restarted the "Server" service in Windows 7 and now the sharing is working fine.


ok guys here is the answer.

the problem was NTML response was not setup on both sides. I had to setup following on both xp and wind7 and a restart did the trick.

  1. GPedit.msc
  2. Windows Settings. Expand “Local Policies” and select “Security Options”
  3. Alternate : Type secpol.msc to get editor up then
  4. Locate “Network Security: LAN Manager Authentication Level” in the list and double-click it.
  5. Change the setting from “Send NTMLv2 response only” to “Send LM & NTLM – use NTLMv2 session if negotiated”

It might be helpful to also know the exact cause, before you pick one of these solutions. I recently had this same issue while trying to synchronize files from a Windows 2003 Server to a Windows 7 workstation. At random, the server would lose its connection to the Win7 box, and attempting a NET USE command to map a drive would return a Status 58 like this.

Rebooting the Win7 box would fix it, but this seemed drastic. Looking deeper with Wireshark, we found that an SMB request was going to the Win7 box, and an SMB reply "Out Of Memory" was being returned. Stopping and restarting the Server service on the Win7 box resolved the problem, at least temporarily, and is much better and faster than a reboot. I expect that the registry changes for the large system cache will resolve it completely, but these changes may not be suitable to a permanent change, just to get past a temporary issue.