Jump to content

AR9287(AR5B97)wifi works fine in 10.6.7 finally!


larryonline
 Share

14 posts in this topic

Recommended Posts

Chinese Version:

 

http://bbs.pcbeta.com/viewthread-873662-1-2.html

经历过一夜和一日近乎崩溃的试验,终于驱动了这个堪称史上最难搞的AR系列无线网卡。

 

AR9287(AR5B97)成功驱动的步骤,三个必要条件,缺一不可:

 

1. Mac os x 10.6.7系统。原版10.6.7安装,或者低版本升级10.6.7包都可以

 

2. Mac OS X 10.6.7 (10J4138)-Darwin 10.7.4内核。

替换方法:用小工具ShowAllFiles显示所有文件,把系统分区下mach_kernel先删除,然后复制Darwin 10.7.4内核过去即可,最后用ShowAllFiles隐藏所有文件。MAC变色龙EXTRA目录下的mach_kernel也一样替换。

注:其他版本的mach_kernel也可能正常驱动。

 

 

3. IO80211Family.kext for AR9287 10.6.7 (设备 ID为168C-002E,已经修改好,如果你的9287是其他ID,请自行修改)。用kext utility安装即可。

 

 

English Version:

 

3 steps to make your ar9287 work fine in 10.6.7:

 

1. installed Mac os x 10.6.7 system.

Original 10.6.7 or upgraded 10.6.7 will be fine.

 

2. Mac OS X 10.6.7 (10J4138)-Darwin 10.7.4 mach_kernel.

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.

 

PS. Other versions of mach_kernel might work too.

 

3. install IO80211Family.kext for AR9287 10.6.7 with kext utility.

The default hardware ID of my ar9287 is 168C-002E and the kext was modified into it. Other hardware ID, you can modify it by yourself.

 

Done. Reboot and check it out.

 

PS: AR9287 is actually drived by AirPortAtheros9388.kext which is provided in MacBook Pro Software Update 1.4 (DL1382)

post-698946-1305359662_thumb.png

post-698946-1305359676_thumb.png

IO80211Family.kext_for_AR9287_10.6.7.zip

Mac_OS_X_10.6.7__10J4138__Darwin_10.7.4_mach_kernel.zip

  • Like 1
Link to comment
Share on other sites

Thank you very much - /\ -

 

 

 

I think we don't have to change the kernel

For me, It works fine on my nawcom's 10.6.7 legacy kernel

 

That's great. Previously I tried in 10.6.7 official kernel and it caused panic. And FYI, I tested 10.7.0 official kernel and it worked fine too.

Link to comment
Share on other sites

That's great. Previously I tried in 10.6.7 official kernel and it caused panic. And FYI, I tested 10.7.0 official kernel and it worked fine too.

 

It works on my VPC F11CGX. Thank you very much. Now only Audio and Internal display left

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
Works OOTB in Lion Dp4 also but not in Dp3 or earlier

Thanks for the kext. This has been a long wait ,but it's become successful. Can lion be installed on a Pentium T4500 processor Dual core 2.3Ghz I don't care about QE/CI. Or if that's not possible, then DP4 like you said. Please reply thanks

Link to comment
Share on other sites

  • 3 weeks later...

did anyone got this AR9287 working with lion (10.7.0 or 10.7.1) ?

 

I see that this kext has AirPortAtheros9388.kext which is the one that points to AR9287 pci id (pci168c,2e). I've tried:

- using the 10.6.7 kext

- using the 10.7.0 kext with modded Info.plist in AirPortAtheros21.kext

- using the 10.7.0 next with modded Info.plist in AirPortAtheros40.kext

- the same as above but for 10.7.1

nothing works..

 

anyone got this wlan chipset working with lion ? I'm assuming that if modding the info.plist does not work, the dsdt method will not work as well because it's only changing the device id...

Link to comment
Share on other sites

got it working! with no modified kexts!!

got inspiration from: http://www.insanelymac.com/forum/index.php?showtopic=168014 and specially http://www.insanelymac.com/forum/index.php?showtopic=234570

 

you need to mess with DSDT's...

 

if anyone wants to know how to do it:

1- find the wifi device in the dsdt, mine for example was called PXSX inside pci express port 2

2- rename the device to ARPT and add the methods defined in the thread mentioned

3- the device must then be "renamed" to the 168c:2a instead of the original 168c:2e

 

for simplicity, here's the added code:

Device (ARPT) // WIFI
		{
			Name (_ADR, Zero)
			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 9287 8802.11 b/g/n Wireless Network Adapter"}, 
							"subsystem-id", Buffer () {0x2A, 0x00, 0x00, 0x00}, 
							"subsystem-vendor-id", Buffer () {0x8C, 0x16, 0x00, 0x00}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
		}

Link to comment
Share on other sites

got it working! with no modified kexts!!

got inspiration from: http://www.insanelymac.com/forum/index.php?showtopic=168014 and specially http://www.insanelymac.com/forum/index.php?showtopic=234570

 

you need to mess with DSDT's...

 

if anyone wants to know how to do it:

1- find the wifi device in the dsdt, mine for example was called PXSX inside pci express port 2

2- rename the device to ARPT and add the methods defined in the thread mentioned

3- the device must then be "renamed" to the 168c:2a instead of the original 168c:2e

 

for simplicity, here's the added code:

Device (ARPT) // WIFI
		 {
			 Name (_ADR, Zero)
			 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 9287 8802.11 b/g/n Wireless Network Adapter"}, 
							 "subsystem-id", Buffer () {0x2A, 0x00, 0x00, 0x00}, 
							 "subsystem-vendor-id", Buffer () {0x8C, 0x16, 0x00, 0x00}
						 }, Local0)
					 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					 Return (Local0)
				 }
		 }

 

most people tried it and doesnt work. whats the details on your card?. subvendor and subsystem?

i see youre using 2A as subsystem.. which is wrong should be 8F for apple. and 106b apple not 168c atheros (this might be the trick to bypassing susbsystem checks)

Link to comment
Share on other sites

  • 2 months later...
  • 1 year later...
 Share

×
×
  • Create New...