April 10, 2003

10.2.5 updates AppleAirPort2.kext

While I was at work this afternoon, aparently Apple released 10.2.5. Todd Heidesch (look near the bottom) reports that 10.2.5 has updated the AirPort Extreme kext. When I get home, confirm the report and update the script, I'll update this entry.

In the mean time, good work, Todd!

Update: Sure enough, 10.2.5 comes with AppleAirPort2.kext 3.0.4, and changing the $patchloc variable is all that's necessary to fix it.

So here's how you update to 10.2.5:

1. Start a terminal and sudo tcsh. Just let that sit there.

2. Start softwareupdate. Update to 10.2.5 normally. DO NOT reboot or shut down when it's done.

3. Go back to the terminal. cd /System/Library/Extensions/AppleAirPort2.kext/Contents and rm Info.plist.orig Macos/AppleAirPort2_patched. Now you've got a 'virgin' 10.2.5 AppleAirPort2.kext.

4. Modify the $patchloc in the perl script. You'll find the correct one commented out.

5. Run the perl script. It should say 'finished' as always.

6. Reboot.

Posted by nsayer at April 10, 2003 04:23 PM
Comments

Easy fix to Mac OS X updates killing AirPortExtreme Hack

All you have to do, is

- download the AirPort update package. It is version 3.0.2.
- sudo tcsh (you'll need your password)
- delete the /System/Library/Extensions/AppleAirPort2.kext directory
- run the AirPort update package, but don't restart
- delete /System/Library/Extensions.kextcache and .mkext
- mv AppleAirPort.kext to AppleAirPort.kext.disabled
- mv AppleAirPortFW.kext to AppleAirPortFW.kext.disabled
- then apply the patch on this site to the Info.plist
- reboot
done!!

You don't need to edit the binary file that is the driver. This is a lot of steps, but it is pretty fool proof and easy.

This has worked for 10.2.4 (3.0.3 driver) and 10.2.5 (3.0.5 driver)

Posted by: Gabe E. Nydick at April 10, 2003 07:45 PM

I'm not a hacker! I've updated to 10.2.5 after already applying the perl script in 10.2.4 (worked great then). I'm trying to piece together a solution by reading all of these messages, but can't work out a solution. Can someone help a novice? Thanks in advance.

Posted by: Sal at April 10, 2003 08:08 PM

HUH? I didn't get that mv AppleAirPort.kext to AppleAirPort.kext.disabled thing...

Posted by: -E at April 10, 2003 08:16 PM

Since there appeared to be a bug in Apple's Airport Extreme drivers in 10.2.4 that prevented me from operating in 802.11g mode with my Linksys WPC54G Wireless-G card and Linksys WRT54G Wireless-G broadband router (fireware 1.01.4), I decided to upgrade to 10.2.5 and reapplied the perl script using Todd Heidesch's info on the new $patchloc location. I was happy to find that after the update and reapplication of the script, that I could now connect in 802.11g mode as well as 802.11b. Here's what I did for anyone who is struggling. The first step is to undo the original patch so that you can reapply it after updating (I believe you have to do this, if not, please correct me).

1. Open the terminal.

2. cd /System/Library/Extensions/AppleAirPort2.kext/Contents

3. sudo cp Info.plist.orig Info.plist

4. Enter your admin password.

5. cd MacOS

6. sudo rm AppleAirPort2_patched

7. Enter your admin password.

8. Quit the Terminal and upgrade to MacOS 10.2.5 using the software update panel or any other method.

9. After the update is complete, restart your computer.

10. Using whatever text editor that you want, open the original wpc_driver_hack.pl file.

11. Change the line (even though the line above it says not to): $patchloc = 0x4b71c;

to $patchloc = 0x4e954;

12. Save and close the script.

13. Open the terminal.

14. cd to the directory with the modified perl script.

15. sudo perl wpc_driver_hack.pl

16. Enter your admin password. This will run the perl script. Everything should go smoothly, if not, something is wrong.

17. cd /System/Library/

18. sudo rm Extensions.kextcache

19. sudo rm Extensions.mkext

20. Restart your computer and have fun.

Special thanks to Todd Heidesch for posting the new $patchloc address so quickly. Good luck and hopefully I didn't forget something.

Posted by: Jeff Ubersax at April 10, 2003 08:32 PM

I changed the patchloc but it still says that its the wrong driver.

Posted by: Eric at April 10, 2003 09:06 PM

Bingo! Success after already running the perl script in 10.2.4 then updating to 10.2.5.

All I did was:

1). delete AppleAirport2.kext, appleairport.kext and appleairportfw.kext

2). Then ran the new apple airport installer.

3). add ".disable" appleairport.kext and appleairportfw.kext (ex: appleairport.kext.disabled)

4). delete extensions.kextcache and extensions.mkext

5). Then commented out all of the "checking" code in the perl script. (add # to the beginning of each line)

6). ran the new, non-checking perl script with the new "$patchloc = 0x4e954;" code and rebooted!

I'm not sure if all of that was necessary, but that's what I did and it worked. You might get away with commenting out the checking script and the new code.

Posted by: Sal at April 10, 2003 09:49 PM

I cannot get to the Perl script...404

Posted by: andy at April 11, 2003 12:08 AM

Uh-oh: I installed the 10.2.5 update and rebooted before I saw this. Since "Do Not Reboot" seems to be critical to these patches, what's the recommended procedure now - Gabe's multi-step program?

Posted by: GeoCrackr at April 11, 2003 11:53 AM

You can follow Jeff Ubersax's steps and after Step 3, delete Info.plist.orig. Of course, you can skip Step 8 & 9 since you have already update your OS.

Posted by: Ivan at April 12, 2003 07:52 AM

This kicks ass! I have much better range with the 3rd party wireless card, and I am able to add 802.11g support to my TiBook 550!

Nice job patching for 10.2.5 so quickly. Many thanks for a job well done!

Posted by: smanke at April 16, 2003 11:23 AM

How about using a WPC54G with a Pismo and a WRT54G router?
Thanks

Posted by: me at October 18, 2003 11:32 AM