Solution for: #61: MacBook Pro network access slow on battery in 10.5.8

Replace IO80211Family.kext with a previous version

0
If you're using Time Machine, this is simple enough. Pull a version of IO80211Family.kext (the AirPort driver) from before the system update.

If you're not, this involves grabbing the 10.5.7 combo updater and extracting the package (with Pacifist) for IO80211Family.kext. Once you get this file, remove the new copy and put your old one in its place in /System/Library/Extensions. Then, issue
kextcache -k /System/Library/Extensions/
to clear kernel extensions caches. Reboot and get back your AirPort speed even on battery power.

When replacing the broken kext, make sure that permissions are set properly on the new kext. On occasion, copying (via the Finder) will set owner, group, and their permissions for the .kext file to something unacceptable to the OS. For security reasons, kext files and their resources in /System/Library/Extensions need to be root:wheel owned. A Repair Permissions via Disk Utility is probably the best option, though you manually chown -R root:wheel /System/Library/Extensions/IO80211Family.kext as well.