Jump to content

Atheros AR9285 fix for Snow Leopard - Mavericks


  • Please log in to reply
154 replies to this topic

#1
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,690 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

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.co..._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)
}


#2
M@dMac

M@dMac

    InsanelyMac Protégé

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
  • Location:Mérida, Venezuela
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!!!

#3
Bungo

Bungo

    InsanelyMac Sage

  • Coders
  • 318 posts
  • Gender:Male
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.

#4
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
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. :(

#5
Bungo

Bungo

    InsanelyMac Sage

  • Coders
  • 318 posts
  • Gender:Male
My AR9285 even without modifications in DSDT is recognised as Apple (vendor-id=105b:e025), works now with Legacy kext in E/E. But Locale (APAC) and CountryCode (ZW) I suppose are wrong. Is a way to inject correct values without eeprom mods?

P.S. Useful info for eeprom moders http://www.dd-wrt.co...p=491145#491145

#6
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
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


#7
Bungo

Bungo

    InsanelyMac Sage

  • Coders
  • 318 posts
  • Gender:Male
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.

#8
Sp0oner

Sp0oner

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts
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.

#9
narandill

narandill

    InsanelyMac Protégé

  • Members
  • Pip
  • 7 posts
Could you publish the kext from kexts.com? or add liks to it?

#10
Sp0oner

Sp0oner

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts
Sure, this was the one I downloaded:

http://www.kexts.com...ros_ar9285.html

#11
narandill

narandill

    InsanelyMac Protégé

  • Members
  • Pip
  • 7 posts
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... ?

#12
Sp0oner

Sp0oner

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts

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.

#13
imbmn

imbmn

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 5 posts

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.

#14
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

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.

#15
JBraddock

JBraddock

    Ph.D (Can) in Human Rights

  • Members
  • PipPipPipPipPipPipPip
  • 549 posts
  • Location:UK
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.

#16
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

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.

#17
JBraddock

JBraddock

    Ph.D (Can) in Human Rights

  • Members
  • PipPipPipPipPipPipPip
  • 549 posts
  • Location:UK

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.

#18
LatinMcG

LatinMcG

    Insanely digesting DSDT

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 2,509 posts
  • Gender:Male
  • Location:Tampa, Florida
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.

#19
kerr

kerr

    InsanelyMac Protégé

  • Members
  • PipPip
  • 94 posts
i'm having problems compiling the code. line

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


compiles into this

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


what's wrong ?

#20
Time2Retire

Time2Retire

    Retired

  • Retired Developers
  • 1,012 posts
  • Gender:Female
  • Location:anonymouse.eu

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.





1 user(s) are reading this topic

1 members, 0 guests, 0 anonymous users


© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy