Bitcoin Forum

Alternate cryptocurrencies => Mining (Altcoins) => Topic started by: bobben2 on May 08, 2016, 10:09:36 AM



Title: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on May 08, 2016, 10:09:36 AM
Inspired by the excellent work recently by Eliovp (Thread on undervolting Nano cards),
I set fore to find out if I could successfully undervolt my R9 380X and 390 cards by
modding the cards bios.  
The short answer is Yes in both cases.
THe background I wanted to save some Watts while mining Eth.  I had successfully undervolted
my 280X cards earlier.

You can do the same!
If you are willing to mess with the BIOS of your card to save some Watts, then please
read on, but consider the risk.  You can brick your card, i.e. your computer wont start
after BIOS flash.  You will need to understand the risk and know how to recover a
bricked card.  Also, consider that you will void any warranty on your card when
you flash the BIOS.  I will not be held responsible.
If you are still reading, then I assume you are fine with the above warning.

Here is a brief how to undervolt the 390.

You need the following software:   ATIflash and HawaiiBiosReader.
You can download the latest ATIflash from TechPowerUp.  Version 2.71 works fine.
Download HawaiiBiosReader from GitHub.  Google it to find it.
You should already be familiar with how the ATIflash tool works. I wont go into
the detail here. Instead you can read Eliovp's thread. He describes it in detail.

TBH I didn't use the HawaiiBiosreader myself. I ended up creating my own utility to
alter the voltage tables myself.  But the effect is the same and this description assumes HawaiiBiosReader.

1. Get the stock bios from the card:  atiflash -s 0 card390_orig.ROM
This cmd will read the BIOS from card in slot 0 and store it in the file card390_orig.rom
Backup this file so you can restore the original BIOS to the card later.

2. Run HawaiiBiosReader.  Open file card390_orig.ROM.  
You will need to modify the voltage values in 6 tables. Note that the voltage
values you choose will have to be the same in all the 6 tables.  And for each row,
the next value will have to be same as previous or increase.

There are two tables under the Powerplay tab and 4 tables under the Limit tables tab.
The values you want to change are in the vol column in all the 6 tables.
You may leave the value in the first row in all tables as is.
The other values are pointers into the BIOS voltage table. Those values depend on
the chip quality.  Dont worry about that.
You will replace these pointers with real voltage values (in mV).
At this point you will have to take great care!
The voltage values you are about to enter will have to be values divisible by 6.25
(socalled SVI2). For example, you should not enter 1111, but 1112 is near enough, so it is fine.
Here are the values I finally loaded into the tables for my Sapphire R9 390 Nitro
and that I found is working great at stock frequencies 1040/1500.
1000
1000
1050
1050
1100
1100
1100
1106
You may want to start off using higher values.  For example, try 1150 in the DPM7 row.
Then gradually work your way down.  
Do not change anything else other that the voltage values.  When done, save to a file,
for example card390_1150.rom

3. Flash the card:   atiflash -p 0 card390_1150.rom
This assumes the card you want to modify is in slot 0.
You might want to try the -f switch if atiflash complains.
Sit back and wait for the flash to complete. Then reboot your computer and
test.   You may want to run your miner for a good few hours before you can conclude
on stability and whether you can undervolt further.

For the R9 380X card the procedure is similar, but again I ended up writing my own
utility to modify the BIOS.  I studied the code that was written by Hedzin.

At stock frequencies I was able to reduce power consumption of the 380X by 40Watts
and the 390 by ~48Watts.  Specific power consumption:  380X  ~140W, 390: ~167W
380X is hashing at 20MH/s (7Ws/Mh), 390 is hashing at 27MH/s (6.18Ws/Mh)


NB! You may not be able to undervolt further in Afterburner, Trixx, etc.  
Depending on your card you may not be able to overclock the core after
you have done undervolting.

Happy mining!

EDIT: I just checked the temperature of my single 390 mining at 1040/1500.
Sensor 0: Temerature - 58.00 C
Fan speed: 38%
Ambient temperature: 23 C.
I tribute the low temperature to the excellent tri-fan cooler of the Sapphire card, and of course the lower voltage.

EDIT2:
For those interested in Hawaii bios editing in general you can read this very comprehensive writeup
by gupsterg.  I find that guide very valuable.

http://www.overclock.net/t/1561372/hawaii-bios-editing-290-290x-295x2-390-390x
 (http://www.overclock.net/t/1561372/hawaii-bios-editing-290-290x-295x2-390-390x)

EDIT 20160816:
For thos of you who happen to have the Sapphire 380X or 390 Nitro cards  I here provide som ROMs
that you can try on your own cards.  If you are running with stock BIOS then these will save you 40 Watts per card easy.
You should be familiar with atiflash and aware of the risk involved in
flashing the BIOS of your card. I bear no responsiblity for any damage.

Sapphire 380X Nitro 1081mV ROM:

https://www.dropbox.com/s/fmgva4twgukbrl1/sapp380x_1081.rom?dl=0
 (https://www.dropbox.com/s/fmgva4twgukbrl1/sapp380x_1081.rom?dl=0)

Sapphire 380X Nitro 1100mV ROM:

https://www.dropbox.com/s/irt9dup5mwuxqbj/sapp380x_1100.rom?dl=0
 (https://www.dropbox.com/s/irt9dup5mwuxqbj/sapp380x_1100.rom?dl=0)

Sapphire 390 Nitro 1100mV ROM:

https://www.dropbox.com/s/gw0lhozg4hskz2a/sapp390_1100.rom?dl=0
 (https://www.dropbox.com/s/gw0lhozg4hskz2a/sapp390_1100.rom?dl=0)

Sapphire 390 Nitro 1106mV ROM:

https://www.dropbox.com/s/3yybo5kxcet7mba/sapp390_1106.rom?dl=0
 (https://www.dropbox.com/s/3yybo5kxcet7mba/sapp390_1106.rom?dl=0)


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: ldw-com on May 08, 2016, 10:25:22 AM
Hey Bobben2!

Thank you for your detailed explanation.

What you wrote will definitely work!

I do it a little bit different.

I modify the rom in a hex editor and change the voltage entirely.

In other words, i do not change the dpm tables, i just lower the entire voltage by -100mV (for example) so that the controller itself will automatically give the voltage that is needed.
In this case, a specific clock won't give you issues as the controller will adjust voltage for what is needed.

What you did, as said before, will definitely work, but is in a way a little more intensive, because the dpm values won't be set automatic, the controller will use what is set.

In some cases this could go wrong, for example, the card will need a specific amount of voltage, but the dpm value associated to that clock won't be able to give enough. :)

Regarding power, in this case it will use less power in comparison from what i do :)

I'm glad you worked things out!

As said before, i'm still working on it, my target is to achieve the same results as the Stilt did with his released hawaii roms from a few years ago.

Will keep you posted in this thread as well!

Greetings!


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Siskaver on May 08, 2016, 11:36:59 AM

I modify the rom in a hex editor and change the voltage entirely.

In other words, i do not change the dpm tables, i just lower the entire voltage by -100mV (for example) so that the controller itself will automatically give the voltage that is needed.
In this case, a specific clock won't give you issues as the controller will adjust voltage for what is needed.


I saw your XFX mod. You used 800 instead of 900 in the original BIOS. I tried your mod, but it does not change the voltage of the core at all.

Are you still working on that?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Next BillG on May 08, 2016, 11:57:48 AM
OP, thanks for sharing. You used
1000
1000
1050
1050
1100
1100
1100
1106

For frequency from 800 to 1040. For the lower frequency, are the voltage too high?

How do you change the memory voltage?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Next BillG on May 08, 2016, 12:06:07 PM
The second table is the mem freq table. Should that have the same voltage value as the GPU Freq Table?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on May 08, 2016, 01:35:03 PM
Hey Bobben2!

Thank you for your detailed explanation.

What you wrote will definitely work!

I do it a little bit different.

I modify the rom in a hex editor and change the voltage entirely.

In other words, i do not change the dpm tables, i just lower the entire voltage by -100mV (for example) so that the controller itself will automatically give the voltage that is needed.
In this case, a specific clock won't give you issues as the controller will adjust voltage for what is needed.

What you did, as said before, will definitely work, but is in a way a little more intensive, because the dpm values won't be set automatic, the controller will use what is set.

In some cases this could go wrong, for example, the card will need a specific amount of voltage, but the dpm value associated to that clock won't be able to give enough. :)

Regarding power, in this case it will use less power in comparison from what i do :)

I'm glad you worked things out!

As said before, i'm still working on it, my target is to achieve the same results as the Stilt did with his released hawaii roms from a few years ago.

Will keep you posted in this thread as well!

Greetings!

Hi ldw-com.
Yes, you are right.  Probably the "correct" way of doing it is to offset the values in the BIOS instead of overwriting the pointer values..  However, I could not mind to find the correct entries in the BIOS.  At least, what I have works ok at stock frequency.



Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on May 08, 2016, 01:38:45 PM
OP, thanks for sharing. You used
1000
1000
1050
1050
1100
1100
1100
1106

For frequency from 800 to 1040. For the lower frequency, are the voltage too high?

How do you change the memory voltage?

Hi Next BillG
The first voltage value in the stock BIOS was 1000 mV.  Therefore, I started with 1000.  I've seen ASUS BIOS start at 900mV.  I am not concerned about it.  It is the DPM7 value that will matter to miners.
Idk how to change the memry voltage.  However, I am able to change the voltage of the mem controller.
For my Sapphire card I changed it from 1050 to 1025 mV.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on May 08, 2016, 01:39:30 PM
The second table is the mem freq table. Should that have the same voltage value as the GPU Freq Table?

Yes.  All 6 tables should have identical values.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Boathouse on May 08, 2016, 02:05:55 PM
OP, thanks for sharing. You used
1000
1000
1050
1050
1100
1100
1100
1106

For frequency from 800 to 1040. For the lower frequency, are the voltage too high?

How do you change the memory voltage?

Hi Next BillG
The first voltage value in the stock BIOS was 1000 mV.  Therefore, I started with 1000.  I've seen ASUS BIOS start at 900mV.  I am not concerned about it.  It is the DPM7 value that will matter to miners.
Idk how to change the memry voltage.  However, I am able to change the voltage of the mem controller.
For my Sapphire card I changed it from 1050 to 1025 mV.

How do you change the memory controller voltage? Are they the same as the memory voltage? How much power saving did you get?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on May 08, 2016, 02:18:00 PM
OP, thanks for sharing. You used
1000
1000
1050
1050
1100
1100
1100
1106

For frequency from 800 to 1040. For the lower frequency, are the voltage too high?

How do you change the memory voltage?

Hi Next BillG
The first voltage value in the stock BIOS was 1000 mV.  Therefore, I started with 1000.  I've seen ASUS BIOS start at 900mV.  I am not concerned about it.  It is the DPM7 value that will matter to miners.
Idk how to change the memry voltage.  However, I am able to change the voltage of the mem controller.
For my Sapphire card I changed it from 1050 to 1025 mV.

How do you change the memory controller voltage? Are they the same as the memory voltage? How much power saving did you get?

You can change the memcontroller voltage in HawaiiBiosReader.  If you look in the PowerPlay tab.
Table VDDCI states.  The rightmost value is the controller voltage.
If it is already at 1000 (mV), then I dont think it can go much lower.
I dont think there is much to save lowering this value, but I might be wrong.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Boathouse on May 08, 2016, 02:47:19 PM
OP, thanks for sharing. You used
1000
1000
1050
1050
1100
1100
1100
1106

For frequency from 800 to 1040. For the lower frequency, are the voltage too high?

How do you change the memory voltage?

Hi Next BillG
The first voltage value in the stock BIOS was 1000 mV.  Therefore, I started with 1000.  I've seen ASUS BIOS start at 900mV.  I am not concerned about it.  It is the DPM7 value that will matter to miners.
Idk how to change the memry voltage.  However, I am able to change the voltage of the mem controller.
For my Sapphire card I changed it from 1050 to 1025 mV.

How do you change the memory controller voltage? Are they the same as the memory voltage? How much power saving did you get?

You can change the memcontroller voltage in HawaiiBiosReader.  If you look in the PowerPlay tab.
Table VDDCI states.  The rightmost value is the controller voltage.
If it is already at 1000 (mV), then I dont think it can go much lower.
I dont think there is much to save lowering this value, but I might be wrong.

Is that the same as aux voltage? I changed that with -100mV in the MSI afterburner. It save about 1W power.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on May 08, 2016, 03:18:58 PM
OP, thanks for sharing. You used
1000
1000
1050
1050
1100
1100
1100
1106

For frequency from 800 to 1040. For the lower frequency, are the voltage too high?

How do you change the memory voltage?

Hi Next BillG
The first voltage value in the stock BIOS was 1000 mV.  Therefore, I started with 1000.  I've seen ASUS BIOS start at 900mV.  I am not concerned about it.  It is the DPM7 value that will matter to miners.
Idk how to change the memry voltage.  However, I am able to change the voltage of the mem controller.
For my Sapphire card I changed it from 1050 to 1025 mV.

How do you change the memory controller voltage? Are they the same as the memory voltage? How much power saving did you get?

You can change the memcontroller voltage in HawaiiBiosReader.  If you look in the PowerPlay tab.
Table VDDCI states.  The rightmost value is the controller voltage.
If it is already at 1000 (mV), then I dont think it can go much lower.
I dont think there is much to save lowering this value, but I might be wrong.

Is that the same as aux voltage? I changed that with -100mV in the MSI afterburner. It save about 1W power.

Yes,  I believe that is the one.  The mem controller will be sitting mostly idle when mining Eth.  If you try mining DCR
then its a different story.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Next BillG on May 08, 2016, 03:35:52 PM
But the memory controller load is usually over 90% if I set the frequency to be 1250 MHz. I think Etehreum uses a lot of memory access.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on May 09, 2016, 04:21:16 PM
Hey Bobben2!

Thank you for your detailed explanation.

What you wrote will definitely work!

I do it a little bit different.

I modify the rom in a hex editor and change the voltage entirely.

In other words, i do not change the dpm tables, i just lower the entire voltage by -100mV (for example) so that the controller itself will automatically give the voltage that is needed.
In this case, a specific clock won't give you issues as the controller will adjust voltage for what is needed.

What you did, as said before, will definitely work, but is in a way a little more intensive, because the dpm values won't be set automatic, the controller will use what is set.

In some cases this could go wrong, for example, the card will need a specific amount of voltage, but the dpm value associated to that clock won't be able to give enough. :)

Regarding power, in this case it will use less power in comparison from what i do :)

I'm glad you worked things out!

As said before, i'm still working on it, my target is to achieve the same results as the Stilt did with his released hawaii roms from a few years ago.

Will keep you posted in this thread as well!

Greetings!


Hi ldw-com
Are you there?
I am trying to locate the actual voltage table so I can offset the values as per your suggestion.
The evv pointers are supposed to point into the actual voltage table (evv value XOR 0xFFFF I believe
will give the offset into the powertable in the bios where the voltage value is stored.  Or--?)
I am doubting this logic for 2 reasons:
byte offset whereas the actual voltage values need at least 16-bit storage.
The actual values I find by using the above logic are "all over the place".
Suggestions?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Eliovp on May 09, 2016, 09:47:34 PM
Hey Bobben2!

Thank you for your detailed explanation.

What you wrote will definitely work!

I do it a little bit different.

I modify the rom in a hex editor and change the voltage entirely.

In other words, i do not change the dpm tables, i just lower the entire voltage by -100mV (for example) so that the controller itself will automatically give the voltage that is needed.
In this case, a specific clock won't give you issues as the controller will adjust voltage for what is needed.

What you did, as said before, will definitely work, but is in a way a little more intensive, because the dpm values won't be set automatic, the controller will use what is set.

In some cases this could go wrong, for example, the card will need a specific amount of voltage, but the dpm value associated to that clock won't be able to give enough. :)

Regarding power, in this case it will use less power in comparison from what i do :)

I'm glad you worked things out!

As said before, i'm still working on it, my target is to achieve the same results as the Stilt did with his released hawaii roms from a few years ago.

Will keep you posted in this thread as well!

Greetings!


Hi ldw-com
Are you there?
I am trying to locate the actual voltage table so I can offset the values as per your suggestion.
The evv pointers are supposed to point into the actual voltage table (evv value XOR 0xFFFF I believe
will give the offset into the powertable in the bios where the voltage value is stored.  Or--?)
I am doubting this logic for 2 reasons:
byte offset whereas the actual voltage values need at least 16-bit storage.
The actual values I find by using the above logic are "all over the place".
Suggestions?

Hey Bobben,

ldw-com is me when i'm at work (just so you know)

if you open your rom with atomicbiosreader you'll get a .txt output, just scroll down check under data tables for "VoltageObjectInfo", the offset is there on the left.

Open your hex editor and go to that offset. If it's there, it'll be like so 8D 00 "YOUR VALUE HERE" 00 for memory voltage it'll be like so: 8E 00 "YOUR VALUE HERE" 00.

To change that value to -100mV you'll need to add F0 where i typed "YOUR VALUE HERE" :p ..  If you need extra explanation on how to calculate that, just ask :p

In some cases those values do not exist and you'll need to add them yourself.
In other cases it just isn't possible to edit memory voltage (like my 390 nitro's) <-- check my Nano thread "last post"


Greetings!


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Next BillG on May 10, 2016, 07:26:58 AM
Hey Bobben2!

Thank you for your detailed explanation.

What you wrote will definitely work!

I do it a little bit different.

I modify the rom in a hex editor and change the voltage entirely.

In other words, i do not change the dpm tables, i just lower the entire voltage by -100mV (for example) so that the controller itself will automatically give the voltage that is needed.
In this case, a specific clock won't give you issues as the controller will adjust voltage for what is needed.

What you did, as said before, will definitely work, but is in a way a little more intensive, because the dpm values won't be set automatic, the controller will use what is set.

In some cases this could go wrong, for example, the card will need a specific amount of voltage, but the dpm value associated to that clock won't be able to give enough. :)

Regarding power, in this case it will use less power in comparison from what i do :)

I'm glad you worked things out!

As said before, i'm still working on it, my target is to achieve the same results as the Stilt did with his released hawaii roms from a few years ago.

Will keep you posted in this thread as well!

Greetings!


Hi ldw-com
Are you there?
I am trying to locate the actual voltage table so I can offset the values as per your suggestion.
The evv pointers are supposed to point into the actual voltage table (evv value XOR 0xFFFF I believe
will give the offset into the powertable in the bios where the voltage value is stored.  Or--?)
I am doubting this logic for 2 reasons:
byte offset whereas the actual voltage values need at least 16-bit storage.
The actual values I find by using the above logic are "all over the place".
Suggestions?

Hey Bobben,

ldw-com is me when i'm at work (just so you know)

if you open your rom with atomicbiosreader you'll get a .txt output, just scroll down check under data tables for "VoltageObjectInfo", the offset is there on the left.

Open your hex editor and go to that offset. If it's there, it'll be like so 8D 00 "YOUR VALUE HERE" 00 for memory voltage it'll be like so: 8E 00 "YOUR VALUE HERE" 00.

To change that value to -100mV you'll need to add F0 where i typed "YOUR VALUE HERE" :p ..  If you need extra explanation on how to calculate that, just ask :p

In some cases those values do not exist and you'll need to add them yourself.
In other cases it just isn't possible to edit memory voltage (like my 390 nitro's) <-- check my Nano thread "last post"


Greetings!

I saw you also have a XFX R9 390 card. When your mod is ready, can you share with us the mod rom please?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: ldw-com on May 10, 2016, 07:40:13 AM
i'll see what i can do  ;)


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on May 10, 2016, 04:14:56 PM
Hey Bobben2!

Thank you for your detailed explanation.

What you wrote will definitely work!

I do it a little bit different.

I modify the rom in a hex editor and change the voltage entirely.

In other words, i do not change the dpm tables, i just lower the entire voltage by -100mV (for example) so that the controller itself will automatically give the voltage that is needed.
In this case, a specific clock won't give you issues as the controller will adjust voltage for what is needed.

What you did, as said before, will definitely work, but is in a way a little more intensive, because the dpm values won't be set automatic, the controller will use what is set.

In some cases this could go wrong, for example, the card will need a specific amount of voltage, but the dpm value associated to that clock won't be able to give enough. :)

Regarding power, in this case it will use less power in comparison from what i do :)

I'm glad you worked things out!

As said before, i'm still working on it, my target is to achieve the same results as the Stilt did with his released hawaii roms from a few years ago.

Will keep you posted in this thread as well!

Greetings!


Hi ldw-com
Are you there?
I am trying to locate the actual voltage table so I can offset the values as per your suggestion.
The evv pointers are supposed to point into the actual voltage table (evv value XOR 0xFFFF I believe
will give the offset into the powertable in the bios where the voltage value is stored.  Or--?)
I am doubting this logic for 2 reasons:
byte offset whereas the actual voltage values need at least 16-bit storage.
The actual values I find by using the above logic are "all over the place".
Suggestions?

Hey Bobben,

ldw-com is me when i'm at work (just so you know)

if you open your rom with atomicbiosreader you'll get a .txt output, just scroll down check under data tables for "VoltageObjectInfo", the offset is there on the left.

Open your hex editor and go to that offset. If it's there, it'll be like so 8D 00 "YOUR VALUE HERE" 00 for memory voltage it'll be like so: 8E 00 "YOUR VALUE HERE" 00.

To change that value to -100mV you'll need to add F0 where i typed "YOUR VALUE HERE" :p ..  If you need extra explanation on how to calculate that, just ask :p

In some cases those values do not exist and you'll need to add them yourself.
In other cases it just isn't possible to edit memory voltage (like my 390 nitro's) <-- check my Nano thread "last post"


Greetings!

Hi Eliovp,
So its a one byte signed value?  I.e. F0 = -16 decimal.  Then I have to muliply by 6.25 to get -100mV offset value
and voila?
If that is all then I've got it and thanks a lot!


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: navydude on May 10, 2016, 04:23:49 PM
This is awesome guys. Just what i was looking for except the only issue is changing the hex. Im not much into code so this is a bit scary to me. I have 12 Sapphire r9 380x cards that i would love to lower the power usage on. I am currently getting around 21.5 mh with stock settings. I dont wanna be below 20mh and that 145w sounds to good to pass up. Would it be possible to get one of you guys to make this rom for me? I really hate to ask but I would rather someone that knows more than me make it.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on May 10, 2016, 05:33:28 PM
This is awesome guys. Just what i was looking for except the only issue is changing the hex. Im not much into code so this is a bit scary to me. I have 12 Sapphire r9 380x cards that i would love to lower the power usage on. I am currently getting around 21.5 mh with stock settings. I dont wanna be below 20mh and that 145w sounds to good to pass up. Would it be possible to get one of you guys to make this rom for me? I really hate to ask but I would rather someone that knows more than me make it.

I will pm you my email address. Then you can send me a copy of the original bios and I will reprogram it and
send you some versions you can test.
If you accept being a guinea pig.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: navydude on May 10, 2016, 06:03:08 PM
I will see what happens. Will get the dump as soon as possible. Whats the best program to use for dumping sapphire cards?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on May 10, 2016, 06:35:41 PM
I will see what happens. Will get the dump as soon as possible. Whats the best program to use for dumping sapphire cards?


Use atiflash to get the original bios of the card.  All AMD cards are the same in that respect.

atiflash -s 0 youroriginalbios.rom

or some name you choose.
This will read the bios of the card in slot 0 into that file.

Although it sounds like we have the same Sapphire card, I wont send you the roms for my card as the bioses might
be on different revision levels;  to be safe, a bios mod should be based of the card's original bios.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: navydude on May 10, 2016, 08:38:38 PM
Ok. I will get it when i get off work. I hope all 12 of the cards are the same. I ordered them all from newegg only a week apart. I appreciate you doing this for me.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Tacalt on May 11, 2016, 05:05:06 AM
Are you able to change the Core or the Memory in the GPU tweek software such as MSI afterburner after your fixed voltage mod? 


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: ldw-com on May 11, 2016, 06:32:00 AM
Hi Eliovp,
So its a one byte signed value?  I.e. F0 = -16 decimal.  Then I have to muliply by 6.25 to get -100mV offset value
and voila?
If that is all then I've got it and thanks a lot!


-100 = F0 ---- 100 / 6.25 = 16, -16 in hex = F0
-150 = E8
-175 = E4

So yeah you're right :)

The offset you want, for example -50, devide 50 by 6.25, make your result negative, so -8, convert that to hex and you have your value :)

Again, if you're going to mod roms, be sure that the correct offset for core voltage and/or mem voltage is available.

If not, it's possible (in some cases) to add that yourself.

However, Due to adding those bytes:-

- you need to correct table length for VoltageObjectInfo.
- the pointer within VoltageObjectInfo to i2c programming data would need updating as well.
- you also then need to remove the same amount of empty bytes to make UEFI/GOP at right offset location.
- directory of data/command tables would need updating in ROM to correct offset pointers to the tables as they would have shifted.

So in other words, it's not "that" easy :p


Are you able to change the Core or the Memory in the GPU tweek software such as MSI afterburner after your fixed voltage mod? 

Yup, that's not a problem at all :)


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Tacalt on May 12, 2016, 03:12:51 PM
What is the position of the memory voltage setting in the BIOS file. I am interested in changing that.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Eliovp on May 12, 2016, 09:09:41 PM
What is the position of the memory voltage setting in the BIOS file. I am interested in changing that.

open your rom with atomicbiosreader, you can find the offset location for the voltage settings in the .txt file that gets generated.

you'll have to watch out though, not every rom has these values, my nano roms didn't have them, i had to add them myself.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Boathouse on May 13, 2016, 12:42:58 PM
Do you have a link to atomicbiosreader? I am interested in trying mod my XFX BIOS of the 1050 MHz black edition.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Docnaster on May 13, 2016, 01:19:03 PM
How much power does not memory consume when doing Ethereum at 1500 MHz? If it is over 30W, then it is better to under volt it.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on May 13, 2016, 02:32:29 PM
Do you have a link to atomicbiosreader? I am interested in trying mod my XFX BIOS of the 1050 MHz black edition.

Hi Boathouse
You can find a link to the atombios reader here

http://www.overclock.net/t/1561372/lightbox/post/24069731/id/2549733 (http://www.overclock.net/t/1561372/lightbox/post/24069731/id/2549733)

Look for the AtomBiosReader section.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on May 13, 2016, 02:42:42 PM
Hi Eliovp,
So its a one byte signed value?  I.e. F0 = -16 decimal.  Then I have to muliply by 6.25 to get -100mV offset value
and voila?
If that is all then I've got it and thanks a lot!


-100 = F0 ---- 100 / 6.25 = 16, -16 in hex = F0
-150 = E8
-175 = E4

So yeah you're right :)

The offset you want, for example -50, devide 50 by 6.25, make your result negative, so -8, convert that to hex and you have your value :)

Again, if you're going to mod roms, be sure that the correct offset for core voltage and/or mem voltage is available.

If not, it's possible (in some cases) to add that yourself.

However, Due to adding those bytes:-

- you need to correct table length for VoltageObjectInfo.
- the pointer within VoltageObjectInfo to i2c programming data would need updating as well.
- you also then need to remove the same amount of empty bytes to make UEFI/GOP at right offset location.
- directory of data/command tables would need updating in ROM to correct offset pointers to the tables as they would have shifted.

So in other words, it's not "that" easy :p


Are you able to change the Core or the Memory in the GPU tweek software such as MSI afterburner after your fixed voltage mod?  

Yup, that's not a problem at all :)

So I first need to find the location of the VoltageObjectInfo.
To search for the start and length of the VoltageObjectInfo table I figure I need to locate the position of the following pattern: xx 00 03 01 01 03
where xx is the length in bytes of that table?  (obviously omitting xx in the search pattern)
And then to see if I have a voltage offset entry, look for pattern 8d 00 xx 00 (omitting xx which is the actual voltage offset value)
within the VoltageObjectInfo table. Correct?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Eliovp on May 13, 2016, 04:04:33 PM
So I first need to find the location of the VoltageObjectInfo.
To search for the start and length of the VoltageObjectInfo table I figure I need to locate the position of the following pattern: xx 00 03 01 01 03
where xx is the length in bytes of that table?  (obviously omitting xx in the search pattern)
And then to see if I have a voltage offset entry, look for pattern 8d 00 xx 00 (omitting xx which is the actual voltage offset value)
within the VoltageObjectInfo table. Correct?

Atomic output will give you the offset location. It's all there :), just open HxD and hit search, enter the offset there and it'll point you to the exact point :)

If 8D 00 xx 00 isn't there, that means that "or it just isn't possible to mod, or you need to add that yourself", keep in mind, it's not just adding it into the rom, you'd have to follow some other steps to complete that process (as i stated before)

- you need to correct table length for VoltageObjectInfo.
- the pointer within VoltageObjectInfo to i2c programming data would need updating as well.
- you also then need to remove the same amount of empty bytes to make UEFI/GOP at right offset location.
- directory of data/command tables would need updating in ROM to correct offset pointers to the tables as they would have shifted.

If it's there, then you just need to edit "xx" as i told you before :)
If 8E is also there (is always right behind 8D) then you can also mod the memory voltage given to the controller.

Greetings!


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Hutalar on May 13, 2016, 06:21:33 PM
Eliovp, I had a look at the XFX 1015MHz BIOS you mod for Marvel. I search edfor the 8d 00 xx 00, I could not find that. Did you mod the Core or the memory voltage?

I remember you said both -100 mV for Core and memory.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Eliovp on May 13, 2016, 09:26:27 PM
Eliovp, I had a look at the XFX 1015MHz BIOS you mod for Marvel. I search edfor the 8d 00 xx 00, I could not find that. Did you mod the Core or the memory voltage?

I remember you said both -100 mV for Core and memory.

I didn't add those values, i only changed the DPM states.

Looking back at those, i will report back with a new one next week because it seems that i failed miserably on that one "XFX 390 for Marvel".

Greetings



Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: gupsterg on May 14, 2016, 09:51:36 AM
However, Due to adding those bytes:-

- you need to correct table length for VoltageObjectInfo.
- the pointer within VoltageObjectInfo to i2c programming data would need updating as well.
- you also then need to remove the same amount of empty bytes to make UEFI/GOP at right offset location.
- directory of data/command tables would need updating in ROM to correct offset pointers to the tables as they would have shifted.

WOW, I'm thinking these are my words  ;) .


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: ldw-com on May 14, 2016, 09:53:15 AM
However, Due to adding those bytes:-

- you need to correct table length for VoltageObjectInfo.
- the pointer within VoltageObjectInfo to i2c programming data would need updating as well.
- you also then need to remove the same amount of empty bytes to make UEFI/GOP at right offset location.
- directory of data/command tables would need updating in ROM to correct offset pointers to the tables as they would have shifted.

WOW, I'm thinking these are my words  ;) .

haha, they are! :)


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: gupsterg on May 14, 2016, 11:20:28 AM
All good mate  ;D , I lurk here on and off and hadn't been here in a while. Then when I saw this and didn't recognise user name I thought I'd been hacked  ;D.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: playjho on May 14, 2016, 01:30:47 PM
Hello there, I followed the instructions of the op to undervolt my Gigabyte r9 390, but when I read the voltage values in the gpu freq table here is what I got :

0   0xA49D   300   Mhz   24-bit   0xA4A0   900
1   0xA4A2   525   Mhz   24-bit   0xA4A5   65282
2   0xA4A7   723   Mhz   24-bit   0xA4AA   65283
3   0xA4AC   883   Mhz   24-bit   0xA4AF   65284
4   0xA4B1   924   Mhz   24-bit   0xA4B4   65285
5   0xA4B6   960   Mhz   24-bit   0xA4B9   65286
6   0xA4BB   994   Mhz   24-bit   0xA4BE   65287
7   0xA4C0   1025   Mhz   24-bit   0xA4C3   65288


As you can see, excepting state 0, the other state voltages are not what I was waiting for.

Do you think it's safe to try values comparable to the values of the op ?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Zistmine on May 14, 2016, 01:36:32 PM
Hello there, I followed the instructions of the op to undervolt my Gigabyte r9 390, but when I read the voltage values in the gpu freq table here is what I got :

0   0xA49D   300   Mhz   24-bit   0xA4A0   900
1   0xA4A2   525   Mhz   24-bit   0xA4A5   65282
2   0xA4A7   723   Mhz   24-bit   0xA4AA   65283
3   0xA4AC   883   Mhz   24-bit   0xA4AF   65284
4   0xA4B1   924   Mhz   24-bit   0xA4B4   65285
5   0xA4B6   960   Mhz   24-bit   0xA4B9   65286
6   0xA4BB   994   Mhz   24-bit   0xA4BE   65287
7   0xA4C0   1025   Mhz   24-bit   0xA4C3   65288


As you can see, excepting state 0, the other state voltages are not what I was waiting for.

Do you think it's safe to try values comparable to the values of the op ?

It is very safe to do. For my XFX 1015 MHz, I use the similar voltage as the OP, but is generally lower.

OP is left mine right.

1000  800
1000  825
1050  850
1050  900
1100  950
1100  975
1100 1000
1106 1050


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Eliovp on May 14, 2016, 03:43:54 PM
Hello there, I followed the instructions of the op to undervolt my Gigabyte r9 390, but when I read the voltage values in the gpu freq table here is what I got :

0   0xA49D   300   Mhz   24-bit   0xA4A0   900
1   0xA4A2   525   Mhz   24-bit   0xA4A5   65282
2   0xA4A7   723   Mhz   24-bit   0xA4AA   65283
3   0xA4AC   883   Mhz   24-bit   0xA4AF   65284
4   0xA4B1   924   Mhz   24-bit   0xA4B4   65285
5   0xA4B6   960   Mhz   24-bit   0xA4B9   65286
6   0xA4BB   994   Mhz   24-bit   0xA4BE   65287
7   0xA4C0   1025   Mhz   24-bit   0xA4C3   65288


As you can see, excepting state 0, the other state voltages are not what I was waiting for.

Do you think it's safe to try values comparable to the values of the op ?

It is very safe to do. For my XFX 1015 MHz, I use the similar voltage as the OP, but is generally lower.

OP is left mine right.

1000  800
1000  825
1050  850
1050  900
1100  950
1100  975
1100 1000
1106 1050

Yup, should be good!

In the example given here, you give the DPM's a fixed state. It'll do the trick!

Just be careful though, it could be that 1.05v is not enough power to handle 1025 core clock. All depends on your gpu.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: playjho on May 14, 2016, 05:40:27 PM
I'll test this as soon as possible.
Thank you for the advice.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: gupsterg on May 14, 2016, 06:13:08 PM
Hello there, I followed the instructions of the op to undervolt my Gigabyte r9 390, but when I read the voltage values in the gpu freq table here is what I got :

0   0xA49D   300   Mhz   24-bit   0xA4A0   900
1   0xA4A2   525   Mhz   24-bit   0xA4A5   65282
2   0xA4A7   723   Mhz   24-bit   0xA4AA   65283
3   0xA4AC   883   Mhz   24-bit   0xA4AF   65284
4   0xA4B1   924   Mhz   24-bit   0xA4B4   65285
5   0xA4B6   960   Mhz   24-bit   0xA4B9   65286
6   0xA4BB   994   Mhz   24-bit   0xA4BE   65287
7   0xA4C0   1025   Mhz   24-bit   0xA4C3   65288


As you can see, excepting state 0, the other state voltages are not what I was waiting for.

Do you think it's safe to try values comparable to the values of the op ?

Simply put:-

In all stock ROMs only DPM 0 is manually set VID, so in your example you see 900 (DEC) and unit is mV.

DPM 1 - 7 in all stock ROMs is "auto calculated" VID, the numbers 6528x represents that, the last digit is basically ID of DPM.

Also note in ROM we are setting VID , what we see in software monitoring is VDDC. VID is what the GPU is set to, VDDC is realtime voltage, this will variate due to PowerTune tech / LoadLine Calibration.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: rednoW on May 14, 2016, 06:23:16 PM
The question is still there. Is it possible to mod memory voltage (not core or aux voltage) on Hawaii via bios editing?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Eliovp on May 14, 2016, 06:46:09 PM
The question is still there. Is it possible to mod memory voltage (not core or aux voltage) on Hawaii via bios editing?

I'm pretty sure it's possible on "hawaii" just haven't come across a 390 where it is..

But gupsterg will and can answer that better and more clearly :-)


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: gupsterg on May 15, 2016, 04:52:33 PM
The question is still there. Is it possible to mod memory voltage (not core or aux voltage) on Hawaii via bios editing?

Memory voltage (ie MVDDC) can not changed by bios modification.

IR3567B on Hawaii / Grenada controls VDDC (core) / VDDCI (aux) only.

Only cards which allow software manipulation of MVDDC "out of the box" are Asus 290X Matrix and MSI 290X Lightning, which I don't think most would buy here given the context of use on this forum. So far I have not seen any R9 300 series cards with MVDDC "out of the box".

MVDDC can only be changed with "hard vmod", google the terms 290x mods - kingpincooling.com 1st hit is correct link, in 1st post 1st link is document showing "hard vmod". In this post (https://archive.litecointalk.org/index.php?topic=12830.msg100881#msg100881) by The Stilt you'll see it may yield you only small power usage drop.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Boathouse on May 15, 2016, 08:06:24 PM
I tried to copy the 900MHz memory strip to the 1000 MHz strip of the XFX R9 390, I found it does not increase the hash speed. Any reason for that?

I thought the memory latency is importnat.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Docnaster on May 18, 2016, 08:06:40 AM
The question is still there. Is it possible to mod memory voltage (not core or aux voltage) on Hawaii via bios editing?

Memory voltage (ie MVDDC) can not changed by bios modification.

IR3567B on Hawaii / Grenada controls VDDC (core) / VDDCI (aux) only.

Only cards which allow software manipulation of MVDDC "out of the box" are Asus 290X Matrix and MSI 290X Lightning, which I don't think most would buy here given the context of use on this forum. So far I have not seen any R9 300 series cards with MVDDC "out of the box".

MVDDC can only be changed with "hard vmod", google the terms 290x mods - kingpincooling.com 1st hit is correct link, in 1st post 1st link is document showing "hard vmod". In this post (https://archive.litecointalk.org/index.php?topic=12830.msg100881#msg100881) by The Stilt you'll see it may yield you only small power usage drop.

That is bad bad news, according to Elivop, for the 6 R9 nano, if you reduce the mVDDC by 100 mv, it will save 50W. So it should be more for 390 rig.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: cisahasa on May 18, 2016, 10:34:11 PM
basically easy as this:????

http://s32.postimg.org/5amtxk8lh/mod.png


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Next BillG on May 19, 2016, 06:08:53 AM
basically easy as this:????

http://s32.postimg.org/5amtxk8lh/mod.png

That is right. But there are some rule guiding the mod procedure. You need to follow the rules to mod successfully.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Sarspin on May 20, 2016, 03:19:35 PM
In the HawaiiBiosReader, where do we change the default GPU core/memory frequency? I want default to be 950/1000MHz.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Docnaster on May 23, 2016, 01:30:54 PM
In the HawaiiBiosReader, where do we change the default GPU core/memory frequency? I want default to be 950/1000MHz.

In the picture above, you change the GPU/Mem clock 1 from 1000/1250 to 950 1000. that should work for you.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Next BillG on May 25, 2016, 07:04:21 AM
In the HawaiiBiosReader, where do we change the default GPU core/memory frequency? I want default to be 950/1000MHz.

In the picture above, you change the GPU/Mem clock 1 from 1000/1250 to 950 1000. that should work for you.

I tried the above procedure. It is working well.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Masked_Immortal on July 08, 2016, 07:15:54 PM
I tried to undervolt my gigabyte r9 390 via  this method, as you know these cards are voltage locked!
i started with 1060 as final voltage and go up to 1130...
but no success, stability issue in dual mining, any further voltage does not has considerable effect on temperature :-\


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Zistmine on July 11, 2016, 02:18:43 PM
I tried to undervolt my gigabyte r9 390 via  this method, as you know these cards are voltage locked!
i started with 1060 as final voltage and go up to 1130...
but no success, stability issue in dual mining, any further voltage does not has considerable effect on temperature :-\

You just need to reduce the core frequency to increase the stability. I run the core at 970 MHz at 984 mV.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: sp_ on July 11, 2016, 07:59:34 PM
I saved 160Watt per card with a homemade modded bios. Gigabyte G1 390. (using the claymore dual miner)

Etherum: 27MHASH
siacoin: 415MHASH.

The voltage is not locked, you need to use a hex editor and reverse engeneering. (cracking)


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Boathouse on July 12, 2016, 06:42:48 AM
I saved 160Watt per card with a homemade modded bios. Gigabyte G1 390. (using the claymore dual miner)

Etherum: 27MHASH
siacoin: 415MHASH.

The voltage is not locked, you need to use a hex editor and reverse engeneering. (cracking)

You said you saved 160W per card. What is the power consumption per card on the wall after the mod?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Calivet on August 03, 2016, 10:26:27 PM
when you say 160w do you mean 160w measured at the wall or after you have calculated it with the power efficiency of your psu?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Mzie on August 04, 2016, 07:40:00 AM
Thanks will look into that


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: naum1881 on August 11, 2016, 08:27:15 AM
Hi Bobben 2,

thx for your detailed post. Everything is fine for our R9 390 cards in common, but we really expected some troubles in stability with only several cards out of 100+.

You've already edited bios for 380X, could you, pls., share it with us?


Thank you in advance.




Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: adaseb on August 12, 2016, 05:27:31 AM
I got a 390 ASUS STRIK and just wondering whats the best efficiency one has gotten.

So far the best I can do is 1.03V (shown in MSI afterburner voltages)  at 1050/1500 and its about 7.5W/MHS.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: genuin on August 12, 2016, 07:20:41 AM
But the memory controller load is usually over 90% if I set the frequency to be 1250 MHz. I think Etehreum uses a lot of memory access.
yes sir ,in fact Etehreum uses a lot of memory access


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: adaseb on August 12, 2016, 10:04:59 AM
The best I could get was this

27.1MH/s using 170watts running at 950/1500 using 0.938V

So about ~ 6.3W/MHS.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Heardalis on August 12, 2016, 11:21:58 AM
The best I could get was this

27.1MH/s using 170watts running at 950/1500 using 0.938V

So about ~ 6.3W/MHS.

with a bios mod?
can u share the mod?

Also try it on Dual?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: sp_ on August 12, 2016, 11:36:48 AM
I get 26mhash eth and 500mhash sia (-dcri 40)  at around 180watt per 390( gigabyte g1). ( modded bios)

Using claymore v 5.3


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Heardalis on August 12, 2016, 11:42:22 AM
I get 26mhash eth and 500mhash sia (-dcri 40)  at around 180watt per 390( gigabyte g1). ( modded bios)

Using claymore v 5.3


cool...so can u share ur mod ?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: adaseb on August 12, 2016, 11:52:48 AM
I get 26mhash eth and 500mhash sia (-dcri 40)  at around 180watt per 390( gigabyte g1). ( modded bios)

Using claymore v 5.3


So if you only mined ETH without sia it would only use 140watts ?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: adaseb on August 12, 2016, 11:54:31 AM
The best I could get was this

27.1MH/s using 170watts running at 950/1500 using 0.938V

So about ~ 6.3W/MHS.

with a bios mod?
can u share the mod?

Also try it on Dual?

Read the first post and try those instructions. I can't post my ROM because its only for my specific card. Use HawaiiBiosReader and edit the values manually and flash.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: sp_ on August 12, 2016, 12:28:27 PM
I get 26mhash eth and 500mhash sia (-dcri 40)  at around 180watt per 390( gigabyte g1). ( modded bios)

Using claymore v 5.3
So if you only mined ETH without sia it would only use 140watts ?

I think it was 160W. Don't remember. I flashed around 100 cards and only 2 have failed. Needed to reflash to default. I also have some xfx 390 cards, and get more errors with these. I think the G1 series has bether asic quality. I made 2 mods with almost the same settings.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: sp_ on August 12, 2016, 12:29:31 PM
I get 26mhash eth and 500mhash sia (-dcri 40)  at around 180watt per 390( gigabyte g1). ( modded bios)
Using claymore v 5.3
cool...so can u share ur mod ?

No, but it is not very dificult. Use the hawaiibios tool and try yourself.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: naum1881 on August 14, 2016, 05:45:25 PM
I've already got at least the same results: only 3 cards out of 100 don't want to work with a table mentioned in first post.
What can you advise me to do with those 3 cards?
 


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on August 16, 2016, 03:36:28 PM
Hi Bobben 2,

thx for your detailed post. Everything is fine for our R9 390 cards in common, but we really expected some troubles in stability with only several cards out of 100+.

You've already edited bios for 380X, could you, pls., share it with us?


Thank you in advance.




Hi ,
I added links to modded BIOS files in the O.P.
Cheers.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: NewbieTreider on August 16, 2016, 07:26:17 PM
Thank you for share bobben2!

I will try the 380x bios once I back home!

Again, Thank you very much! :)


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: crazyearner on August 16, 2016, 08:00:25 PM
What would be a good wattage drop can do on the cards without effecting has rate that much on sapphire r9 390 nitro card  using core voltage (mV) on mis after burn??


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Pmalek on August 19, 2016, 10:28:26 AM
I have been following Bobben's first post but I dont understand this voltages on my Gigabyte 390 card...

Here is the screen

[Gigabyte 390 bios.jpg](https://postimg.org/image/brf8wjm89/)



Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Q_R_V on August 19, 2016, 10:55:03 AM
I have been following Bobben's first post but I dont understand this voltages on my Gigabyte 390 card...

Here is the screen

[Gigabyte 390 bios.jpg](https://postimg.org/image/brf8wjm89/)



Put Bobben's values into four "Voltage" tabs in "Limit Tables" section + into two "Voltage" tabs in "PowerPlay" section.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: uncaer9 on August 19, 2016, 11:37:29 AM
currently im running 2x saphire nitro  R9 390 im undervolt to -15% and overclock to 1100mz no mod bios and running perfect at 31mhs
if i mod my bios what i get ?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Deepcleen on August 20, 2016, 09:06:15 AM
currently im running 2x saphire nitro  R9 390 im undervolt to -15% and overclock to 1100mz no mod bios and running perfect at 31mhs
if i mod my bios what i get ?

For my own mod, I run the R9 390 below 1000mV, but the Core/Memory is just 975/1000 MHz, so the hash rate is just 27.4 MH/s.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Sarspin on August 25, 2016, 08:18:46 AM
currently im running 2x saphire nitro  R9 390 im undervolt to -15% and overclock to 1100mz no mod bios and running perfect at 31mhs
if i mod my bios what i get ?

For my own mod, I run the R9 390 below 1000mV, but the Core/Memory is just 975/1000 MHz, so the hash rate is just 27.4 MH/s.

You might need to mod the memory strap timing.

I heard the Eliovp has modified the Sapphire Nitro cards in the past.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: beks1 on September 09, 2016, 07:52:25 PM
Any bios for sapphire 380 Nitro (elpida)?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Sarspin on September 15, 2016, 04:50:01 PM
Any bios for sapphire 380 Nitro (elpida)?

You can use some kind of BIOS editor to do the mod yourself. There are many instructions on the internet.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: joaocha on September 15, 2016, 07:54:27 PM
How can i edit Gigabyte 390/390x voltages? since bios is locked?
Someone can help me?



Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Hutalar on September 16, 2016, 06:05:03 PM
How can i edit Gigabyte 390/390x voltages? since bios is locked?
Someone can help me?



You can use the HawaiiBiosReader Hawaii Bios Reader Tool for Bios development

https://github.com/OneB1t/HawaiiBiosReader


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: matrix1233 on September 30, 2016, 11:13:31 AM
hi,
am confused, i have a "Sapphire Radeon R9 390 NITRO Tri-X OC (UEFI / Backplate), 8 Go" it's the same for Nitro that i read above


 (
Sapphire 390 Nitro 1100mV ROM:

https://www.dropbox.com/s/gw0lhozg4hskz2a/sapp390_1100.rom?dl=0


?

we are speaking about the same card ?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on November 08, 2016, 05:48:29 PM
hi,
am confused, i have a "Sapphire Radeon R9 390 NITRO Tri-X OC (UEFI / Backplate), 8 Go" it's the same for Nitro that i read above


 (
Sapphire 390 Nitro 1100mV ROM:

https://www.dropbox.com/s/gw0lhozg4hskz2a/sapp390_1100.rom?dl=0
)  

?

we are speaking about the same card ?

It is the same card, but don't take my word for it.
You can check the BIOS name in the upper right corner of Hawaii Bios Reader to be sure.

I will tell you a secret.  
In Hawaii Bios Reader if you click on VRM settings and there is a table with an entry which says 0x8D VDDC Offset, then you are in luck.
Because here you can enter a voltage offset that will apply to all DPM states from 1 to 7.  
If you would like an undervolt of, say -100mV, then you would enter a value of 65520.
If you need a different voltage and are not sure where the above value was derived, then PM me.
If you do this, then leave the voltage values untouched in the PowerPlay and LimitTables.
This will work only if Hawai Bios editor shows a table, which it does for my Sapphire Nitro cards.

Be sure to read the red text above the table and be sure you know what you are doing.



Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: felix18yu on November 16, 2016, 12:09:12 PM
somebody can help about gigabyte r9 390 undervolt?

I can not find anything on http://forums.guru3d.com/...


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Boathouse on November 21, 2016, 08:41:39 AM
somebody can help about gigabyte r9 390 undervolt?

I can not find anything on http://forums.guru3d.com/...


You can follow the advice of the OP. But that is mainly giving fixed voltage to the various clock frequencies.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: h311m4n on November 21, 2016, 10:46:38 AM
somebody can help about gigabyte r9 390 undervolt?

I can not find anything on http://forums.guru3d.com/...


Simply set a fixed values for DPM7 (for instance 1000Mhs/1100mv), leave the rest on auto. I say this for 2 reasons:

1. When you mine, only DPM7 matters as it's the highest frequency
2. Your card doesn't have dual bios, so if you f things up, you should still be able to boot without issues.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bazsy on November 30, 2016, 10:09:18 AM
Any bios sapphire r9 380 nitro 4gb samsung memory?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on November 30, 2016, 09:42:38 PM
Any bios sapphire r9 380 nitro 4gb samsung memory?

Just download & use the Tonga Bios editor to edit the voltages and frequencies.  You can also look up nerdralph's thread on how to modify the memory timings to increase hash rates further.  For that you will need to use a hex editor after which you will again need to open the bios file in Tonga BIOS editor to fix the checksum.   My Sapphire 380X does 23.5 MH/s mining ETH/ETC and it is running at 1000/1650 core/mem.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: GameFace1974 on December 07, 2016, 03:35:05 PM
Thanks for the tutorial ill definitely need it, any chance you know a good Hawaii Bios editor for Mac?

 :)


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: cleverserge on January 19, 2017, 09:47:11 AM
Hello,

Will the method form the first post work on MSI R9 390? What version of drivers are required? I'm running on Win7 x64 with 15.12 Catalyst

Thanks


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on January 19, 2017, 04:30:48 PM
Yes, it should work on all Hawaii cards, although I have only been able to verify it work  on
XFX,Sapphire Nitro and Asus  390-cards


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: cleverserge on January 19, 2017, 08:10:11 PM
And one more question.

Is it worth undervolting for Zcash mining? Will it give any profit?
Now my r9 390s run on stock clocks with 350Sol/280W per card

Thanks


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: bobben2 on January 19, 2017, 08:46:32 PM
Yes, you would benefit from undervolting core regardless of the coin/algorithm used to mine it.
280W sounds high for mining ZEC.  You probably run with a high core clock.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: cleverserge on January 19, 2017, 09:37:50 PM
Yes, you would benefit from undervolting core regardless of the coin/algorithm used to mine it.
280W sounds high for mining ZEC.  You probably run with a high core clock.


Yes, my 6 x R9 390 at 1140/1500 gives 2200Sol/s/1700W with Claymore 11.1 . And on stock clocks I get only 2000 Sol/s, and unknown Watts. On Saturday I'll try to mod the bios and will see power consumtion.

P.S. If I send you the original bios and the modified one made by your manual can you please check it? I'm afraid to damage my card :(

I've modded BIOS for my cards. 5 of 6 goes well with reduced voltage (power consumption reduced from 270W to 220W on the wall per card on default clocks Claymore Zcash miner 11.1). But the 6th works about a mnute or less and then halts. I've flashed back the "problem" card with its original rom.
What should I change in the ROM to get it work properly with low voltage?
And one more question. Nitro's default GPU clock is 1040 as I understood from your rom file. MSI has only 1005 as a default. Can I set GPU to 1040 for my card with 1106mv in DPM7 row? In what way can be overclocked cards with powersafe rom?

left is original, right is modded
https://www.dropbox.com/s/3dxzo8emvgz5ybf/screen_2017-01-22_23-31-51_window.png?dl=0


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Deepcleen on February 24, 2017, 11:54:49 AM
Yes, you would benefit from undervolting core regardless of the coin/algorithm used to mine it.
280W sounds high for mining ZEC.  You probably run with a high core clock.


Yes, my 6 x R9 390 at 1140/1500 gives 2200Sol/s/1700W with Claymore 11.1 . And on stock clocks I get only 2000 Sol/s, and unknown Watts. On Saturday I'll try to mod the bios and will see power consumtion.

P.S. If I send you the original bios and the modified one made by your manual can you please check it? I'm afraid to damage my card :(

I've modded BIOS for my cards. 5 of 6 goes well with reduced voltage (power consumption reduced from 270W to 220W on the wall per card on default clocks Claymore Zcash miner 11.1). But the 6th works about a mnute or less and then halts. I've flashed back the "problem" card with its original rom.
What should I change in the ROM to get it work properly with low voltage?
And one more question. Nitro's default GPU clock is 1040 as I understood from your rom file. MSI has only 1005 as a default. Can I set GPU to 1040 for my card with 1106mv in DPM7 row? In what way can be overclocked cards with powersafe rom?

left is original, right is modded
https://www.dropbox.com/s/3dxzo8emvgz5ybf/screen_2017-01-22_23-31-51_window.png?dl=0

For that card, you can just increase the voltage a bit.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: dooferorg on April 20, 2017, 01:27:52 PM
I'm a bit bummed with my ASUS Strix 390. I did a backup with ATIWinFlash, tried the voltage changes as outlined and it just crashes when attempting to mine.

To make matters worse, I re-flashed the backup bios that I made and now the card doesn't do ANYTHING in the ZCash miner. Just sits there with no apparent load change. What is really odd is that in Claymore ZCash miner it says 'Card recognized as Radeon 290' .. even though it's a 390 and the device manager says it's a 390 too.

I've tried reflashing a few times, done the driver removal (DDU) and reinstall and no joy.

I have it aside on a separate system as the only card. It is usable within Windows 10 for the desktop, although I've not done any 3DMark or FurMark testing with it.


Anyone have any hints on how to get this card usable again?


My card is ASUS Strix 390 8GB.. If anyone has another BIOS file that might work, can we PM?



Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Deepcleen on May 09, 2017, 10:28:29 AM
I'm a bit bummed with my ASUS Strix 390. I did a backup with ATIWinFlash, tried the voltage changes as outlined and it just crashes when attempting to mine.

To make matters worse, I re-flashed the backup bios that I made and now the card doesn't do ANYTHING in the ZCash miner. Just sits there with no apparent load change. What is really odd is that in Claymore ZCash miner it says 'Card recognized as Radeon 290' .. even though it's a 390 and the device manager says it's a 390 too.

I've tried reflashing a few times, done the driver removal (DDU) and reinstall and no joy.

I have it aside on a separate system as the only card. It is usable within Windows 10 for the desktop, although I've not done any 3DMark or FurMark testing with it.


Anyone have any hints on how to get this card usable again?


My card is ASUS Strix 390 8GB.. If anyone has another BIOS file that might work, can we PM?



If it has dual bios, you can get the other bios.


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: antantti on May 09, 2017, 12:01:10 PM
Anyone have any hints on how to get this card usable again?
My card is ASUS Strix 390 8GB.. If anyone has another BIOS file that might work, can we PM?

If it has dual bios, you can get the other bios.

It doesn't.

Original hynix-only bios if dooferorg still needs it, use dos atiflash:

https://ufile.io/ztip3



Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: ismail-uk on September 20, 2017, 10:20:51 PM
Hi Everyone before open a topic i checked here does have any bios mod or not. Found only 1 of them which is not working/

I bought 8 r9, 390 ,8gb card and i need mod. Right now without modding i am getting 30-31 mhz but what i heard it can be push around 35-40.

Also i can use one mod for all card or all card need own mod bios?

I have bellow cards

1x Gigabyte Windforce

1x MSI AMD Radeon R9 390X 8GB

3 x ASUS STRIX R9 390 DC3OC 8GB GDDR5

1x POWERCOLOR R9 390 8GB

1X SAPPHIRE NITRO R9 390 8GB

1X MSI R9 390 8GB



I hope someone can help me.

Thanks


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: r3lentleSs on October 28, 2017, 02:28:42 PM
hi,
am confused, i have a "Sapphire Radeon R9 390 NITRO Tri-X OC (UEFI / Backplate), 8 Go" it's the same for Nitro that i read above


 (
Sapphire 390 Nitro 1100mV ROM:

https://www.dropbox.com/s/gw0lhozg4hskz2a/sapp390_1100.rom?dl=0
)  

?

we are speaking about the same card ?

It is the same card, but don't take my word for it.
You can check the BIOS name in the upper right corner of Hawaii Bios Reader to be sure.

I will tell you a secret.  
In Hawaii Bios Reader if you click on VRM settings and there is a table with an entry which says 0x8D VDDC Offset, then you are in luck.
Because here you can enter a voltage offset that will apply to all DPM states from 1 to 7.  
If you would like an undervolt of, say -100mV, then you would enter a value of 65520.
If you need a different voltage and are not sure where the above value was derived, then PM me.
If you do this, then leave the voltage values untouched in the PowerPlay and LimitTables.
This will work only if Hawai Bios editor shows a table, which it does for my Sapphire Nitro cards.

Be sure to read the red text above the table and be sure you know what you are doing.


I tried the 1100 option and i got black screened in start up.... Sapphire NITRO R9 390 TRI_X 8gb
Anybody has a MODDED working bios?


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: ippikiokami on December 19, 2017, 12:39:37 AM
Dumb question, but is there no way to undervolt the card if the bios is unmodded (r9 390 Asus Strix)


Title: Re: One way to undervolt R9 300 series cards by BIOS mod
Post by: Deepcleen on March 17, 2018, 09:40:07 AM
Dumb question, but is there no way to undervolt the card if the bios is unmodded (r9 390 Asus Strix)

You should be able to mod the 390 BIOS with HawaiiBiosReader. For me with the XFX R9 390, The -100mV from the MSI afterburner is not enough.