Replacing MacBook’s AirPort card with an Atheros AR5BXB6 from an IBM Thinkpad
Four years of 85°C CPU temperatures took their toll on my friend’s MacBook. Her AirPort wireless card still functioned, but suddenly her wifi signal had become unusably weak.
I checked her system configuration, opened up her first-gen MacBook, and everything looked fine. But with plenty of others reporting similar issues, it was most likely the card had succumbed to heat. It could sometimes maintain normal wireless range for several minutes — when started totally cold — but after the system temps warmed up, would go back to only a few feet of range.
The model number printed on the AirPort card is an Atheros AR5BXB6. A Google Products search for “AR5BXB6” turned up these $13 Thinkpad pulls among others available online, and for $13 we figured it was easily worth a shot as a drop-in replacement, compared to the cost of a new Apple card. It turned out be only a little tricksier than that.
With the new card installed, her Mac started up fine, but it didn’t see the card at all, and dmesg
and the kernel log were no help. But, after a few more minutes of head-scratching and googling than I’d care to admit, I found the answer, mostly thanks to the hackintosh community. Even though this was a genuine Atheros AR5BXB6, it wasn’t an Apple part, so I needed to edit the AirPort kernel extension property list to add the new card’s device ID to the list of recognized Atheros IDs.
The quick-and-dirty way to do this (if vi
and the Terminal are your best friends) is:
# edit original plist in place
sudo vi /System/Library/Extensions/IO80211Family.kext/Contents/PlugIns/AirPortAtheros.kext/Contents/Info.plist
# and add this one line after the others like it:
# <string>pci168c,1014</string>
# then clear and rebuild the kext caches:
sudo rm -fr /System/Library/Extensions.mkext
sudo kextcache -k /System/Library/Extensions
And reboot!
(If that scared you, you’ll need to use the Finder and go to /System/Library/Extensions
, then control-click on IO80211Family.kext
and do “Show Package Contents.” Continuing inside the Contents/PlugIns
folders, control-click again on AirPortAtheros.kext
to show package contents. Then, inside Contents
, double-click on Info.plist
to open it with Property List Editor (or else TextEdit). Finally, add the vendor/device ID pair “pci168c,1014” after the other “pci168c” devices. Save, quit and reboot.)