2008-03-04




A Fix for Slow WiFi 802.11 File Transfers under Mac OS X Leopard 10.5.2

While trying to transfer files from a wired iMac running 10.5.2 to a wireless MacBook Pro running 10.5.2, I ran into extremely slow transfers.

I was attempting to copy the free part of Nine Inch Nails' new album and decided to leave the slow transfer plodding along, while I researched the issue. It seems I was not the only one having this problem (Apple Support Discussion link).

It appears likely the problem has crept in with the 10.5.2 update, and it dramatically slows wireless transfers under some conditions. It seems to affect a variety of wireless Macs connecting through a variety of wireless router brands including Apple.

Based on some of the posts, it appears the problem is related to "silly window syndrome" which causes confusion with the normal packet acknowledgment process in TCP/IP. Due to this confusion (which may be caused by edge cases of transfer size and timing), both machines basically pause waiting for the other to say go. In the fast and furious world of TCP/IP, this shows itself as a dramtic slow down in large transfers, while it may not be so noticeable in smaller transfers.

But there is a fix (or at least a workaround). You can change your Mac's default ACK setting from 3 to 0 with the following Terminal command:

sudo sysctl -w net.inet.tcp.delayed_ack=0

And you change it back to the default of 3 with:

sudo sysctl -w net.inet.tcp.delayed_ack=3

Or you can simply check you existing setting with:

sudo sysctl net.inet.tcp.delayed_ack

Note: You will likely need to preface any command changing these settings with "sudo" and enter your admin password to use your root account privileges.

Hopefully, Apple will roll out a more elegant and more permanent solution soon.



Additional Links:
Related Technical Paper
Script to make the ACK change on login
MacOSXHints
blog comments powered by Disqus

  © Blogger templates 'Neuronic' by Ourblogtemplates.com 2008

Back to TOP