I jumped on the Vista bandwagon quite early on and one continuous problem I’ve had is when copying files across my network. Most files would copy across at high speeds, in the MBs however some filetypes would crawl across at around the 10KB. A 900KB swf file would take almost 1 minute to copy. A 7MB zip file would take 45 minutes. Truly a terrible state to be in. A few times I just resorted to using a memory stick to transfer data between the networked machines.
I searched for hours at a time looking for a solution. I tried several things including MS hotfixes, tinkering with netsh, registry edits, disabling IPv6, disabling all QoS related functionality etc. Nothing worked, until now.
After many many months I finally had enough. A project I was working on required me to keep copying a compiled file over the network. The delay was driving me crazy so I decided to have another go at fixing the speed issue and this time, I succeeded!
I decided that I’d tinkered with almost everything that could conceivably have an impact on the network side of things from a Vista point of view. I figured it was time I investigate some of the mysterious options on the network card drivers advanced panel. I had configured it straight away with the settings I was familiar with but the rest I left on the defaults.
I started at the top of the list, here is the full list of options and the currently selected values:
- Energy Star – Enabled
- Flow Control – Tx & Rx Enabled
- Interrupt Moderation – Enabled
- IPv4 Checksum Offload – Rx Enabled
- Jombo Packet – 1514 Bytes
- Large Send Offload (IPv4) – Enabled
- Log Status Messages – Status Messages
- Max IRQ per Sec – 5000
- Network Address – (blank)
- Priority & VLAN – Priority & VLAN Enabled
- Receive Buffers – 256
- Speed & Duplex – Auto-Negotiation
- TCP Checksum Offload (IPv4) – Tx & Rx Enabled
- Transmit Buffers – 256
- UDP Checksum Offload (IPv4) – Tx & Rx Enabled
- Wake From Shutdown – Off
- Wake-Up Capabilities – Magic Packet & Pattern Matching
The idea was quite straight forward, google the name of any value I didn’t understand already. As it turned out “Flow Control” was one I thought I understood but googled anyway. That landed me here which indicated it was virtually un-needed on most networks, particularly a home network. I decided to try turning it off.
To disable “Flow Control” on the network card device properties page go to Start->Settings->Network Connections->Right click the network card and choose Properties, then on the popup pick Configure to open the device driver panel. You could also reach that by simply going to Device Manager and expanding the “Network adapters” node. Once the panel is open select the “Advanced” tab. The Flow Control option was set to “Tx & Rx Enabled”. I set it to “Disabled” and closed the panel. The network card immediately dropped its connection and tried to establish a new one. Once that had connected I tried copying the 900KB swf file, instantly it was there. I then tried copying the 7MB zip file across the network, virtually instant. I started copying a directory with 1.45GB of data in it. It stated about 4 minutes till completion.
I’ve done a few tests now such as fully shutting down the system, sending it to sleep, copying multiple files, playing online games. It all seems a-ok and back up to glorious speed. I checked the other machines and they all have Flow Control disabled already.