Jump to content

Atheros 9285


oldnapalm
 Share

53 posts in this topic

Recommended Posts

My Atheros 9285 (ID 0x2b) used to work only with a DSDT patch until 10.8.4, but stopped working in 10.9 DP, I had to edit the Info.plist of AirPortAtheros40 or use an injector kext.

 

I was able to fix it using only DSDT patch again by injecting the properties name, IOName and compatible (I'm not sure all 3 are necessary, will test later)

Method (_DSM, 4, NotSerialized)
{
    Store (Package (0x12)
        {
            "AAPL,slot-name", 
            Buffer (0x08)
            {
                "AirPort"
            }, 
            "device-id", 
            Unicode ("*"), 
            "device_type", 
            Buffer (0x08)
            {
                "AirPort"
            }, 
            "model", 
            Buffer (0x33)
            {
                "Atheros 9285 802.11 b/g/n Wireless Network Adapter"
            }, 
            "subsystem-id", 
            Buffer (0x04)
            {
                 0x8F, 0x00, 0x00, 0x00
            }, 
            "subsystem-vendor-id", 
            Buffer (0x04)
            {
                 0x6B, 0x10, 0x00, 0x00
            }, 
            "compatible", 
            Buffer (0x0B)
            {
                "pci168c,2a"
            }, 
            "IOName", 
            Buffer (0x0B)
            {
                "pci168c,2a"
            }, 
            "name", 
            Buffer (0x0B)
            {
                "pci168c,2a"
            }
        }, Local0)
    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
    Return (Local0)
}

Thanks to nyolc8 for the tip in this topic

 

http://www.insanelymac.com/forum/topic/289791-fixed-by-dsdt-edit-10c-temps-500rpm-fans/?do=findComment&comment=1923734

 

  • Like 14
Link to comment
Share on other sites

Hi, oldnapalm. Since the first time when I noticed the dsdt method for 9285, I had been curious about the following part.

"device-id",

Unicode ("*"),

 

If my memory serves me correctly, I manually put the value like "0x2a, 0x00, 0x8c, 0x16" (the id for 9280) inside device-id. But after I compile and save it, reopen dsdt and find that it changed to the "Unicode ("*"),"

This is what puzzles me most. Would you mind explaining a little to me about this? Thanks. :D

Link to comment
Share on other sites

Hi,

 

unicode char * corresponds to 2A.

oops, that's so shocking to me. :) Is this the only special situation? Like if there is special code for 1A etc?  Thanks :D

Link to comment
Share on other sites

I don't know why device-id was injected in unicode in this case, it was in the original patch.

 

The only change I made was adding name, IOName and compatible like you did in LPC patch.

 

Edit: it's a compiler optimization, if you compile and decompile this, it turns into Unicode ("*")

            "device-id",

            Buffer (0x04)

            {
                 0x2A, 0x00, 0x00, 0x00
            }, 
 

 

Link to comment
Share on other sites

So we can add any ID in DSDT in unicode format? What is the purpose of this?

Less characters in DSDT -> smaller DSDT file? Or is there any other reason?

Same questions :D Really curious about this.

 

I don't know why device-id was injected in unicode in this case, it was in the original patch.

 

The only change I made was adding name, IOName and compatible like you did in LPC patch.

 

Edit: it's a compiler optimization, if you compile and decompile this, it turns into Unicode ("*")

            "device-id",

            Buffer (0x04)

            {

                 0x2A, 0x00, 0x00, 0x00

            }, 

 

 

Yep, this is the case I've said. I put the exact id not the Unicode("*") below "device-id" and compiled it. Then it just became Unicode("*")

BTW, oldnapalm would you mind upload your IOREG so that I can learn more about the new stuff in Mavs? I am a notebook user so not capable of running multi-disks testing a lot of OSs :(

Link to comment
Share on other sites

My Atheros 9285 (ID 0x2b) used to work only with a DSDT patch until 10.8.4, but stopped working in 10.9 DP, I had to edit the Info.plist of AirPortAtheros40 or use an injector kext.

 

I was able to fix it using only DSDT patch again by injecting the properties name, IOName and compatible (I'm not sure all 3 are necessary, will test later)

Method (_DSM, 4, NotSerialized)
{
    Store (Package (0x12)
        {
            "AAPL,slot-name", 
            Buffer (0x08)
            {
                "AirPort"
            }, 
            "device-id", 
            Unicode ("*"), 
            "device_type", 
            Buffer (0x08)
            {
                "AirPort"
            }, 
            "model", 
            Buffer (0x33)
            {
                "Atheros 9285 802.11 b/g/n Wireless Network Adapter"
            }, 
            "subsystem-id", 
            Buffer (0x04)
            {
                 0x8F, 0x00, 0x00, 0x00
            }, 
            "subsystem-vendor-id", 
            Buffer (0x04)
            {
                 0x6B, 0x10, 0x00, 0x00
            }, 
            "compatible", 
            Buffer (0x0B)
            {
                "pci168c,2a"
            }, 
            "IOName", 
            Buffer (0x0B)
            {
                "pci168c,2a"
            }, 
            "name", 
            Buffer (0x0B)
            {
                "pci168c,2a"
            }
        }, Local0)
    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
    Return (Local0)
}

Thanks to nyolc8 for the tip in this topic

 

http://www.insanelymac.com/forum/topic/289791-fixed-by-dsdt-edit-10c-temps-500rpm-fans/?do=findComment&comment=1923734

Thank you! Now  my wifi works again in mavericks!  :)

Link to comment
Share on other sites

By the way. I edidted this section for me so

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

                                "device-id", 
                                Unicode ("*"), 
                                "device_type", 
                                Buffer (0x08)
                                {
                                    "AirPort"
                                }, 

                                "model", 
                                Buffer (0x33)
                                {
                                    "Atheros AR5B95 Wireless Network Adapter"
                                }, 

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

                                "subsystem-vendor-id", 
                                Buffer (0x04)
                                {
                                    0x5B, 0x10, 0x00, 0x00
                                }, 

                                "compatible", 
                                Buffer (0x0B)
                                {
                                    "pci168c,2a"
                                }, 

                                "IOName", 
                                Buffer (0x0B)
                                {
                                    "pci168c,2a"
                                }, 

                                "name", 
                                Buffer (0x0B)
                                {
                                    "pci168c,2a"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }

                    Name (_PRW, Package (0x02)
                    {
                        0x09, 
                        0x04
                    })
                }

It means sometimes you should change some of the parameters as well. Such as subsystem-vendor-id and others.

dsdt.aml.zip

Link to comment
Share on other sites

Same questions :D Really curious about this.

Yep, this is the case I've said. I put the exact id not the Unicode("*") below "device-id" and compiled it. Then it just became Unicode("*")

BTW, oldnapalm would you mind upload your IOREG so that I can learn more about the new stuff in Mavs? I am a notebook user so not capable of running multi-disks testing a lot of OSs :(

Hey p.H. It is about unicode. When you open ioreg with IORegistryExplorer, sometimes you can only find unicode there like this "*". And you need to covert it into the hex form when editing dsdt. The information is provided in wikipedia "Unicode" entry. I explain this in one of my pcbeta threads about modifiying the AppleHDA.kext for 10.8GM.

Link to comment
Share on other sites

  • 2 weeks later...

Hi Guys, I've tried both of these patches but I cannot get it working. I'm inserting where I have my current patch for ML which is In the right side (code window), below 'Device (RP02)' find the first 'Device (PXPX)' and 

place the cursor before 'Device (PXPX) then paste here. 

 

I tried the first post but I couldn't compile, I then tried Alex Auditore's patch, which did compile but still no WiFi in Mavericks. Can I attach my DSDT's (original patch for ML and new attempted patch for Mavericks) and come someone maybe compile it for me as I'm having no luck? :( 

 

Thanks

 

Original Edit: 

Device (ARPT)
{
    Name (_ADR, Zero)
    Method (_DSM, 4, NotSerialized)
    {
        Store (Package (0x0C)
            {
                "AAPL,slot-name",
                Buffer (0x08)
                {
                    "AirPort"
                },
                "device-id",
                Unicode ("*"),
                "device_type",
                Buffer (0x08)
                {
                    "AirPort"
                },
                "model",
                Buffer (0x34)
                {
                    "Atheros 9285 8802.11 b/g/n Wireless Network Adapter"
                },
                "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)
    }
}

DSDT.zip

Link to comment
Share on other sites

 

Hi Guys, I've tried both of these patches but I cannot get it working. I'm inserting where I have my current patch for ML which is In the right side (code window), below 'Device (RP02)' find the first 'Device (PXPX)' and 

place the cursor before 'Device (PXPX) then paste here. 

 

I tried the first post but I couldn't compile, I then tried Alex Auditore's patch, which did compile but still no WiFi in Mavericks. Can I attach my DSDT's (original patch for ML and new attempted patch for Mavericks) and come someone maybe compile it for me as I'm having no luck? :( 

 

Thanks

 

Original Edit: 

Device (ARPT)
{
    Name (_ADR, Zero)
    Method (_DSM, 4, NotSerialized)
    {
        Store (Package (0x0C)
            {
                "AAPL,slot-name",
                Buffer (0x08)
                {
                    "AirPort"
                },
                "device-id",
                Unicode ("*"),
                "device_type",
                Buffer (0x08)
                {
                    "AirPort"
                },
                "model",
                Buffer (0x34)
                {
                    "Atheros 9285 8802.11 b/g/n Wireless Network Adapter"
                },
                "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)
    }
}

Try this.

http://d.pr/f/Z8fN

Link to comment
Share on other sites

Try this.

http://d.pr/f/Z8fN

Hey thanks, but I cannot boot with this DSDT. I get Kernel Panic on ML and on Mavericks. I noticed that my old DSDT was 38KB, and your one you just posted is 343KB, quite a difference. I also cannot open your one with DSDT Editor or MaciASL. 

 

MaciASL shows this when trying to open it:

post-1037813-0-26274400-1372931009_thumb.png

Link to comment
Share on other sites

Hey thanks, but I cannot boot with this DSDT. I get Kernel Panic on ML and on Mavericks. I noticed that my old DSDT was 38KB, and your one you just posted is 343KB, quite a difference. I also cannot open your one with DSDT Editor or MaciASL. 

 

MaciASL shows this when trying to open it:

attachicon.gifScreen Shot 2013-07-04 at 10.42.25.png

I'm sorry. I will re-check it.

Once again, I'm terribly sorry for what I've done. :(   This should just work!

http://d.pr/f/UqzM

Link to comment
Share on other sites

I'm sorry. I will re-check it.

Once again, I'm terribly sorry for what I've done. :(   This should just work!

http://d.pr/f/UqzM

Thanks, I can now boot with this DSDT and it works in Mountain Lion, but with Mavericks it still doesn't recognise wifi. Do I need to install any kexts?

Link to comment
Share on other sites

 

Hi Guys, I've tried both of these patches but I cannot get it working. I'm inserting where I have my current patch for ML which is In the right side (code window), below 'Device (RP02)' find the first 'Device (PXPX)' and 

place the cursor before 'Device (PXPX) then paste here. 

 

I tried the first post but I couldn't compile, I then tried Alex Auditore's patch, which did compile but still no WiFi in Mavericks. Can I attach my DSDT's (original patch for ML and new attempted patch for Mavericks) and come someone maybe compile it for me as I'm having no luck? :( 

 

Thanks

 

Original Edit: 

Device (ARPT)
{
    Name (_ADR, Zero)
    Method (_DSM, 4, NotSerialized)
    {
        Store (Package (0x0C)
            {
                "AAPL,slot-name",
                Buffer (0x08)
                {
                    "AirPort"
                },
                "device-id",
                Unicode ("*"),
                "device_type",
                Buffer (0x08)
                {
                    "AirPort"
                },
                "model",
                Buffer (0x34)
                {
                    "Atheros 9285 8802.11 b/g/n Wireless Network Adapter"
                },
                "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)
    }
}

hello

 

i don't see nothing wrong with u edit unless

 

u dev id is 2a ?

 

or

 

is the right place to insert the patch, have u check with ioreg ?

 

good hack

Link to comment
Share on other sites

 

Hi Guys, I've tried both of these patches but I cannot get it working. I'm inserting where I have my current patch for ML which is In the right side (code window), below 'Device (RP02)' find the first 'Device (PXPX)' and 

place the cursor before 'Device (PXPX) then paste here. 

 

I tried the first post but I couldn't compile, I then tried Alex Auditore's patch, which did compile but still no WiFi in Mavericks. Can I attach my DSDT's (original patch for ML and new attempted patch for Mavericks) and come someone maybe compile it for me as I'm having no luck? :( 

 

Thanks

 

Original Edit: 

Device (ARPT)
{
    Name (_ADR, Zero)
    Method (_DSM, 4, NotSerialized)
    {
        Store (Package (0x0C)
            {
                "AAPL,slot-name",
                Buffer (0x08)
                {
                    "AirPort"
                },
                "device-id",
                Unicode ("*"),
                "device_type",
                Buffer (0x08)
                {
                    "AirPort"
                },
                "model",
                Buffer (0x34)
                {
                    "Atheros 9285 8802.11 b/g/n Wireless Network Adapter"
                },
                "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)
    }
}

hello

 

i don't see nothing wrong with u edit unless

 

u dev id is 2a ?

 

or

 

is the right place to insert the patch, have u check with ioreg ?

 

good hack

 

I think its in the right place. I am no good with DSDT edits, it was said by someone else. 

 

Here is my ioreg, I think its 2a? 

 

EDIT: Removed IOReg

Link to comment
Share on other sites

Thanks, I can now boot with this DSDT and it works in Mountain Lion, but with Mavericks it still doesn't recognise wifi. Do I need to install any kexts?

Upload your IOReg with Mountain Lion.

I think its in the right place. I am no good with DSDT edits, it was said by someone else. 

 

Here is my ioreg, I think its 2a? 

 

attachicon.gifThomas' MacBook Pro.zip

My god. The insertion point is just right. (RP02)

I am also curious about this problem now as the edits should just be fine. :(

Link to comment
Share on other sites

I spoke to someone with a Acer 5750G too, and they said they installed Mountain Lion kexts into Mavericks. But I want to have a vanilla system as much as I can :/ 

 

EDIT: Sorry that ioreg was from Mountain Lion. Shall I upload a Mavericks one?

EDIT2: Mavericks ioreg attached

EDIT3: Removed IOReg

Link to comment
Share on other sites

 Share

×
×
  • Create New...