Contribute
Register

Rebranding the Atheros 928x cards - The guide

Status
Not open for further replies.
I've tried this tool last night on my working AR9280, made a dump with it and compared with the full dump from the Atheros EEPROM tool. Yes, the second one looks incomplete, but most of it is present in the first.



Hm, it should not be like this... The ath9300 should be chosen by the kernel in case of IDs like yours. How many IDs did you change initially (you know that these IDs can appear in more that one place in the 512b dump, right)?



Yeah, I saw that part. This is an easy one.

Maybe it's time to ask the author of this code, I saw there is an e-mail inside the source files.

Edit: may I ask you to send me the dump of your card, made with iwleeprom (the current one)?

Edit2: I almost forgot, may I see the terminal log too? Do you get any error messages, when you try to write the EEPROM?

For my card in 512byte dump ID's appears only 1 time, I changed only once in 512byte dump... But in full dump ID's are in two places and they both are changed automagically... I tried both options - changed IDs only in 512byte dump writed - nothing, then I changed ID's on full dump in both places - nothing.... As you can see in dump - I have totally screwed Subdev IDs - they are non-existing, and Device ID is for AR9462.... I have attached my original 512byte dump and current one full dump here:
View attachment ar9285.zip

In log there is no errors as you can see:
Code:
rw@ubuntu:~/Desktop/evil$ sudo ./iwleeprom -i orig*[sudo] password for rw: 
Supported devices detected: 
  [1] 0000:07:00.0 [RW] AR9285 Wireless Adapter (PCI-E) (168c:0034, 6621:11ad)
Select device [1-1] (or 0 to quit): 1
Using device 0000:07:00.0 [RW] AR9285 Wireless Adapter (PCI-E) 
IO driver: ath9k
HW: AR9285 (PCI-E) rev 0002
RF: integrated
ath9k short eeprom base: 128  size: 376
About to write device EEPROM, press 'Y' if you are sure... Y
Writing data to EEPROM...
  '.' = match, 'x' = write
Dump file byte order: LITTLE ENDIAN
0000 [.....x....xx....................................................]
0080 [.x..x...........................................................]
0100 [................................................................]
0180 [................................................................]


EEPROM has been written from 'original_AR9285_eeprom_dump.rom'
rw@ubuntu:~/Desktop/evil$

Edit:
I found this in atheros_eeprom_tool.cpp before 512byte reading/writing part:
Code:
if (bNoCard || phyAddr == 0)	{
		bNoCard = false;
		phyAddr = 0xFBFF0000;
	}

I think that phyAddr needs to be 0xC2400000 to read all dump... Could it be like that or I am wrong?
 
For my card in 512byte dump ID's appears only 1 time, I changed only once in 512byte dump... But in full dump ID's are in two places and they both are changed automagically... I tried both options - changed IDs only in 512byte dump writed - nothing, then I changed ID's on full dump in both places - nothing.... As you can see in dump - I have totally screwed Subdev IDs - they are non-existing, and Device ID is for AR9462.... I have attached my original 512byte dump and current one full dump here:
View attachment 84148

In log there is no errors as you can see:
Code:
rw@ubuntu:~/Desktop/evil$ sudo ./iwleeprom -i orig*[sudo] password for rw: 
Supported devices detected: 
  [1] 0000:07:00.0 [RW] AR9285 Wireless Adapter (PCI-E) (168c:0034, 6621:11ad)
Select device [1-1] (or 0 to quit): 1
Using device 0000:07:00.0 [RW] AR9285 Wireless Adapter (PCI-E) 
IO driver: ath9k
HW: AR9285 (PCI-E) rev 0002
RF: integrated
ath9k short eeprom base: 128  size: 376
About to write device EEPROM, press 'Y' if you are sure... Y
Writing data to EEPROM...
  '.' = match, 'x' = write
Dump file byte order: LITTLE ENDIAN
0000 [.....x....xx....................................................]
0080 [.x..x...........................................................]
0100 [................................................................]
0180 [................................................................]


EEPROM has been written from 'original_AR9285_eeprom_dump.rom'
rw@ubuntu:~/Desktop/evil$

Edit:
I found this in atheros_eeprom_tool.cpp before 512byte reading/writing part:
Code:
if (bNoCard || phyAddr == 0)    {
        bNoCard = false;
        phyAddr = 0xFBFF0000;
    }

I think that phyAddr needs to be 0xC2400000 to read all dump... Could it be like that or I am wrong?

I've compared the two dumps:

HzcaTyh.png

The differences are marked in red (not so red, but what the heck). As you can see, there are two more bytes, except the IDs, that are different. The rest is one and the same. Maybe if you change and write them as well...
 
I've compared the two dumps:

View attachment 84160

The differences are marked in red (not so red, but what the heck). As you can see, there are two more bytes, except the IDs, that are different. The rest is one and the same. Maybe if you change restore them as well...

Ok, I will try to fix that too....
 
Fixed that part... IDs still not written:
View attachment wef.zip

Edit:
I have patched "iwleeprom" tool to write all 512bytes, my card works!! Will add solution soon! :clap:
Edit1:
In ath9kio.c you need to change this:
Code:
    if (dev->ops->eeprom_read16(dev, 128, &data) && (376 == data)) {        short_eeprom_base = 128;
        short_eeprom_size = 376;
        goto ssize_ok;
    }

to this:
Code:
    if (dev->ops->eeprom_read16(dev, 128, &data) && (376 == data)) {        short_eeprom_base = 0;
        short_eeprom_size = 512;
        goto ssize_ok;
    }

And voila my IDs are back to original!! :clap: :headbang: :evil:

Edit2:

philip_petev, we can fix your card too!! :beachball:

Final product AR9285:

Code:
  Interfaces:[B]en3:[/B]
  Card Type:    AirPort Extreme  (0x168C, 0x8F)
  Firmware Version:    Atheros 9280: 4.0.74.0-P2P
  MAC Address:    **:**:**:**:**:**
  Locale:    FCC
  Country Code:    
  Supported PHY Modes:    802.11 a/b/g/n
  Supported Channels:    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
  Wake On Wireless:    Supported
  Status:    Connected
Code:
lspci -v
07:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01)
    Subsystem: Apple Inc. Device
 
Hi, I have an Atheros QCA9565 card and every time i open the tool it says "DeviceIoControl error - Details: An internal error occurred." - This is my Acer E1-572P

But I also have an atheros card in my Samsung Q1 tablet, also throwing up the same error, driver enforcement has been disabled etc... Any ideas?
 
Hi, I have an Atheros QCA9565 card and every time i open the tool it says "DeviceIoControl error - Details: An internal error occurred." - This is my Acer E1-572P

But I also have an atheros card in my Samsung Q1 tablet, also throwing up the same error, driver enforcement has been disabled etc... Any ideas?

I got they same error "DeviceIoControl error - Details: An internal error occurred." with windows 7 64bits sp1 as well.
 
Fixed that part... IDs still not written:
View attachment 84163

Edit:
I have patched "iwleeprom" tool to write all 512bytes, my card works!! Will add solution soon! :clap:
Edit1:
In ath9kio.c you need to change this:
Code:
    if (dev->ops->eeprom_read16(dev, 128, &data) && (376 == data)) {        short_eeprom_base = 128;
        short_eeprom_size = 376;
        goto ssize_ok;
    }

to this:
Code:
    if (dev->ops->eeprom_read16(dev, 128, &data) && (376 == data)) {        short_eeprom_base = 0;
        short_eeprom_size = 512;
        goto ssize_ok;
    }

And voila my IDs are back to original!! :clap: :headbang: :evil:

Edit2:

philip_petev, we can fix your card too!! :beachball:

Final product AR9285:

Code:
  Interfaces:[B]en3:[/B]
  Card Type:    AirPort Extreme  (0x168C, 0x8F)
  Firmware Version:    Atheros 9280: 4.0.74.0-P2P
  MAC Address:    **:**:**:**:**:**
  Locale:    FCC
  Country Code:    
  Supported PHY Modes:    802.11 a/b/g/n
  Supported Channels:    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
  Wake On Wireless:    Supported
  Status:    Connected
Code:
lspci -v
07:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01)
    Subsystem: Apple Inc. Device

I made the dumped with iwleeprom, but I couldn't write the modify rom on it. "BAD checksum!" ERROR
 
Hi, sorry i'm a bit confused. I just got an AzureWave AR5BHB92 card and want to rebrand it in my 4530s. I currently have an Atheros 9285 all working fine. I have read the guide a couple of times, but just need to check a couple of things:

In stage 1, do you start with the old working card in the laptop or the new card?
At what stage do you plug the new card into the laptop, as when I do plug the card in and switch the laptop on the first thing that happens is that it states that the card is unsupported and will be disabled.

Kind regards.
 
Hi, sorry i'm a bit confused. I just got an AzureWave AR5BHB92 card and want to rebrand it in my 4530s. I currently have an Atheros 9285 all working fine. I have read the guide a couple of times, but just need to check a couple of things:

In stage 1, do you start with the old working card in the laptop or the new card?
At what stage do you plug the new card into the laptop, as when I do plug the card in and switch the laptop on the first thing that happens is that it states that the card is unsupported and will be disabled.

Kind regards.

Note bold faced section at the very beginning of post #1 under needs:

You'll need the following:
- Windows XP or later (Windows 7 recommended) - obviously, the tools, used in this guide, works only on Windows XP or later, so you'll need another computer, running Windows XP or later **or** you can use your ProBook with installed Windows XP or later and the modified FanReset.dylib file by RehabMan (required for cards, not present in the whitelist, like AR9280).

You need to be using the hacked Fanreset.dylib do defeat the whitelisting... Just for the rebrand, then you can go back to normal Fanreset.dylib.
 
Note bold faced section at the very beginning of post #1 under needs:



You need to be using the hacked Fanreset.dylib do defeat the whitelisting... Just for the rebrand, then you can go back to normal Fanreset.dylib.
Ahhh, I see, where can I get this hacked Fanreset.dylib please?

Cheers.
 
Status
Not open for further replies.
Back
Top