Native WiFi, Atheros AR9280 168c:002a working without patching BIOS!!
Edit 2014-11-09: If you have not changed the regdomain on your card (to match your locality and to match OS X valid regdomains), you should do so while it still has the standard ids. Because after you re-brand and install it, you'll not be able to change the regdomain using CommView/RCU. Because I forgot to do this, I need to remove the card again from the laptop, rebrand back to the standard device-id, fix the regdomain, then switch back to the normal device-id (something for tomorrow).
For changing the regdomain, see this thread:
http://www.tonymacx86.com/hp-probook/97428-ar9280-athr-unknown-locale-xx-eeprom-mod.html. The Linux method linked later in the thread is the easier than using Windows:
http://blog.asiantuntijakaveri.fi/2014/08/one-of-my-atheros-ar9280-minipcie-cards.html
I am writing this message with my Lenovo U430 using native OS X Atheros drivers for AR9280. No more USB WiFi, no more annoying "Wireless Network Utility" for me...
Summary:
- rebrand an AR5BHB92 (AR9280) as 168c:0034 17aa:3114, which are the IDs for the Lenovo WB222 (AR946x).
- use an injector to load the native kext for AR9280
- patch the kext (using Clover config.plist patches) to make the kext treat it as AR9280
Note: No idea if this configuration works in Windows. I haven't gotten that far yet... In Linux it is easy to build a custom ath9k driver.
I used Linux to do the rebrand. Details are here:
http://www.tonymacx86.com/hp-probook/115110-rebranding-atheros-928x-cards-guide.html (Recovery guide is the Linux method).
The patches for config.plist (KernelAndKextPatches/KextsToPatch):
Code:
<dict>
<key>Name</key>
<string>AirPortAtheros40</string>
<key>Find</key>
<data>g8H5g/kp</data>
<key>Replace</key>
<data>g8Hvg/kp</data>
<key>Comment</key>
<string>AR9280 rebranded as AR946x</string>
</dict>
<dict>
<key>Name</key>
<string>AirPortAtheros40</string>
<key>Find</key>
<data>QYP6MA+HqQAAAA==</data>
<key>Replace</key>
<data>QboqAAAAkJCQkA==</data>
<key>Comment</key>
<string>AR9280 rebranded as AR946x</string>
</dict>
Basic process:
- rebrand the card in another computer that does not implement a whitelist
- install the card in the U430, verify you can get past BIOS whitelist check
- install the injector kext
- edit config.plist to include the patches.
- reboot, verify the kext is loaded with 'kextstat|grep -y airport'. wifi will not work yet.
- rebuild cache with 'sudo touch /System/Library/Extensions && sudo kextcache -u /'
- reboot
- this time, wifi should work. add the interface in SysPrefs->Network->[+] if necessary
The injector kext is attached.