ProjectOSX

Welcome Guest!

Returning User? Login here.

Want membership privileges? Register here.

> DSDT

Differentiated System Description Table (DSDT) - DSDT is a part of the ACPI specification and it supplies configuration information about a base system. ACPI capable computers come with a preinstalled DSDT from the manufacturer. A common Linux/OS X problem is missing ACPI functionality (fans not running, laptop screens not shutting off, etc.)

This subforum is dedicated to patches/fixes able to be inserted/modified from an extracted dsdt.dsl, which is then compiled into a DSDT.aml for OS X to pick up and use (with a proper bootloader).

These fixes are not permanent, and do not damage your BIOS.

2 Pages V  < 1 2  
Start a new topic Add Reply
> Atheros Ar9285, Working starting with 10.6.5
kidslow
post Jan 5 2011, 12:08 PM
Post #21
QUOTE (toleda @ Dec 30 2010, 08:39 PM) *
Can this technique be adapted to the AR9287 in my ASRock Vision 3D? I've patched 10.6.5 IO82211Family.kext (added d_id 2e) but got the following messages:

12/30/10 7:04:23 PM kernel Not loading kext com.apple.driver.AirPort.Atheros21 - not found and kextd not available in early boot.
12/30/10 7:04:24 PM com.apple.kextd[10] Kext id com.apple.driver.AirPort.Atheros21 not found; removing personalities

If not, then I'll get a AR9285. Thanks.


On the surface, it almost seems that the patched IO8221Family.kext didn't get loaded. Did you chown -R 0:0 the contents of that .kext/ and chmod -R 755 ? When you edit the contents of a package like that, it's easy to screw up the permissions.

First thing I'd check is the output of your your kextcache creation process. Make your cache from the command line and see if it says something about not loading the IO80211Family.kext or the Airport.Atheros21 part of it.

% kextcache -v 1 -a i386 -a x86_64 -m /System/Library/Caches/com.apple.kext.caches/Startup/ Extensions.mkext /System/Library/Extensions

This post has been edited by kidslow: Jan 8 2011, 12:55 AM
Asus 1008HA 10.6.7 NBI+Chameleon
kidslow
post Jan 5 2011, 12:25 PM
Post #22
THe KiNG, can this code be adapted to replace other hardware injector kexts? I'm thinking of the BroadcomUSB270Injector.kext that simply injects a known "idProduct" and "idVendor" so that Broadcom bluetooth hardware can be turned off and on (e.g. from the Taskbar).

Can I adapt what you have here and replace all the relevant hardware specific code (device-id, model, etc.) and place this section within the appropriate root port in my DSDT for my bluetooth device?

The only thing that I don't fully understand is this method:

Name (_PRW, Package (0x02) {0x0B, 0x05}) // If you want WOL(Wake on LAN support) if not use desired sleep state


I assume that those two hex args are hardware specific, yes? I also assume the (0x02) is simply a reference to the number of args that follow. Is this _PRW method even necessary? If it is, how would I go about determining the appropriate code for my hardware?

TIA

This post has been edited by kidslow: Jan 5 2011, 01:08 PM
Asus 1008HA 10.6.7 NBI+Chameleon
toleda
post Jan 6 2011, 12:57 AM
Post #23
QUOTE (kidslow @ Jan 5 2011, 07:08 AM) *
On the surface, it almost seems that the patched IO8221Family.kext didn't get loaded. Did you chown -R 0:0 the contents of that .kext/ and chmod -R 755 ? When you edit the contents of a package like that, it's easy to screw up the permissions.

First thing I'd check is the output of your your kextcache creation process. Make your cache from the command line and see if it says something about not loading the IO82211Family.kext or the Airport.Atheros21 part of it.

CODE
% kextcache -v 1 -a i386 -a x86_64 -m /System/Library/Caches/com.apple.kext.caches/Startup/ Extensions.mkext /System/Library/Extensions


Thanks for getting back to me. I will look closer as you suggest. I had originally patched AirportAtheros and AirportAtheros21. AirportAtheros failed to load for unavailable architecture so I reinstalled it native. Regarding permissions, I always run kext utility. Is that sufficient?
kidslow
post Jan 6 2011, 01:32 AM
Post #24
QUOTE (toleda @ Jan 5 2011, 06:57 PM) *
Thanks for getting back to me. I will look closer as you suggest. I had originally patched AirportAtheros and AirportAtheros21. AirportAtheros failed to load for unavailable architecture so I reinstalled it native. Regarding permissions, I always run kext utility. Is that sufficient?


I'm sorry, I don't use kext utility. It purports to fix permissions, so I'd assume it does that recursively. You may have run into an issue with 32bit vs 64bit architectures, like perhaps you added your fix to the x64 section of the plist file instead of the i386 or vice versa? I don't know enough about the compatibility between the AR9285 and AR9287 chipsets to answer beyond that. I'd recommend trying to leave your IO80211Family.kext vanilla and getting your hardware to work with the AtherosFix.kext injector first. What I learned the hard way is don't f* with the system kexts unless absolutely necessary.
Asus 1008HA 10.6.7 NBI+Chameleon
THe KiNG
post Jan 6 2011, 02:35 PM
Post #25
QUOTE (kidslow @ Jan 5 2011, 02:25 PM) *
THe KiNG, can this code be adapted to replace other hardware injector kexts? I'm thinking of the BroadcomUSB270Injector.kext...

USB's are another Marry with another hat, you can't do it same way for USB devices, I tried some stuff but no luck so far...
About _PRW, common fire up ACPI specs and do a little search, you will get the answer quick.
kidslow
post Jan 7 2011, 04:31 PM
Post #26
QUOTE (THe KiNG @ Jan 6 2011, 08:35 AM) *
USB's are another Marry with another hat, you can't do it same way for USB devices, I tried some stuff but no luck so far...
About _PRW, common fire up ACPI specs and do a little search, you will get the answer quick.


Got it: _PRW = Power Resources on Wake, so it wouldn't be necessary with the bluetooth, but maybe not so easy to do this anyway.

Any idea how I can generate more debugging output on my airport network port?

It takes me 6-12 attempts or more to connect via airport to my base station whenever I wake from sleep or reboot. Once connected, it's rock solid. Only thing I see in the console logs is along the lines of "Connection failed (-3906 unspecified failure)". I've scoured Google and Apple's support and forums for a description of that error with no luck.

I turned on remote logging on the airport, and it's definitely logging connection attempts, but not when my AR9285 fails. It does log when it eventually connects successfully. Suggests the failure is local on the machine without even connecting to the router. I've done all the standard Apple troubleshooting steps for airport issues. Next is turn up debugging and see what's going on, but I don't know how to get more logging. Apple has a USB kext with debugging output, but don't see the same for IO80211Family.

ps: Took a look at the 10.6.6 package before installing and it doesn't touch any networking components. Upgraded successfully to 10.6.6 and everything works (or doesn't) exactly as it did on 10.6.5.

This post has been edited by kidslow: Jan 8 2011, 12:58 AM
Asus 1008HA 10.6.7 NBI+Chameleon
LatinMcGyver75
post Sep 16 2011, 10:19 PM
Post #27
1: DeviceMergeNUB can do usb. (andy vand has a good example for multiple devices)

2: device-id unicode (*) means u have already 0x2A device id so it dosnt change to 2A since it is 2A = *

3: kidslow

"subsystem-id",
Buffer (0x04)
{
0x89, 0x10, 0x00, 0x00
},
"subsystem-vendor-id",
Buffer (0x04)
{
0x3B, 0x1A, 0x00, 0x00
}

whats the point of using same subvendor you already have.?

trick is to make it think it has APPLE id,s not HP

i had very random connects with AR5BXB92 model AW-NE772 but with AR5B91 liek AW-NE771 it works perfect (no RCU or any rom mod) WPA2 and N with subsys 8F subvendor = apple 106B
neo_fox33
post Nov 21 2011, 11:49 AM
Post #28
QUOTE (THe KiNG @ Aug 25 2010, 05:27 AM) *
Hi,

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:

Locate your card on what root port is and add this code:
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 ()
                            {
                                "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 eeprom tool chose the path and file name(do not use .bin or whatever, just a plain name like original) then save original eeprom:



Then download ComView for WiFi trial and install then launch, it will ask to install custom driver, do it then use attached tool (RCU.exe) 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!



If 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...

If Apple will redo the Atom CPU support and remove Codec check from HDA I will start to love them again... laugh.gif
Anyway thanks Apple for fixing the driver, was about to give up and buy a Broadcom, you saved me some bucks...

[attachment=2282:atheros_...tool.exe.zip]
[attachment=2283:RCU.exe.zip]

Enjoy and Share!


thx!
works perfect with Tl-wn781nd in Lion 10.7.2(11c74) original IO80211Family.kext.
greetings.-

neo_fox33
post Dec 12 2011, 01:45 PM
Post #29
hi, after uptade 11d24 the AirPortAtheros40.kext it doesen't works and gerer some problems with USB.
i solved with a rollback to 11d16 kext.

sorry for my bad english. biggrin.gif


kizwan
post May 23 2012, 09:26 AM
Post #30
QUOTE (THe KiNG @ Aug 25 2010, 04:27 PM) *
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 ()
                            {
                                "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)
                    }
                }

Thank you very much THe KiNG. This fixed AR9285 with 802.11n problem (tested in Lion 10.7.4). Look like the key to fixed 802.11n problem is AirPortAtheros40.kext which is loaded with the help of this patch & importantly without editing the original kext.
1) EFI (Chameleon 2.0-RC4) + Retail Mac OS X 10.6
** Acer Aspire 9420 (9424WSMi) Intel C2D T5600 @ 1.83GHz ** 2GB DDR2 ** NVIDIA GeForce Go 7300 128MB ** Dell Wireless 1395 (rebrand to AirPort Extreme) ** Intel HDA ALC883 - all devices working
2) EFI (munky's method & Chameleon 2.0-RC1) + Retail Mac OS X 10.5.6 + Vista Ultimate (3rd partition) (one GUID disk)
** Acer Aspire 3680 (3684NWXMI) Intel Celeron M 440 @ 1.87GHz ** 1GB DDR2 ** Intel GMA950 ** Linksys WPC54G v3.1 (Broadcom 4318) ** Intel HDA ALC883 - all devices working
3) Windows 7 Home Premium 64-bit
** Dell Studio 1557 - Intel Core i7 720QM ** 4GB DDR3 1333Mhz ** ATI HD4570 512MB ** Intel WiFi 5300 ** Seagate Momentus 5400.6 SATA 3Gb/s 320-GB Hard Drive 5400RPM ** WLED 1366x768 15.6" **

2 Pages V  < 1 2
Add Reply Start a new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members: