Window Virtual PC - Slow File Transfer

When you trying to transfer a file to your Window Virtual PC, you experience extremely slow network transfer (10 - 30 kbps). On a normal NIC, this should not be the case in a un-congested LAN environment. This is mostly likely due to TCP large send offload is turned on.

TCP large send offload turned on means that TCP segmentation is being done at the NIC card. Usually, it will be done at the protocol stack. This is a problem for Window Virtual PC because it does not implement TCP segmentation at NIC card.

You can check your current offload status by using the following command at Command Prompt

netsh int ip show offload

The following will be displayed

ipv4 transmit checksum supported.
udp transmit checksum supported.
tcp transmit checksum supported.
tcp large send offload supported.
tcp giant send offload supported.

TCP large send offload supported means that your TCP large send offload is turned on at your NIC.

To turn it off, a lot of people ask you to do the following

1. Go to Control Panel\Network and Internet\Network Connections
2. Right click Local Area Connection and click properties (you NIC interface)
3. Click configure
4. Click on advance tab
5. Add properties box, look for Offload TCP segmentation property and set to Off.

It is not uncommon that this property does not exist in the advance tab. If that happen, you can try the following ways

Disable TCP task offloading in the registry of the host computer

1. Click Start, click Run, type regedit, and then click OK.
2. Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3. Click Edit, point to New, and then click DWORD Value.
4. Type DisableTaskOffload as the entry name, and then press ENTER.
5. Right-click DisableTaskOffload, and then click Modify.
6. In the Value data box, type a value of 1, and then click OK.
7. Quit Registry Editor.
8. Restart your computer.

Turn off TCP large send offload at NIC card

1. Go to Control Panel\Network and Internet\Network Connections, right click properties at Local Area Connection (your NIC card)
2. Click on configure, then Details tab
3. At property look for Driver key. You need this key value to edit the register. For me, it is {4D36E972-E325-11CE-BFC1-08002BE10318}\0007
4. Now, open Regedit by clicking Start, click Run, type regedit, and then click OK.
5. Locate and then click the following registry subkey (your driver key is needed):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0007
6. Look for value LsoV1IPv4, LsoV2IPv4, LsoV2IPv6 and modify their value to 0
7. Quit regedit
8. Go to Control Panel\Network and Internet\Network Connections, disable and enable your NIC card.

See:
http://support.microsoft.com/kb/888750

Comments

Post a Comment

Popular Posts