Pages:
Author

Topic: SRBPolaris V3.5 - BIOS editor for AMD RX4XX and RX5XX cards - page 17. (Read 125108 times)

sr. member
Activity: 430
Merit: 254
You can use a hex editor if you want to but you can do it in PBE as well. I wouldn't touch the 600 strap because it might actually get used during idle or some 2d stuff. In my case I had a 1425 MHz strap, so copied over it with the 1500 strap. Then I copied the 1625 strap over the old 1500 strap, etc. Then ended up with 2 2000 straps, and modified the second one to be a 2250 strap.

Just make sure you also modify the frequencies. Like where it said 2:1425, I had to change it to 2:1500, etc.
member
Activity: 60
Merit: 10
I just deleted one of the lower ones, and moved everything down one.

i assume this is in hex editor? would you mind being a little more detailed in that? so like delete the 600mhz strap and move everything else up 1 slot?
member
Activity: 81
Merit: 1002
It was only the wind.
Hi guys...

we tried to do undervolt tuning on bios for Sapphire RX580 Nitro+ 8GB

we did follow some guide in as instructed with SRBPolaris. We have the straps run i guess ok.

We tried to tune for undervolt on the bios. we are always stuck with that 65288 issue.

the screen would simply show VDDC 1411 - 65288mv

We replaced that value with 900mv on both VDDCI and VDDC but it didnt seem to work..

We tried other value(65287,65286) but somehow the card wouldnt start up properly.


Can anyone give me some pointers here? I located a section with HEX with E6 FF most likely referencing to -25mv. but unsure.

I have attached the original bios:
https://mega.nz/#!Z5sDQSIT!pNBvcG6q59X3g36qAl-rrApVxOjqEQG_51rDV1_xmLM




That's not -25mV, and stop looking globally for hex values - you're bound to find something by coincidence. There's no undervolt in this VBIOS, but there is an init regulator section. Like all Sapphire 580s I've found, the info is also slightly broken, meaning that even if you insert the correct ones properly, you still must fix the info such that it works.
member
Activity: 72
Merit: 10
It shouldn't matter much if you don't have higher straps. If your memory is clocked higher than the highest frequency strap, it will just use that one. At least it should. Now that I think about it, my Gigabyte would insta-crash if I clocked my memory to 2001, until I added a 2250 strap. Dunno wtf was up with that but that's not what's supposed to happen.

The real downside is that your card's default mem clock will end up using your experimental timings and you might keep soft bricking your card.

For undervolting the core you can try setting the voltage per dpm state but it probably won't go lower than 950mV without identifying the controller and adding some shit in the VOI table. Can't help you with that though 'cuz I haven't gotten to that point in my own modding yet. Still fighting with a damn Armor card with MJR to stop giving incorrect shares at 2150 Tongue I think I have to give up and go down to 2100.

i've 3 types of Asus cards and i manage to get 2 to 1900 and one to 1950. If higher they crash but i think it's because i didn't mess with the power or the core and they get over the 48W limits. I'm still trying to learn about it.  My MSI went straight to 2000 without any problems.
sr. member
Activity: 430
Merit: 254
I just deleted one of the lower ones, and moved everything down one.
member
Activity: 81
Merit: 1002
It was only the wind.
Check here in the first post down at the bottom, "How to edit ROM for data/command table length changes"
I'm not far, but the guide dont work for MSI.
I have HxD, nice tool.
with ABR I have the offset and length match.
tables.bat seems nice, but I'm not yet there.
with the guide I find the FF of "FF 00 01 07 0C" on Sapphire
Quote
62 00 03 01 01 03 2E 00 08 96 10 00 00 00 00 00 29 00 24 00 2B 00 2C 00 33 00 72 00 24 00 1C 00 14 00 22 00 39 00 BE 00 61 00 03 00 62 00 7E 00  FF 00 01 07 0C 00 06 00 00 00 00 00 00 00 04 00 24 00 00 04 00 00 02 80 10 00 00 00 10 00 52 03 02 00 00 00 84 03 02 00 10 00 B6 03 00 80 10 00 E8 03
and should insert for -25mV VDDC :
Quote
8D 00 FC FF
and why not for VDDCI?
Quote
8E 00 FC FF
(or 9A or 9B for voltage in mV?)
and change length bytes to 66 00 (LSB) (or 6A 00 with VDDCI), replace offset table with recomputed table, and delete 4( 8 ) bytes at the end of the ROM to keel total length (no problem with shifting all data that way?)
but It does not work on MSI
Quote
34 00 03 01 01 07 0C 00 0E 00 00 00 00 00 00 00 04 00 24 00 00 04 00 00 02 80 10 00 00 00 10 00 52 03 02 00 00 00 84 03 02 00 10 00 B6 03 00 80 10 00 E8 03
maybe there is no i2c programming section?

and afterward, with SRBPolaris, the VDDCI/VDDC mod would work without hex editor?

frightening.  Undecided Shocked



The 8E code isn't for VDDCI - it's for the second loop. Nothing is on the second loop of your IR3567B, so it'll do nothing.

From what I understand, VDDC and VDDCI have to match, otherwise it will use the highest one for both voltages. But I don't have first hand knowledge with these cards or that mod (yet).

I just know from reading forums that you can insert things into the ROM to change those voltages, depending on the controller you have (IRxxx vs. NCPxxxxx)...and also change all the table pointers to correct for the changed length. Just pointing you in the right direction for that.

The user "hellm" (as well as some others) on overclock.net has some informative posts for doing this type of mod, but I don't think it's been compiled anywhere into a straightforward guide. It's spread all throughout the Polaris (and other) modding thread(s). From what I gather there should be enough info to do these mods on cards with the IR controller, but I think the NCP controller info is more murky.

NCP81022 is cake, too - just read the specs. Now, for the Sapphire RX 580s, they broke something in the voltage object, so you have to know how to fix 'em first.
member
Activity: 60
Merit: 10
It shouldn't matter much if you don't have higher straps. If your memory is clocked higher than the highest frequency strap, it will just use that one. At least it should. Now that I think about it, my Gigabyte would insta-crash if I clocked my memory to 2001, until I added a 2250 strap. Dunno wtf was up with that but that's not what's supposed to happen.

The real downside is that your card's default mem clock will end up using your experimental timings and you might keep soft bricking your card.

For undervolting the core you can try setting the voltage per dpm state but it probably won't go lower than 950mV without identifying the controller and adding some shit in the VOI table. Can't help you with that though 'cuz I haven't gotten to that point in my own modding yet. Still fighting with a damn Armor card with MJR to stop giving incorrect shares at 2150 Tongue I think I have to give up and go down to 2100.

how do you "add" a timing strap?
sr. member
Activity: 430
Merit: 254
It shouldn't matter much if you don't have higher straps. If your memory is clocked higher than the highest frequency strap, it will just use that one. At least it should. Now that I think about it, my Gigabyte would insta-crash if I clocked my memory to 2001, until I added a 2250 strap. Dunno wtf was up with that but that's not what's supposed to happen.

The real downside is that your card's default mem clock will end up using your experimental timings and you might keep soft bricking your card.

For undervolting the core you can try setting the voltage per dpm state but it probably won't go lower than 950mV without identifying the controller and adding some shit in the VOI table. Can't help you with that though 'cuz I haven't gotten to that point in my own modding yet. Still fighting with a damn Armor card with MJR to stop giving incorrect shares at 2150 Tongue I think I have to give up and go down to 2100.
member
Activity: 72
Merit: 10
Hey guys,

i modded 5 different cards with Doktor's program but now i'm finding a problem and i don't know how to solve it.
MSI RX460, Asus Strixx RX 460 (both samsung and micron memory (and a 3rd version with micron memory which i could only get to 1900Mhz)), sapphire rx460. All went well.
Gigabyte RX 460 WF i couldn't do it. I was able to unlock the shadders and undervolt the memory but i only get memory straps until 1500 Mhz. No 1750, 1850 or 2000 like the others.
Also, how do i undervolt the core in the bios? Because i would like to lower the power consumption at least a couple of watts.
I'm getting 13.5Mh/s on sapp, 13Mh/s on Asus and 12.8Mh/s on MSI. GB give only 12Mh/s.

Thanks
sr. member
Activity: 430
Merit: 254
I'm not a coder or engineer so I don't think that's going to happen any time soon. Just looking for a condensed version of simple rules so I can accelerate the process of tweaking the BIOSes of a few cards.

If it's going to take several months of study to get 3 cards running 1 or 2% faster then I'm obviously not going to bother.

Anyone have some more practical advice?
member
Activity: 81
Merit: 1002
It was only the wind.
The Sapphire one is classic - pretty easy to do - although your modded one clearly isn't a proper undervolt. Didn't check the MSI one.
What are the tools required, used commonly? Is there some specific how-to?
Why are SRBTool or PolarisBiosEditor not working on those classic old cards?

Because you need skill with a hex editor to do it -  and a decent understanding of the VBIOS structure.

I've written my own toolset to handle most of it.
sr. member
Activity: 430
Merit: 254
Does anyone know off the top of their head which timings depend on others. Like timing x must be >= (timing y + 2), etc.?

For example I noticed lowering ACTRD gives a little hash rate improvement, but seems to add instability, unless I also lower ACTWR....but I don't know if that's actually what's happening, or the errors I am getting just appear to be higher because of variance.

I am trying to make a custom timing strap but it is very tedious...and timings that work in pairs just add way too many variables. Without knowing exactly which ones work this way I am basically just fumbling around in the dark. I actually downloaded the GDDR5 spec and skimmed through it but it pretty much just goes way over my head.
full member
Activity: 233
Merit: 100
Andrius | Junior Business developer at Unboxed ICO
Did you include 580 Nitro+ 8GB ?

? It is included since 2.6x. I was able to read bios since that version.
- Wow, antivirus went crazy this time.
member
Activity: 81
Merit: 1002
It was only the wind.
Finally I confirm I cannot undervolt in Linux Ubuntu16.04.2 AMDGPU-Pro claymore with my two card model (RX480 Sapphire and MSI).
I've set VDDCI and VDDC to 975/950/925mV with no change. As I've understood it needs some serious BIOS tweaking, with object insertion and offset recomputation.
my stock rom for Sapphire was
https://drive.google.com/file/d/0B7h5Pyv_VGO6Ni14Z2tRZWI5aUE/view?usp=sharing
and modded version tha should be undervolted is eg:
https://drive.google.com/file/d/0B7h5Pyv_VGO6em1VU3lQd1lfZFk/view?usp=sharing

and for MSI stock was
https://drive.google.com/file/d/0B7h5Pyv_VGO6d1R1bGhOdWRhMGs/view?usp=sharing
and modded version that should be undervolted is
https://drive.google.com/file/d/0B7h5Pyv_VGO6ajJiQUJkdnkyVm8/view?usp=sharing

I've used  "Anorak ATOMBIOSReader" on MSI stock and modded version , but I don't know to do with the offset (moreover  it seems people use another tool to edit and disassemble)
0020:   a9f0  Len 0034  Rev 03:01  (VoltageObjectInfo/VRAM_GPIO_DetectionInfo)

for the Sapphire offset are different but is similar...
0020:   a954  Len 0062  Rev 03:01  (VoltageObjectInfo/VRAM_GPIO_DetectionInfo)

on Linux I see virtaul device of i2c peripheral... maybe an expert could drive those ICs
/sys/class/drm/card1/device/i2c-6  ...  /sys/class/drm/card1/device/i2c-12 

 Huh


The Sapphire one is classic - pretty easy to do - although your modded one clearly isn't a proper undervolt. Didn't check the MSI one.

member
Activity: 107
Merit: 11
live long and prosper
Did you include 580 Nitro+ 8GB ?
legendary
Activity: 1281
Merit: 1003
V3

- RX460 additional shaders unlocker
- Added support for Sapphire RX460 2G and 4G cards
- Added support for Sapphire RX560 2G and 4G cards

https://mega.nz/#F!TVgGHQZS!yfmtIvbF67iS4QrEJqb26g

thanks i gonna  try again to mod my 460's

so i unlock the 460's shaders  but only 2 of 5 where success  the 3 others did not work
and see no difference in speed

actually there is a little difference not on eth but on sia (dual mining)   182 vs 188
full member
Activity: 203
Merit: 100
i want to send the owner a sapphire nitro+ speacial edition bios however i dont think i can send the file through the forums didnt see an addy

    this is bizzar the editor says my bios has hynix and samsung memory? odd is a speacial edition  is this ok?
    hero member
    Activity: 2548
    Merit: 626
    Hi

    @doktor83

    I saw that you have an RX470, did you try to unlock the shaders (same byte as RX460 70 to 6F)?

    BTW if you want to add support to ASUS ROG STRIX RX560 O4G here is the BIOS

    Thanks



    Yes i tried, but nothing happens, as unfortunately 470's have hardware locked shaders  Angry
    But i managed to get LESS shaders , i think i set it 00 70 22 70  Grin
    newbie
    Activity: 43
    Merit: 0
    Hi

    @doktor83

    I saw that you have an RX470, did you try to unlock the shaders (same byte as RX460 70 to 6F)?

    BTW if you want to add support to ASUS ROG STRIX RX560 O4G here is the BIOS

    Thanks

    hero member
    Activity: 2548
    Merit: 626
    V3

    - RX460 additional shaders unlocker
    - Added support for Sapphire RX460 2G and 4G cards
    - Added support for Sapphire RX560 2G and 4G cards

    https://mega.nz/#F!TVgGHQZS!yfmtIvbF67iS4QrEJqb26g
    Pages:
    Jump to: