InfiniteMac OSx86

InfiniteMac OSx86 (http://infinitemac.com/forum.php)
-   10.X (http://infinitemac.com/forumdisplay.php?f=36)
-   -   Atheros AR9285 (0x002b168c) fix for Snow Leopard (http://infinitemac.com/showthread.php?t=6662)

andyvand 10-17-2010 03:26 PM

Atheros AR9285 (0x002b168c) fix for Snow Leopard
 
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:
Code:

        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:
Code:

                                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:
Atheros_AR9285_fix.zip

All credits go to "THe KiNG"

andyvand 10-17-2010 03:42 PM

1 Attachment(s)
Some proof...

Nikko485 11-04-2010 07:02 PM

Wonderfull !!
 
I's work GREAT, thank's a lot !

But i've just intall your Kext with Kext Utility and reboot...
No more needed ^^

For info : My Laptop is a Asus X70IO under Snow Leopard SL10A432 update to 10.6.2

Shad0w 11-14-2010 11:00 PM

Quote:

Locate your card on what root port is and add this code (e.g. on Acer Aspire One D250 = J380)
How can i locate place in DSDT to inject new code?

andyvand 11-28-2010 10:45 AM

New Atheros fix for 10.6.5 and above
 
1 Attachment(s)
Using DeviceMergeNub I've created an injector for this type of card.
It sets the card to AirPort and injects also IO80211Locale and IO80211CountryCode.
Change the IO80211CountryCode to reflect your country (default is X0, set to US, BE, ...).

macwynn 01-09-2011 11:17 PM

Where does the DeviceMergeNub kext go?
 
Thanks for the work Andy. Do I put this in E/E or in the iO802 kext in S/L/E? Or just in S/L/E?

Thanks!

MW

deepal720 04-07-2011 07:14 AM

LAN AR81Family
 
Hi Andy,

I've install Snow Leopard on my ASUS mobo and Intel core Quad but. everything works but my Ethernet. please show me how to fix this. Thanks a million

andyvand 04-08-2011 07:11 AM

Quote:

Originally Posted by macwynn (Post 52180)
Thanks for the work Andy. Do I put this in E/E or in the iO802 kext in S/L/E? Or just in S/L/E?

Thanks!

MW

/S/L/E... that should work like a charm... ;)

andyvand 04-08-2011 07:11 AM

Quote:

Originally Posted by deepal720 (Post 53575)
Hi Andy,

I've install Snow Leopard on my ASUS mobo and Intel core Quad but. everything works but my Ethernet. please show me how to fix this. Thanks a million

Which ethernet card?
Please give me the name of the card and the vendor and product id's...
I can then see if I can do something for you.... :)

jxiecentral 06-01-2011 05:40 AM

Help! Thanks
 
Hi Andy my name is John and i use a hackingtosh for my everyday studio production needs. i got an Atheros AR9285 and I couldn't find any other solution WORKING except for yours. However, it connects but cannot assign an IP address. Can you help me? Please help me quickly! I can send photos and whatnot. Running a 10.6.7 Snow Leopard and tried ur devicemergenumb.kext as well! The airport and wireless cards were not recognized until I put in the 80211family kext that you put up on this post. Thanks again!