Contribute
Register

Rebranding the Atheros 928x cards - The guide

Status
Not open for further replies.
Hi!

And thanks for doing this guide! I just received an HP Atheros 9285 card (without bt) which is not allowed by my 4730s bios and i'm hoping to rebrand it to match the id's of the original whitelisted 9285 that has bt on it.
But it's the first step of the guide i don't understand. How can i check out the id's of this card in Windows when it's disabled by the bios and therefore not visible in Windows?

Thanks!

Rebranding must be done in a computer without a whitelist. Or by using the hacked Fanreset.dylib and Chameleon to boot Windows or Linux (the Fanreset.dylib undoes the disabling that the BIOS does).
 
Rebranding must be done in a computer without a whitelist. Or by using the hacked Fanreset.dylib and Chameleon to boot Windows or Linux (the Fanreset.dylib undoes the disabling that the BIOS does).

Ok, thanks for the info. Is there by any chance any more specific info/instructions for this procedure?

(I just now actually happened to get a friend's early 2009 macbook to reinstall, i haven't yet looked at whether i could use it to help get this done.)
 
Ok, thanks for the info. Is there by any chance any more specific info/instructions for this procedure?

(I just now actually happened to get a friend's early 2009 macbook to reinstall, i haven't yet looked at whether i could use it to help get this done.)

(I checked and seems the Macbook isn't any help, it doesn't seem to have a Pci-E slot.)

I have Win7 installed on another hard drive and a clover yosemite on the other. Would the easiest way to get the card enabled and to the rebranding phase in W7 be to create a chameleon usb installer for mountain lion (?) with the fanreset.dylib in the usb's Extra/modules -folder? Or what do you suggest?
 
(I checked and seems the Macbook isn't any help, it doesn't seem to have a Pci-E slot.)

I have Win7 installed on another hard drive and a clover yosemite on the other. Would the easiest way to get the card enabled and to the rebranding phase in W7 be to create a chameleon usb installer for mountain lion (?) with the fanreset.dylib in the usb's Extra/modules -folder? Or what do you suggest?

You need to use the hacked Fanreset.dylib and Chameleon. The Fanreset.dylib is in the original ProBook Installer.
 
You need to use the hacked Fanreset.dylib and Chameleon. The Fanreset.dylib is in the original ProBook Installer.

I have the hacked Fanreset.dylib, but i'm unfamiliar as to how can i use it and a chameleon usb drive to boot to windows with the wlan card enabled. I've been googling how to create a chameleon boot drive to boot to Windows while having the Fanreset.dylib in the /Extra/modules, but i haven't had any luck. The Chameleon boot disk i just did couldn't boot to Windows because of a missing mbr. I'd really appreciate if you could give me some advice how to get to the rebranding phase!
 
I have the hacked Fanreset.dylib, but i'm unfamiliar as to how can i use it and a chameleon usb drive to boot to windows with the wlan card enabled. I've been googling how to create a chameleon boot drive to boot to Windows while having the Fanreset.dylib in the /Extra/modules, but i haven't had any luck. The Chameleon boot disk i just did couldn't boot to Windows because of a missing mbr. I'd really appreciate if you could give me some advice how to get to the rebranding phase!

You should be able to boot Windows with Chameleon, provided Windows is installed legacy. Chameleon/Chimera cannot boot Windows UEFI.
 
You should be able to boot Windows with Chameleon, provided Windows is installed legacy. Chameleon/Chimera cannot boot Windows UEFI.

I got it working now! I mean the whole deal. Did the rebranding and everything works flawlessly now!
The missing mbr -error was because i had to select the System Reserved partition instead of the Windows 7 in the chameleon boot menu.

As a report for people with potentially similar problems, here's what i did to get this done:

I ended up using an older hdd with ML and Chameleon installed on it (unnecessary probably though - a usb chameleon boot drive with the fanreset.dylib in /Extra/modules should work afaik), booted ML up, put fanreset.dylib in Extra/modules and restarted. In the chameleon boot menu, i selected System Reserved (which is Windows 7's boot partition for my W7 installation on another hdd) and after Windows booted up, the wifi card installed and was visible device management. After this i could go on with the instructions. Had to find msvcr100d.dll file and copy it to the Debug-folder which has the atheros_eeprom_tool.exe in it to get the tool working. After that i found that with my card (Model: ATH-AR5B95 / Chipset: Atheros AR9285 / HP P/N: 518436-002 / Device ID's: PCI\VEN_168C&DEV_002B&SUBSYS_3040103C&REV_01) there was only one instance in the hex code i had to change and that was all that was needed.
After saving and writing the 512 back to the wifi card and restarting the laptop, i got a CMOS checksum error from BIOS, which it reset automatically and restarted the laptop again. After this everything was working great.

So now i have a perfectly (for now :) ) working Yosemite installation, without any bt firmware causing usb disconnection problems after sleep!

Thanks a lot for this guide and help!
 
demonknight9 said:
I'm still wondering why mine didn't work. I will have to rebrand a 9280 next time. I rebranded the 9285 and it does not pass the whitelist on my lenovo. It shows as and Intel card in windows and I verified all the ID's twice and they are exactly the same as the genuine Intel card. Do you want to sell one of you cards?
While I could sell you one of my cards you'd still have to rebrand it again as mine is branded as the Intel 7260 AC card which is likely not in your whitelist so you'd still have to re-do the work.
If it helps here is the card I bought http://www.amazon.com/gp/product/B00JESLUWQ ... it says not compatible with Lenovo and HP but that is just due to the SubVendor/Device IDs that we are changing from this guide.


While this post is partially off topic I think it is useful for anyone that might need to add a DSDT patch / node as part of their rebranding...

DPCIManager does not give the "built-in" check mark for the card.
Somewhat expected (due to no ACPI node and PCI bridge situation). Not important if you have built-in Ethernet.
I was able to properly add a node for the AirPort card into my DSDT and now DPCIManager shows builtin for the wifi card.
This fixed iMessage functionality... as I'm now able to sign in to iMessage properly and am able to send/receive messages. This may indicate that you have to have built in wifi on devices that are considered portable for iMessage to work even if your ethernet is built in. Maybe a 'NullWiFi' kext would be an appropriate creation to resolve iMessage issues.

So now I'm using the original "FakePCIID_AR9280_as_AR946x.kext" that you created rather than my intel modified one. The only place the system mentions the intel card IDs is now via lspci.

I still see this error each boot:
Code:
Feb 15 19:30:11 localhost kernel[0]: ARPT cannot assert wake from D3cold
Do you know what this means exactly?
I've been trying to read and understand the APCI spec and I think this just means that I can't do Wake-On-LAN via this card but it would be nice to have some confirmation.

One thing I am concerned with regarding the DSDT change is that any time I re-open the AML file in MaciASL the device-id decode shows like this:
Code:
  "device-id", 
  Unicode ("*"),
I'm unsure as to why this stops showing the way it was originally written:
Code:
  "device-id", 
Buffer (0x04)
{
     0x2A, 0x00, 0x00, 0x00
},
Here is the DSDT change made (included the entire EXP2 device tree) I added the ARPT device:
Code:
            Device (EXP2)
            {
                Name (_ADR, 0x001C0001)
                Name (RID, Zero)
                OperationRegion (PECS, PCI_Config, Zero, 0x0100)
                Field (PECS, DWordAcc, NoLock, Preserve)
                {
                            Offset (0x62), 
                    PS,     1, 
                    PP,     1, 
                            Offset (0xDB), 
                        ,   7, 
                    PMCE,   1, 
                            Offset (0xDF), 
                        ,   7, 
                    PMCS,   1
                }

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

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

                                "model", 
                                Buffer (0x33)
                                {
                                    "Atheros 928x 802.11 b/g/n Wireless Network Adapter"
                                }, 

                                "name", 
                                "pci168c,2a", 
                                "compatible", 
                                "pci168c,2a", 
                                "IOName", 
                                "pci168c,2a", 
                                "vendor-id", 
                                Buffer (0x04)
                                {
                                    0x8C, 0x16, 0x00, 0x00
                                }, 
                                
                                "device-id", 
                                Buffer (0x04)
                                {
                                     0x2A, 0x00, 0x00, 0x00
                                }, 
                                
                                "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)
                {
                    0x69, 
                    0x04
                })
                Name (LPRT, Package (0x04)
                {
                    Package (0x04)
                    {
                        0xFFFF, 
                        Zero, 
                        LNKB, 
                        Zero
                    }, 

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

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

                    Package (0x04)
                    {
                        0xFFFF, 
                        0x03, 
                        LNKA, 
                        Zero
                    }
                })
                Name (APRT, Package (0x04)
                {
                    Package (0x04)
                    {
                        0xFFFF, 
                        Zero, 
                        Zero, 
                        0x11
                    }, 

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

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

                    Package (0x04)
                    {
                        0xFFFF, 
                        0x03, 
                        Zero, 
                        0x10
                    }
                })
                Method (_PRT, 0, NotSerialized)
                {
                    If (GPIC)
                    {
                        Return (APRT)
                    }
                    Else
                    {
                        Return (LPRT)
                    }
                }

                Name (OPTS, Zero)
                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
            }

Sadly this still doesn't fix the lack of WiFi functionality due to whatever hardware issue that is present ... I should have a new adapter card tomorrow and hope that will take care of this.

Rehabman - even further Off-topic (as you have Lenovo laptops you may know what these are):
There is also a BIOS/UEFI update available too, there appears to be some security fixes added and these:
- (New) Added support for the audio AGC function.
- (New) Added support for new Video RAM.
Would you have any idea what those could be?
 

Attachments

  • Screen Shot 2015-02-16 at 12.53.37 PM.jpg
    Screen Shot 2015-02-16 at 12.53.37 PM.jpg
    51.2 KB · Views: 160
  • Screen Shot 2015-02-16 at 12.49.28 PM.jpg
    Screen Shot 2015-02-16 at 12.49.28 PM.jpg
    123.2 KB · Views: 138
  • Screen Shot 2015-02-16 at 12.48.53 PM.jpg
    Screen Shot 2015-02-16 at 12.48.53 PM.jpg
    60.3 KB · Views: 128
  • Erik’s MacBook Air.ioreg
    1.5 MB · Views: 98
...
One thing I am concerned with regarding the DSDT change is that any time I re-open the AML file in MaciASL the device-id decode shows like this:
Code:
  "device-id", 
  Unicode ("*"),
I'm unsure as to why this stops showing the way it was originally written:
Code:
  "device-id", 
Buffer (0x04)
{
     0x2A, 0x00, 0x00, 0x00
},

It is normal. 0x002a is Unicode '*'.
 
Status
Not open for further replies.
Back
Top