Overclock.net banner

Activation of cores in Hawaii, Tonga and Fiji (unlockability tester ver 1.6 and atomtool)

482K views 1K replies 373 participants last post by  cwj14787295257 
#1 ·
CUINFO v1.6
compute unit configuration reader


DISCLAIMER
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
IN NO EVENT SHALL AUTHOR, OR ANY PERSON BE LIABLE FOR ANY LOSS,
EXPENSE OR DAMAGE, OF ANY TYPE OR NATURE ARISING OUT OF THE USE
OF, OR INABILITY TO USE THIS SOFTWARE OR PROGRAM, INCLUDING,
BUT NOT LIMITED TO, CLAIMS, SUITS OR CAUSES OF ACTION INVOLVING
ALLEGED INFRINGEMENT OF COPYRIGHTS, PATENTS, OR TRADE SECRETS.

This tool can be used to read information about active and disabled CU units in Hawaii, Tonga and Fiji.
Tool is based on public sources with some amount of guess-work. Any data interpretations are not official.

Tested on all supported chips.

It's still interesting to get output from cuinfo tool from ANY Tonga and Fiji / Fury chips.

There are a well-known tool named Memory Info uploaded by some kind guys:
www.mediafire.com/download/voj4j1rlk0ucfz4/MemoryInfo+1005.rar
Download it and copy to some folder.

CUinfo v1.4: outdated
http://rghost.ru/8NFVcPHWL
mirror:
https://cloud.mail.ru/public/7hb6/MkyHA1HHC
42666a5a1aaebe82b6adc0911b0615cb4a7868cf cuinfo14.exe
70e35e464255d8efbf00a6e3afff013b9acef286 cuinfo.txt

CUinfo v1.5: outdated
http://rghost.ru/6t4gSmdJ4
mirror
https://cloud.mail.ru/public/K95E/yFnvkHV9v
ec072c523ec409839ddf0ac5ec1529939e1c106b cuinfo15.exe
e79ae7c7f0296099ec7089f5752d5ebf4f532f9c cuinfo.txt

CUinfo v1.6:
http://rghost.ru/8h5YBhcwn
mirror
https://cloud.mail.ru/public/5ASZ/pgP3gTqxJ

Download it and unzip into Memory info's folder. This tool uses DLLs from Memory info package for direct access to HW. Elevated privileges required because of that. This tool is not a virus and is not malicious in any kind. Tools may crash just like Memory info do if you don't have compatible graphics card, run it at limited user account and so on. Windows 8 compatibility is limited to ULPS-disabled configurations.

Make sure no single 3D application is running while trying this tool!.

If you've got the files from untrusted source, please check exe's SHA1 hash to make sure it wasn't altered:

959debcbc7cf32966eb390d20c8c4ab35543d84b cuinfo_ver16.zip
6ae88492b2f81f5e20afd3d9776b2479b39b6ab1 cuinfo16.exe
fb2c10418849c39bc4d38e0c3845c9be19197ecb cuinfo.txt

Please run this tool, copy it's output to clipboard and post it here together with basic info about your card's model.
If you're running big CF setup, all information could not fit the window, so please don't make screenshots. Just select, copy and paste text info from the tool's window.
Data readout may not work in CF configuration with ULPS enabled. If you're getting "DevID [0000]" on some adapter, consider all following data from this adapter to be incorrect. Turn off ULPS to read data correctly.

Explanation of data read by cuinfo:

Code:

Code:
Adapters detected: 1
Card #1 PCI ID: 1002:67B0 - 1043:0466 00
DevID [67B0] Rev [00] (0), memory config: 0x500036A9 Hynix
Hawaii-class chip with 11 compute units per Shader Engine
SE1 hw/sw: F8000005 / 00000000 [...........]
SE2 hw/sw: F8000005 / 00000000 [...........]
SE3 hw/sw: F8000005 / 00000000 [...........]
SE4 hw/sw: F8000005 / 00000000 [...........]
44 of 44 CUs are active. HW locks: 0 / SW locks: 0.
All CUs in this chip are already active.
SEn corresponds to Shader Engine n (one of 4 SE's in total).
hw/sw digits are raw readouts of hardware and software CU configuration.
dotted map like [...........] represent status of each CU in SE, from maximum number of the left to 1 on the right. Dot stands for an active core, 'x' for HW-locked and 'o' for SW-locked. You may also encounter 'X' if both locks are engaged (unlikely).
Different dot patterns may indicate real ASIC screening information (positions of faulty or disabled cores in each SE).

What's new:
v1.6:
* minor bugfix in R/W and R/O reports.
v1.5:
+ Added DevID + RevID readout;
* improved HW locks interpretation based on first Fiji PRO readouts.

FAQ:
1. How to understand is my card unlockable or no?
Current version of cuinfo tries to speak human language. Last strings for each adapter describe possible unlockability or inform about a fully enabled chip.

2. How do I unlock?
This tool only provides information about core configuration. Please read BIOS reflashing threads about actual unlocking techniques.

3. Is this info official or reliable?
NO. Readings are based on open source driver and are partially guessed.

4. How did you found out how to read out this information?
I'v examined core configuration process in GPL sources of latest mainline Linux kernel (4.2-rc). It's legal to explore and learn open source software. However, no GPL code from OS driver is used in this tool.

5. I need sources.
Tool's sources are now proprietary. Source code may be released as open source later.

6. What "override is possible at your own risk" means in human language?
For some reason HW locks were left in writable state so they can be overwritten with arbitrary value. However, at least some of HW locks represent real binning information about failed blocks. Activation of these failed blocks may lead to unpredictable effects.

Thanks for reading!
 
See less See more
#2 ·
atomtool
Simple ATOMBIOS table manipulation tool


DISCLAIMER
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
IN NO EVENT SHALL AUTHOR, OR ANY PERSON BE LIABLE FOR ANY LOSS,
EXPENSE OR DAMAGE, OF ANY TYPE OR NATURE ARISING OUT OF THE USE
OF, OR INABILITY TO USE THIS SOFTWARE OR PROGRAM, INCLUDING,
BUT NOT LIMITED TO, CLAIMS, SUITS OR CAUSES OF ACTION INVOLVING
ALLEGED INFRINGEMENT OF COPYRIGHTS, PATENTS, OR TRADE SECRETS.

How to (try to) unlock cores on unlockable Fiji chip.
Currently applies ONLY to Fury Air cards with Fiji PRO chips.
Fury X owners won't find here anything useful.

WARINING. THIS IS A HIGH RISK PRACTICE. YOU'RE ACTING AT YOUR OWN RISK ONLY.
You can irreversibly damage your card or end up with unstable or non-booting system.

(I'll add some theory of operation later).

How to try core unlocking:
1. Gather all the needed tools:

- cuinfo v1.5 or later.
You already know where to get it.

- atiflash with Fiji support.
That's a little tricky for today. I wasn't able to find DOS version, but atiflash for Windows v2.70 works pretty fine.

Go to ASUS website and grab GPU Tweak II or R9 FURY BIOS update toolkit. Install GPU Tweak II or unpack R9 FURY BIOS update toolkit to a new folder. You'll find Fiji-compatible atiflash inside any of these packages.
Both command line and GUI variants of atiflash are supplied by ASUS.
You'll need these files from GPU Tweak II or R9 FURY BIOS update: atidgllk.sys AtiFlash.exe atikia64.sys atillk64.sys ULPSCtrl.dll.
WARNING: Don't use GUI variant, AtiWinflash.exe because it broken. AtiWinflash works incorrectly with 256KB roms! Use atiflash.exe ONLY.

Contrary to common misconception, Windows version of atiflash is stable and good to use. AIB vendors use it to upgrage VBIOS in their live update systems, so why should you be afraid of it? Its slower that DOS version, but still stable and reliable.

NOTE: Be sure not to run any 3D applications while working with atiflash. Remember, atiflash requires elevated privileges, so use Administrator's command line.

- atomtool.py
Download it here: outdated
http://rghost.ru/6czV8zp2C

Integrity check (sha1sum):
a65c994bd2ebffef494d1db806fce8f215629a69 atomtool_v10.zip
a6d933fee9b6a9931ee08232d5f4cfb30dc90c33 atomtool.py
e4b81badb9d9b4bc2326944fc25331f4c945dfd7 atomtool.txt
31791244ae2ade681129ad9f748f0072ddef66f7 makeroms.bat

Here is a small update to atomtool, v1.1 current version is here
http://rghost.ru/68mVPFxG6

7e39c693a413c3ad6fb0398afa001d698589de69 atomtool_v11.zip
24cbaba2c654c5b68ee8f8db7d8748e487034c1e atomtool.py
e4b81badb9d9b4bc2326944fc25331f4c945dfd7 atomtool.txt
31791244ae2ade681129ad9f748f0072ddef66f7 makeroms.bat

What's new:
* activation code should be a little cleaner now, but I'm not sure about any difference in real work.

atomtool.py is a Python 2 program, so you're getting executable file and source code in one single file. Python is a brilliant programming language with cross platform runtime available for the most of operating systems.
Under Windows you probably don't have Python installed, so go to it's official website and grab a runtime package of Python 2 (or 3, but that's not tested):
https://www.python.org/downloads/windows/

2. IMPORTANT. Make a backup of BOTH of your current BIOSes.
DON'T rely on GPU-Z backups and techpowerup's database since BIOS read from Fiji with GPU-Z is not complete, its only 128KB out of real 256KB.
Although main part of the BIOS is present in GPU-Z dumps, some part of data is not backed up.
GPU-Z backup can be used as a last resort, but I strongly suggest use of full backups produced by atiflash.

To use command line atiflash and atomtool.py, you'll need to know how to work with Windows command line (cmd.exe). If you're not sure what it is, google it first before you try.

- backup your current BIOS:
atiflash -s 0 bios_backup_xxx.rom
here 0 is the number of the card in your system. Use other numbers if you're backing up more that one card in CF configuration.
xxx is your current BIOS switch position, right (towards power connectors) of left (towards display connectors and a face plate)
- flip BIOS switch and backup second BIOS:
atiflash -s 0 bios_backup_yyy.rom
for yyy use current BIOS position.

3. Get a cuinfo report and examine the status and dotted map:
For Fiji, report should be like: "8 CU's are disabled by HW lock, override is possible at your own risk.".
If it says "Sorry...", you're out of luck.

Code:

Code:
SE1 hw/sw: 00050000 / 00000000 [.............x.x]
SE2 hw/sw: 00030000 / 00000000 [..............xx]
SE3 hw/sw: 00030000 / 00000000 [..............xx]
SE4 hw/sw: 00030000 / 00000000 [..............xx]
56 of 64 CUs are active. HW locks: 8 (R/W) / SW locks: 0 (R/W).
8 CU's are disabled by HW lock, override is possible at your own risk.
In general, you can try to unlock some cores ONLY if you have at least one of the two rightmost columns filled with 'x'-es. On this example map, rightmost column (#1) is filled with 'x'-es only, but second (#2) is not.
If none of the two rightmost columns is filled with 'x', you're most probably out of luck and shouldn't try this unlock method. Or just try all the roms to catch some luck (not recommended).
NOTE: all x'es in the column DOES NOT guarantee you a safe and successful unlock.

4. Generate roms from your BIOS backup.
To simplify rom generation, windows script file, makeroms.bat is added to the atomtool package.

use it as:
makeroms.bat bios.rom
(here bios.rom is your BIOS backup file).
If Python is installed and intergated in path, you'll end up with 3 new BIOS'es:
bios_4low.rom
bios_4high.rom
bios_all.rom
('bios' here is your original file name w/o extension).

Select the rom you need:
If you have all 'x' in the first rightmost column, use bios_4low.rom
If you have all 'x' in the second column from the right, use bios_4high.rom
Any of these roms would increase shader count to 3840.

If you have all 'x' in the both columns, you can try bios_all.rom. If it fails, try both of _4low and _4high roms one by one until you're possibly get a stable GPU.

Also, if you like to live dangerously you can try bios_all.rom in any case.
_all.rom will unlock all 4096 cores, but since (the most of?) Fiji PRO chips do have failed cores, you'll probably get unstable or non-booting system.

To flash the card use:
atiflash -p 0 some_bios.rom
(here some_bios.rom is the file you want to flash).

5. How to check stability or revert changes.
Just use all the tools you know to test stability and performance.

If your system is not stable, simply do the following:
- flip the bios switch and reboot;
- then booted into windows, flip switch back and reflash this bad position with known good backup.

6. How to use other features of atomtool.py.
Please read atomtool.txt bundled in atomtool's archive. atomtool may be used to play with powerplay tables, and more.
 
#5 ·
Quote:
Originally Posted by boi801 View Post

no luck for fury x... it show no info on both...
Please copy and paste any info from the tool's text window. Or it's completely empty?
 
#6 ·
Got This

Code:

Code:
Adapters detected: 1
Card #1 PCI ID: 1002:67B1 - 1043:04D9 00
Memory config: 0x500066AA Hynix
Hawaii-class chip with 11 compute units per Shader Engine
SE1 hw/sw: F8010005 / 00000000 [..........x]
SE2 hw/sw: F8010005 / 00000000 [..........x]
SE3 hw/sw: F8010005 / 00000000 [..........x]
SE4 hw/sw: F8010005 / 00000000 [..........x]
40 of 44 CUs are active. HW locks: 4 / SW locks: 0.
Sorry, all 4 disabled CUs can't be unlocked by BIOS replacement.
 
#7 ·
This is all I get from my Fury X:

http://www.techpowerup.com/gpuz/details.php?id=zsnps

Code:

Code:
Adapters detected: 1
Card #1 PCI ID: 1002:7300 - 1002:0B36 00
Memory config: 0x00000000 
Fiji-class chip with 16 compute units per Shader Engine
SE1 hw/sw: 00000000 / 00000000 [................]
SE2 hw/sw: 00000000 / 00000000 [................]
SE3 hw/sw: 00000000 / 00000000 [................]
SE4 hw/sw: 00000000 / 00000000 [................]
64 of 64 CUs are active. HW locks: 0 / SW locks: 0.
All CUs in this chip are already active.
 
#9 ·
here's my FURY AIR (sapphire 100379SR), looks like hardware locked.
Adapters detected: 1
Card #1 PCI ID: 1002:7300 - 174B:E329 00
Memory config: 0x00000000
Fiji-class chip with 16 compute units per Shader Engine
SE1 hw/sw: 00030000 / 00000000 [..............xx]
SE2 hw/sw: 00030000 / 00000000 [..............xx]
SE3 hw/sw: 00810000 / 00000000 [........x......x]
SE4 hw/sw: 00030000 / 00000000 [..............xx]
56 of 64 CUs are active. HW locks: 8 / SW locks: 0.
Sorry, all 8 disabled CUs can't be unlocked by BIOS replacement.
 
#10 ·
Quote:
Originally Posted by PEJUman View Post

here's my FURY AIR (sapphire 100379SR), looks like hardware locked.
Adapters detected: 1
Card #1 PCI ID: 1002:7300 - 174B:E329 00
Memory config: 0x00000000
Fiji-class chip with 16 compute units per Shader Engine
SE1 hw/sw: 00030000 / 00000000 [..............xx]
SE2 hw/sw: 00030000 / 00000000 [..............xx]
SE3 hw/sw: 00810000 / 00000000 [........x......x]
SE4 hw/sw: 00030000 / 00000000 [..............xx]
56 of 64 CUs are active. HW locks: 8 / SW locks: 0.
Sorry, all 8 disabled CUs can't be unlocked by BIOS replacement.
Thank you! This chip obviously got 1 failed CU in SE3, so it was cut down to Fury Air.
 
#11 ·
Quote:
Originally Posted by tx12 View Post

Thank you. All zero readings may tell Fury is not supported properly.
UPD: fury support looks to be working, but I need to add some non-zero reading from it.
 
#14 ·
Here a Gigabyte r9 285.

Adapters detected: 1
Card #1 PCI ID: 1002:6939 - 1458:229D 00
Memory config: 0x500013A9 Elpida
Tonga-class chip with 8 compute units per Shader Engine
SE1 hw/sw: FF010001 / 00000000 [.......x]
SE2 hw/sw: FF010001 / 00000000 [.......x]
SE3 hw/sw: FF010001 / 00000000 [.......x]
SE4 hw/sw: FF010001 / 00000000 [.......x]
28 of 32 CUs are active. HW locks: 4 / SW locks: 0.
Sorry, all 4 disabled CUs can't be unlocked by BIOS replacement.
 
#18 ·
Sapphire R9 285 Dual-X (bought when it was released)

Code:

Code:
Adapters detected: 1
Card #1 PCI ID: 1002:6939 - 174B:E306 00
Memory config: 0x500013A9 Elpida
Tonga-class chip with 8 compute units per Shader Engine
SE1 hw/sw: FF010001 / 00000000 [.......x]
SE2 hw/sw: FF200001 / 00000000 [..x.....]
SE3 hw/sw: FF010001 / 00000000 [.......x]
SE4 hw/sw: FF010001 / 00000000 [.......x]
28 of 32 CUs are active. HW locks: 4 / SW locks: 0.
Sorry, all 4 disabled CUs can't be unlocked by BIOS replacement.
Sad panda
frown.gif
 
#20 ·
Quote:
Originally Posted by tx12 View Post

Thank you! This chip obviously got 1 failed CU in SE3, so it was cut down to Fury Air.
yeah noticed that too... somewhere (anandtech) I read a reply from AMD marketing rep, that Fury Air always symmetrically disabled. what I see here suggested he was wrong.
nonetheless, I think the day of R9 290 unlockables seems to be behind us, AMD seems intent on HW locks now (looking at the 285s), guessing this is mainly die salvaging from the MAC production line.
 
#21 ·
Hi Guy's it seems like both cards are locked. Both are Sapphire R9 285's Dual X OC.
Adapters detected: 2
Card #1 PCI ID: 1002:6939 - 174B:E306 00
Memory config: 0x500013A9 Elpida
Tonga-class chip with 8 compute units per Shader Engine
SE1 hw/sw: FF010001 / 00000000 [.......x]
SE2 hw/sw: FF010001 / 00000000 [.......x]
SE3 hw/sw: FF200001 / 00000000 [..x.....]
SE4 hw/sw: FF010001 / 00000000 [.......x]
28 of 32 CUs are active. HW locks: 4 / SW locks: 0.
Sorry, all 4 disabled CUs can't be unlocked by BIOS replacement.
Card #2 PCI ID: 1002:6939 - 174B:E306 00
Memory config: 0x500013A9 Elpida
Tonga-class chip with 8 compute units per Shader Engine
SE1 hw/sw: FF010001 / 00000000 [.......x]
SE2 hw/sw: FF010001 / 00000000 [.......x]
SE3 hw/sw: FF010001 / 00000000 [.......x]
SE4 hw/sw: FF010001 / 00000000 [.......x]
28 of 32 CUs are active. HW locks: 4 / SW locks: 0.
Sorry, all 4 disabled CUs can't be unlocked by BIOS replacement.
 
#23 ·
My Powercolor R9 290 Turbo Duo, with the newer LF R29FA PCB.

Code:

Code:
Adapters detected: 1
Card #1 PCI ID: 1002:67B1 - 148C:2343 00
Memory config: 0x500031A9 Samsung
Hawaii-class chip with 11 compute units per Shader Engine
SE1 hw/sw: F8010005 / 00000000 [..........x]
SE2 hw/sw: F8010005 / 00000000 [..........x]
SE3 hw/sw: F8010005 / 00000000 [..........x]
SE4 hw/sw: F8010005 / 00000000 [..........x]
40 of 44 CUs are active. HW locks: 4 / SW locks: 0.
Sorry, all 4 disabled CUs can't be unlocked by BIOS replacement.
 
#25 ·
OK, don't completely believe cuinfo 1.4 for Fury series.
Seems recently tested Airs are indeed unlockable. Yes, looks like even ones with failed CU's can be unlocked, at least partially.
Its possible to unlock some of the good CUs, but card may refuse to work properly if bad units are enabled too.
 
#26 ·
Quote:
Originally Posted by jason387 View Post

Why is the SE3 of my first card and 2nd card different?? What does it mean?
Basically, that means nothing useful.
Your 1st card got a failed unit in SE3, so it was disabled. Units #0 in all other CU's were disabled too to maintain symmetry.
Your 2nd card possibly got a fully working chip, but units #0 were disabled in all SE's to sell it as Tonga PRO.
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top