InfiniteMac OSx86  


 
 
Thread tools Display modes
Prev Previous Post   Next Post Next
  #1  
Old 10-17-2010, 03:26 PM
andyvand's Avatar
andyvand andyvand is offline
 
Join Date: Apr 2009
Location: Tienen
Posts: 515
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"

Last edited by andyvand; 10-17-2010 at 03:36 PM.
Reply With Quote