Jump to content

Atheros AR9285 fix for Snow Leopard - Mavericks


Andy Vandijck
 Share

155 posts in this topic

Recommended Posts

Hi

 

is there a chance to make this 9285 work on N router? No issue on G.

 

When trying to connect on N, it can detect the network name but after entering the password, there will be a exclamation point on top of the airport icon and getting no IP.

Link to comment
Share on other sites

  • 1 month later...
is there a chance to make this 9285 work on N router? No issue on G.

 

When trying to connect on N, it can detect the network name but after entering the password, there will be a exclamation point on top of the airport icon and getting no IP.

 

Yes. Now AR9285 works on N router.

 

For use to install new driver for AR9285 - http://www.mediafire.com/?e3tb7nb274xdx21

Driver works only on MacOS X 10.6.7 !

 

 

P.S. New driver based on AirPortAtheros9388.kext from iMac 2011...

Link to comment
Share on other sites

strange. . every time i run comboupdate 10.6.7 i get KP once then i boot with -v -x then reboot and it works fine ??

im going to try the dsdt subvendor change to apples to see if its that (askey AR5B91 from toshiba satelite a305 single transmitter PA3665U-1MPC )

seems to detect as airport extreme oob and works fine so far.. compared to aw-ne772 AR5B92 dual transmitter that doesnt (havent tested new kext yet)

Link to comment
Share on other sites

Hi, Just want to say thanks for the info. This works with Toshiba NB200 wifi adapter, although I'm just using LegacyAtheros.kext from the earlier post here so far, I'll get to the dsdt a little later (have a few things to fix there).

 

Cheers,

Andrew

Link to comment
Share on other sites

did a fresh install 10.6.0 in usb (untoched) with dsdt and chameleon and fakesmc 2.5 in hdd EFI (booted from hdd to usb) :P all went smooth.

no wifi as expected until(10.6.3+) 10.6.7 comboupdate.

NO KP so it looks like i had messed up my kexts i guess... but its all good now.

 

all i did in the dsdt was subsys vendor ids change not the device id as my card is 0x2A (supported) so it builds with *cause of the same id already there.

have not flashed card but says its on APAC (instead of FCC ?) and USA LOL talk about close ties anyways 100% reliable and wifi n i believe works as i hit max isp speed.

Link to comment
Share on other sites

  • 2 weeks later...

HI, I'm trying to add info about my atheros wireless card in system profiler using dsdt.

I have added this

Device (RP06)
           {
               Name (_ADR, 0x001E0000)
               Device (ARPT)
               {
                   Name (_ADR, Zero)
                   Name (_PRW, Package (0x02)
                   {
                       0x09, 
                       0x03
                   })
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x10)
                           {
                               "AAPL,slot-name", 
                               Buffer (0x08)
                               {
                                   "AirPort"
                               }, 
                               "device-id", 
                               Buffer (0x04)
                               {
                                   0x13, 0x00, 0x00, 0x00
                               }, 
                               "device_type", 
                               Buffer (0x11)
                               {
                                   "Wireless Network"
                               }, 
                               "model", 
                               Buffer (0x2D)
                               {
                                   "Atheros Communications Inc. Atheros AR5001X+"
                               }, 
                               "built-in", 
                               Buffer (One)
                               {
                                   0x00
                               }, 
                               "subsystem-id", 
                               Buffer (0x04)
                               {
                                   0x13, 0x3A, 0x00, 0x00
                               }, 
                               "subsystem-vendor-id", 
                               Buffer (0x04)
                               {
                                   0x86, 0x11, 0x00, 0x00
                               },
                               "vendor-id", 
                               Buffer (0x04)
                               {
                                   0x8C, 0x16, 0x00, 0x00
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0B, 0x04))
               }
               Method (_PRT, 0, NotSerialized)
               {
                   If (PICM)
                   {
                       Return (AR01)
                   }
                   Return (PR01)
               }
           }

 

 

but not works. Any suggestion? the card works fine (just no info)

seems thas ioreg doesn't recognize dsdt injection of arpt subdevice.

Mac_Pro.zip

dsdt.aml.zip

Link to comment
Share on other sites

this might help.

Name (_ADR, Zero)
Name (_SUN, One)
Name (_PRW, Package (0x02)
				{
					0x09, 
					0x03
				})

by the way.. why are u using wrong subvendor and subsystem?

you want to fake as the real apple airport chipset numbers that match your Chipet model. not your own

 

but to get the Airport Name

u have

 "device_type",
Buffer (0x11)
{
"Wireless Network"
},

 

change to Airport

 

if its same id. it wont do anything. just gives you a * since its same number as card.

Link to comment
Share on other sites

a kextstat and ioreg would help to see why its wrong in list. .. however if its device class 200 not 280. it will show as ethernet. (rebranding older cards)

 

yes device class is different. I have added

"class-code", 
                               Buffer (0x04)
                               {
                                   0x00, 0x02, 0x80, 0x00
                               }

 

(my macbook ioreg: class-code <00 80 02 00>)

I have just copied it but still not working

anyway ioreg can't recognize also sub-device ARPT, so i guess the problem isn't the injection but something before that one in the ioreg tree. bah! ;)

Link to comment
Share on other sites

ok .. u need to find it in ioreg WITHOUT DSDT MOD = "original was POP1"

dont put it in search mode on ioreg .. browse to it to see what shows around it (to put in proper place in dsdt )

 

Method (_DSM, 4, NotSerialized)
{
Store (Package ()
{
"AAPL,slot-name", Buffer (){"AirPort"},
"device-id", Buffer (0x04){0x1C, 0x00, 0x00, 0x00},
"device_type", Buffer (){"AirPort"},
"subsystem-id", Buffer (0x04){0x86, 0x00, 0x00, 0x00}, // i FIXED THIS TO THE CLOSEST REAL APPLE MATCH TO YOUR CARDS CAPABILITIES
"subsystem-vendor-id", Buffer (0x04){0x6B, 0x10, 0x00, 0x00}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}

if no good results.. then just remove sub*** id numbers since u dont need as u already added it to plist or used AtherosLegacy

                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x0c)
                           {
                               "AAPL,slot-name", Buffer () {"AirPort"},
                               "device_type", Buffer () {"AirPort"},
                               "model", Buffer () {"Apple DSDT Atheros AR5001X+"}
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }

 

if u add the Name (_SUN, One) then it shows in pci slot. not like a real mac. that shows in airport section only. not PCI Cards

 

i looked in your dsdt ..its modded RP05 and RP06 have PWR 0x09 0x03 .. ? u added or was stock ? cause further down i see the real call GPWR 0x09 0x04 ??

double power control :wacko: so its wrong :wacko: ioreg dump and fresh dsdt without the mod of Lan or wireless.. no wonder your wake has issues.

Link to comment
Share on other sites

resuming:

ioreg doesn'recognize ARPT device

method DSM isn't recognized under ARPT

if I add Name (_SUN, One) method DSM is recognized but under RP06 (I will see airprt info under pci cards in syst profiler (but I get double infos about the card). my macbook pro give info about airport under ''pci card'', but only one time ;) , and not under ''ethernet cards''

post-544968-1307232105_thumb.jpg

Link to comment
Share on other sites

pci bridge. its in wrong spot of } its being added inside th pci bridge. meands its in wrong spot. close.

 

i don't understand. sorry can you make an example? I'm really confused :rolleyes:

Link to comment
Share on other sites

heres my laptops example AR5B91 device id 2a so no need to add it. unlike 2b

			Device (RP01)
		{
			Name (_ADR, 0x001C0000)
			OperationRegion (P1CS, PCI_Config, Zero, 0x0100)
			Field (P1CS, AnyAcc, NoLock, WriteAsZeros)
			{
						Offset (0x3E), 
					,   6, 
				SBSR,   1, 
						Offset (0x52), 
					,   13, 
				LSTS,   1, 
						Offset (0x5A), 
				ABP1,   1, 
					,   2, 
				PDC1,   1, 
					,   2, 
				PDS1,   1, 
						Offset (0x5B), 
				LASC,   1, 
						Offset (0x60), 
						Offset (0x62), 
				PSP1,   1, 
						Offset (0xDC), 
					,   30, 
				HPCS,   1, 
				PMCS,   1, 
						Offset (0xE2), 
						Offset (0xE3), 
				WXME,   2
			}

			Device (ARPT)
			{
				Name (_ADR, Zero)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x08)
						{
							"AAPL,slot-name", 
							Buffer (0x08)
							{
								"AirPort"
							}, 

							"device_type", 
							Buffer (0x08)
							{
								"AirPort"
							}, 

							"subsystem-id", 
							Buffer (0x04)
							{
								0x8F, 0x00, 0x00, 0x00
							}, 

							"subsystem-vendor-id", 
							Buffer (0x04)
							{
								0x6B, 0x10, 0x00, 0x00
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}

			Name (_PRW, Package (0x02)
			{
				0x09, 
				0x03
			})
               Method (_PRT, 0, NotSerialized)
               {
                   If (GPIC)
                   {
                       Return (Package (0x04)
                       {
                           Package (0x04)
                           {
                               0xFFFF, 
                               Zero, 
                               Zero, 
                               0x10
                           }, 

                           Package (0x04)
                           {
                               0xFFFF, 
                               One, 
                               Zero, 
                               0x11
                           }, 

                           Package (0x04)
                           {
                               0xFFFF, 
                               0x02, 
                               Zero, 
                               0x12
                           }, 

                           Package (0x04)
                           {
                               0xFFFF, 
                               0x03, 
                               Zero, 
                               0x13
                           }
                       })
                   }
                   Else
                   {
                       Return (Package (0x04)
                       {
                           Package (0x04)
                           {
                               0xFFFF, 
                               Zero, 
                               LNKA, 
                               Zero
                           }, 

                           Package (0x04)
                           {
                               0xFFFF, 
                               One, 
                               LNKB, 
                               Zero
                           }, 

                           Package (0x04)
                           {
                               0xFFFF, 
                               0x02, 
                               LNKC, 
                               Zero
                           }, 

                           Package (0x04)
                           {
                               0xFFFF, 
                               0x03, 
                               LNKD, 
                               Zero
                           }
                       })
                   }
               }
           }

gives me

mwqi3t.jpg

Link to comment
Share on other sites

  • 2 weeks later...
Thank you soooooooooooo much. Finally my card works.

Artimess

 

I get dependency issues when I try to rebuild kextcaches with skvo's kext. You've replaced your IO80211.kext with this? In /Extra/Extensions or /S/L/E?

Link to comment
Share on other sites

I get dependency issues when I try to rebuild kextcaches with skvo's kext. You've replaced your IO80211.kext with this? In /Extra/Extensions or /S/L/E?

check out the AR9287 driver page

http://www.insanelymac.com/forum/index.php?showtopic=257011

Only works in Mac_OS_X_10.6.7 with mach_kernel Darwin 10.7.4

 

update to 10.6.7 then

Substitute the existing mach_kernel in the MAC OS system drive and Chameleon's Extra folder with this one. Use a small tool 'ShowAllFiles' to show the hidden mach_kernel. Delete it and copy the new one in. Then hide the files.

  • Like 1
Link to comment
Share on other sites

I have got it working, i have changed name ''(_ADR, '' from zero to 00010000. now ioreg recognize arpt device and syst prof see my pci card under pci leaving it under ethernet cards like my m.b.p

post-544968-1308703257_thumb.pngpost-544968-1308703270_thumb.png

Link to comment
Share on other sites

 Share

×
×
  • Create New...