Jump to content
InsanelyMac Forum
Andy Vandijck

Atheros AR9285 fix for Snow Leopard - Mavericks

Recommended Posts

As you may know Apple was kind enough to fix the support for AR9285 WiFi card on 10.6.5
I will show you the easy way to make the driver load using DSDT and not touching the original kext:

From within OS X install the new IO80211Family.kext (present in fix package) instead of the old one.

The following also needs the DTGP function present in the DSDT.dsl like this:

 Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}

If (LEqual (Arg2, One))
{
Return (One)
}
}
}

Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
}

Locate your card on what root port is and add this code (e.g. on Acer Aspire One D250 = J380)
Add the _PRW and _DSM part as shown below and change the device name to ARPT:

 Device (ARPT)
{
Name (_ADR, 0x00)
Name (_PRW, Package (0x02) {0x0B, 0x05}) // If you want WOL(Wake on LAN support) if not use desired sleep state
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0c)
{
"AAPL,slot-name", Buffer () {"AirPort"},
"device-id", Buffer () {0x2A, 0x00, 0x00, 0x00},
"device_type", Buffer () {"AirPort"},
"model", Buffer () {"Atheros 9285 8802.11 b/g/n Wireless Network Adapter"},
"subsystem-id", Buffer () {0x8F, 0x00, 0x00, 0x00},
"subsystem-vendor-id", Buffer () {0x6B, 0x10, 0x00, 0x00}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}

Also I will show you the easy way to get rid of that "ATHR: Unknown Locale" warning ( I don't like spam on my log...)

First download attached fix files from the link below which contains the eeprom tool

Boot in Windows and:
Open the eeprom tool.
Choose the path and file name(do not use .bin or whatever, just a plain name like original) then save original eeprom.

Then install ComView for WiFi trial (ca6 folder in fix package).
Install then launch, it will ask to install custom driver, do it.

Use attached tool (RCU.exe in fix package) to change the RegDomain, from my experience 0x0 is the best, this works on all Atheros cards. Be aware that may be illegal to change the RegDoman on your country...
Also do this on your own risk, don't blame me if you brick the card, you have been warned!

f you want to dump modified eeprom after change, you have to uninstall comview driver and put default.
However the eeprom tool allow only read/dump not write, guess it needs a special driver that I don't have, maybe someone good on IDA can figure out what it needs...

Enjoy and Share!

Atheros AR9285 fix files:
http://rapidshare.com/files/425489338/Atheros_AR9285_fix.zip

All credits go to "THe KiNG"


Fix for 10.8.5 - 10.9.X

Edit: buoo
Credits: nyolc8 - oldnapalm
 

Method (_DSM, 4, NotSerialized)
{
    Store (Package (0x12)
        {
            "AAPL,slot-name", 
            Buffer (0x08)
            {
                "AirPort"
            }, 
            "device-id", 
            Unicode ("*"), 
            "device_type", 
            Buffer (0x08)
            {
                "AirPort"
            }, 
            "model", 
            Buffer (0x33)
            {
                "Atheros 9285 802.11 b/g/n Wireless Network Adapter"
            }, 
            "subsystem-id", 
            Buffer (0x04)
            {
                 0x8F, 0x00, 0x00, 0x00
            }, 
            "subsystem-vendor-id", 
            Buffer (0x04)
            {
                 0x6B, 0x10, 0x00, 0x00
            }, 
            "compatible", 
            Buffer (0x0B)
            {
                "pci168c,2a"
            }, 
            "IOName", 
            Buffer (0x0B)
            {
                "pci168c,2a"
            }, 
            "name", 
            Buffer (0x0B)
            {
                "pci168c,2a"
            }
        }, Local0)
    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
    Return (Local0)
}

Share this post


Link to post
Share on other sites
Advertisement

I did this the entire guide except that I did not do the eeprom fix thing, it uses VE as the locale just fine I guess, and also it reads RoW instead of FCC... the netbook is a cq10-100ss ... I highly recomend this piece of hardware since it gets fixed really easy to use SL and is so small, everythings wokrs soooo nice... really... buy it... dsdt is kind of tricky, but I'm willing to help anyone wanting a fixed one, but you will have to update it to f.02.

 

thanks anv... thanks theKing... thanks community... thanks chavez... thanks ché... thanks superHai, nawcom, everyone, thanks!

 

EDIT:

 

thanks, big thanks teaTeam!!!

Share this post


Link to post
Share on other sites

Hi,

 

I've tried a modified IO80211Family.kext from 10.6.5 and unmodified one with Legacy, got working adapter but still can't connect to my router (D-Link DIR-635, working well with Win 7 on same laptop). I noticed that it can see some networks (my too) but obtained incorrect IP and mask. If i set IP and mask manualy it connects but no acces to internet and router page (setup). I don't know whats wrong. Can you help me? Thanks.

 

 

EDIT:

Reconfiguring my router resolved a problem. Accepted security mode is WPA-2 PSK and encryption type TKIP. AES seams to be not supported at all.

Share this post


Link to post
Share on other sites

First of all thank you Andy for sharing this. Also thank you to THe KiNG too. My AR9285 works with 10.6.5 beta kexts. However it is partially work. It failed to join any network (WPA2 security mode). I also can't create private network (ad-hoc). It produced IO80211 framework error if I'm not mistaken (going to check the exact error later) whenever I tried to create ad-hoc network. I found out later that it can connect to WEP network (both open & with security key). After I read Bungo's previous post, I realized that it failed to connect any WPA2 network maybe because of the AES encryption. Going to try re-configure my router later. I'm definitely going to try AR9285 fix for Snow Leopard, except the eeprom thingy. I have bad experience with Atheros eeprom. So far I only have 100% success with Broadcom eeprom. :(

Share this post


Link to post
Share on other sites

My AR9285 also work just using legacy kext but since it doesn't work properly I use 10.6.5 beta kext. Today I tested with another access point, WPA2-PSK security & AES encryption, this time I was able to connect AR9285 with it. I don't know what is wrong with the access point I usually use. Anyway, I put this little code in DSDT just to make IOBuiltin=True in IOReg:-

                    // start - AirPort injection
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x02)
                           {
                               "built-in", 
                               Buffer (One)
                               {
                                   0x00
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
                   // end - AirPort injection

My AR9285:-

en1:
Card Type:	AirPort Extreme  (0x168C, 0x1089)
Firmware Version:	Atheros 9285: 2.1.14.5
Locale:	Unknown
Country Code:	KR
Supported PHY Modes:	802.11 b/g/n
Supported Channels:	1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
Wake On Wireless:	Supported
Status:	Connected

Share this post


Link to post
Share on other sites

The driver we are using is a beta version, may be an official release will work correctly. If I'm right any eeprom mods won't help.

Share this post


Link to post
Share on other sites

I've only just found this thread but got mine working today using a different method. I had installed iATKOS S3 v2 and was just at 10.6.3 and wireless was showing as present but wouldn't see any networks. After downloading and installing the kext from kexts.com and then updating to 10.6.4 including the airport update and all other updates after it rebooted my wireless is now working which i'm very pleased with.

 

I'm assuming it's the kext from kexts.com but I also earlier in the day had installed a modified kext which I added my device id to. Again this wasn't working before I installed all the updates. So it's either one of the 2 kexts that has fixed it. I have saved both kexts anyway (in case of rebuild ever needed) if anyone wants them to try.

Share this post


Link to post
Share on other sites

Strange... i have Samsung R590 (very similiar to R580) with that Atheros wifi (i think), and when i try to install iAtkos S3 v.2 snow dosen't see any new network devices, eg. no Atheros. I also tried on 10.6.4, 10.6.5....

 

Maybe clean retail install will help... ?

Share this post


Link to post
Share on other sites
Strange... i have Samsung R590 (very similiar to R580) with that Atheros wifi (i think), and when i try to install iAtkos S3 v.2 snow dosen't see any new network devices, eg. no Atheros. I also tried on 10.6.4, 10.6.5....

 

Maybe clean retail install will help... ?

 

 

Mine's a Compaq Mini 311c with the Atheros 9285. When I install iATKOS V3 s2 and choose the atheros wireless option once installed it sees it as an airport device but what it wont do is see any available networks. However with the above kext installed and then install the airport update it starts seeing all the networks and connects fine.

Share this post


Link to post
Share on other sites
First of all thank you Andy for sharing this. Also thank you to THe KiNG too. My AR9285 works with 10.6.5 beta kexts. However it is partially work. It failed to join any network (WPA2 security mode). I also can't create private network (ad-hoc). It produced IO80211 framework error if I'm not mistaken (going to check the exact error later) whenever I tried to create ad-hoc network. I found out later that it can connect to WEP network (both open & with security key). After I read Bungo's previous post, I realized that it failed to connect any WPA2 network maybe because of the AES encryption. Going to try re-configure my router later. I'm definitely going to try AR9285 fix for Snow Leopard, except the eeprom thingy. I have bad experience with Atheros eeprom. So far I only have 100% success with Broadcom eeprom. :)

 

Kizwan, were you able to fix the ad-hoc issue? I need to create an ad-hoc network to share my wired internet connection to my ipod touch.

Share this post


Link to post
Share on other sites
Kizwan, were you able to fix the ad-hoc issue? I need to create an ad-hoc network to share my wired internet connection to my ipod touch.

Sorry, no. You will need to use wireless AP.

Share this post


Link to post
Share on other sites

I tried to replace Intel 5100 with Atheros 9280, but it gave me hardware error. Since some models of my laptop had been shipped with this card I thought it wouldn't be necessary to hack the bios.

I was wondering if it would make any difference to use a Atheros 9280 extracted from a HP laptop. The one I tried was from a toshiba.

Do they use the same vendor, system ids etc?

 

Otherwise I have to look for other solutions.

Share this post


Link to post
Share on other sites
I tried to replace Intel 5100 with Atheros 9280, but it gave me hardware error. Since some models of laptop had been shipped with this card I thought it would't be necessary to bios hack.

I was wondering if it would make any difference to use a Atheros 9280 extracted from a HP laptop. The one I tried was from a toshiba.

Do they use the same vendor, system ids etc?

 

Otherwise I have to look for other solutions.

Maybe the whitelist hold sub-vendor ID. Vendor ID always the same for all Atheros card which is 0x168C (Atheros). The only differences will be sub-vendor ID; 0x103C for HP. So, when you put wireless card from Toshiba, your notebook will be halted.

Share this post


Link to post
Share on other sites
Maybe the whitelist hold sub-vendor ID. Vendor ID always the same for all Atheros card which is 0x168C (Atheros). The only differences will be sub-vendor ID; 0x103C for HP. So, when you put wireless card from Toshiba, your notebook will be halted.

It makes sense. I'll try to find one from a HP laptop and see what happens.

Share this post


Link to post
Share on other sites

i wonder if this would help the unknown locale for AR9280 aw-ne772 issue im having is sometimes it shows wireless ssid's but always shows unknown locale.

id hate to mess with rom if thats the issue.

Share this post


Link to post
Share on other sites

i'm having problems compiling the code. line

 

"device-id", Buffer () {0x2A, 0x00, 0x00, 0x00},

 

 

compiles into this

 

"device-id", 
Unicode ("*"),

 

 

what's wrong ?

Share this post


Link to post
Share on other sites
i'm having problems compiling the code. line

"device-id", Buffer () {0x2A, 0x00, 0x00, 0x00},

compiles into this

"device-id", 
Unicode ("*"),

what's wrong ?

Nothing :)

 

0x2a is a * in Unicode.

 

Or print it from within your browsers' location bar:

java script:alert("\u002a");

But without the stupidly inserted space character.

Share this post


Link to post
Share on other sites

Is Andy's patch (see first post on this thread) working for the final version of 10.6.5 ?

 

I am trying to patch my dsdt.aml, but I guess I am doing something wrong. It doesn't work for me (yet).

Share this post


Link to post
Share on other sites

The super lazy/quick way is to edit the 10.6.5 IO80211Family.kext

 

IO80211Family.kext/Contents/PlugIns/AirPortAtheros21.kext/Contents/Info.plist

 

and add this string

 

<string>pci168c,2b</string>

 

even quicker just download the attachment.

 

Install to /E/E or /S/L/E rebuild mkext then reboot and enjoy

IO80211Family.kext.zip

Share this post


Link to post
Share on other sites
You also can use legacy kext (plist only) in Extra folder. I'm using legacy kext right now. I'll upload later when I get home.

 

Why use legacy when you can just one line edit the original 10.6.5 kext.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Posts

    • It most certainly does!    Made an image of my previous esxi 6.5, updated to 6.7.0 and everything works. Be careful though: read the release notes, certain CPUs  have been deprecated and said CPUs will result in the purple screen of death!   Sterling work dear chap! You are greatly appreciated.
    • I did try that just now but it seems like the card is still active as it still shows up in system report! I have managed to get the battery meter working but as i said it works only when i unplug/plug the ac adapter. I have to do this once then the meter functions properly.
    • My BIOS has an option of enabling/disabling CSM! I think enabling CSM made my boot menu go non native resolution too!
    • I have a gigabyte Aorus ultra. I don't think so, everything should be uefi. Anything I should look at in particular? 
    • All right now : I have taked delivery of my new TBEX3  this afternoon : plugged and all is fine at startup, screen plugged on USB_C   My Settings recap :   1/ Bios recommended parameters for Thunderbolt + Pci devices set as Legacy 2/ I added arbitrary lines on my config.plist ( Thanks @Matthew82.) <dict> <key>Comment</key> <string>THUNDERBOLT 1577</string> <key>CustomProperties</key> <array> <dict> <key>Disabled</key> <false/> <key>Key</key> <string>model</string> <key>Value</key> <string>Thunderbolt EX3</string> </dict> <dict> <key>Disabled</key> <false/> <key>Key</key> <string>AAPL,slot-name</string> <key>Value</key> <string>Slot-4</string> </dict> <dict> <key>Disabled</key> <false/> <key>Key</key> <string>name</string> <key>Value</key> <string>Thunderbolt 3 Controller</string> </dict> <dict> <key>Disabled</key> <false/> <key>Key</key> <string>device_type</string> <key>Value</key> <string>Thunderbolt 3</string> </dict> <dict> <key>Disabled</key> <false/> <key>Key</key> <string>IOName</string> <key>Value</key> <string>Thunderbolt</string> </dict> </array> <key>PciAddr</key> <string>03:00.00</string>   3/ my SSDT  SSDT-TB3U2.aml.zip


×