Basic Guide: Mining Ethereum with RX400/RX500 GPUssteemCreated with Sketch.

in #mining7 years ago (edited)

I decided to write this article because I believe that newbies, like myself, may benefit from a more comprehensive bios mod guide for the latest Polaris GPUs.  I want to also thank all the people who have posted on the internet which allowed me to self learn and come to this point in my altcoins mining hobby!

Disclaimer: The content of this article is purely based on what I have read in multiple forums and tested on GPUs I have full accountability for.  This article in no way represents the best practice or method nor provide any implied guarantees so please use at your own risk.

System Configuration: 

  • Intel Core 2 Duo E6600 system
  • MB w/1 PCI-E slot
  • 2GB RAM
  • SATA III 240GB SSD
  • 1x to 16x USB riser
  • Operating System: (dual boot)

GPUs tested (sorted by brand):

Software Tools used:

  • AMD Crimson Drivers: For 400 series, use 16.11.5.  For 500 series use 17.4.3. Some of you might asked, why did I not use the latest drivers?  Those were selected because they are the latest version that supports modded bios without patching. (windows only, ethos works with all cards out of the box)
  • Atiflash 2.74: for saving original rom & flashing modded rom to the GPUs (windows only).
  • Polaris Bios Editor 1.4.1 - modifying and saving to custom rom (windows only)
  • GPU-Z v1.20.0 - optional: but good for looking at the card sensor information during mining (windows only)
  • Display Driver Uninstaller 17.0.6.4 - used to wipe drivers and disable windows automatic driver installation. (extracted to c:\temp\ddu)
  • Open Hardware Monitor 0.8.0 Beta - optional: used to monitor the core and mem speeds and GPU temperature.  Also used to manually set fan speeds. (windows only)
  • Claymore Dual Miner v9.3 - my personal favorite miner!  Works for both Ethos and Windows.  Bear in mind there is a 1% developer fee which I am happy to pay! (windows and ethos)

OS Prep:

  • Ethos 1.2.1: I love this... pretty much a no brainer.  Boot it up and it just works!  Well, to be fair, you should follow their KB to set up the miner with your wallet, at a minimal. (Ethos Knowledge Base)
  • Windows 10:
    1. Install it
    2. After first boot, restart into Safe Mode
    3. Run DDU to clean and restart
    4. Stop and disable Windows Update service (optional: I do this because I don’t want countless, you need to be updated, reboot now!)
    5. Install the appropriate drivers for the 400 or 500 series.  Note: if you plan to only test mining with Ethos, you can skip this step.  Bios rom modding and flashing does not require AMD drivers
    6. Download and extract tools:
      • Atiflash -- I used c:\temp\atiflash
      • Polaris Bios Editor -- Only the exe file is needed. I used c:\temp
      • GPU-Z -- I used c:\temp
      • Open Hardware Monitor -- I used c:\temp\ohm
      • Claymore Dual Miner -- I used c:\temp\cdm.  For this, you would need to configure the miner start.bat.  Instructions in the same page as linked

Modding & Testing (all done via Windows and assuming the basic setup was done):

  • Unbox GPU and install it! ( :-p )
  • Start mining with the unmodded GPU.  
    • 470/570 - You should see ~22 MH/s for each GPU
    • 480/580 - You should see ~24+ MH/s for each GPU
    • Note: For those that want to mine with Ethos, reboot to Ethos directly instead of Windows 10.  You may see the numbers dip below 24 and 22 respectively in Ethos.  I attributed this to Ethos using a generic AMD driver that is not as optimized as the AMD Crimson Windows drivers.
  • Stop mining.  For those using Ethos, reboot to Windows 10.
  • Open a Command Prompt (CMD) as administrator, navigate to c:\temp\atiflash
  • Save the bios to a rom file using the following command: 
    • “atiflash.exe -s 0 “STRIX-RX480-8G-GAMING_original.rom”  
    • Note: I like to name the rom files with a meaningful name so that I will NOT confuse myself when I have a ton of copies of rom files later.
  • Launch Polaris Bios Editor.  Open the rom file that was just saved. 
  • Change VRAM timing values
    • Expected effect: should bring the hash rate up by about 4mh/s
    • 470/570 - Copy the 1500 timing to 1625, 1750, and 2000
    • 480/580 - Copy 1750 to 2000, 1625 to 1750, and 1500 to 1625
  • Change the MEMORY frequency 
    • Expected effect: should bring the hash rate up by 2-3mh/s
    • 470/570 - Change 1650 to 2100, which is the default max.  While it is possible to push these memory up higher speeds, I generally do not attempt it for it will likely require more power and I have friends who have burned out their memory pushing the limits.
    • 480/580 - Change 2000 to the range of 2150 to 2250.  This largely depends on the quality of the memory.  Most of the GPUs tested were stable at around 2200.  Start by setting at 2200.  When mining, if the hashrate slowly declines but never recovers, lower it by increments of 5.  If it is stable, you could up it by increments of 5.  Repeat this until you find the most stable setting for your GPU.
  • Change the GPU frequency 
    • Expected effect: reduce hash rate by ~1mh/s but big drop in power consumption.  You could measure the GPU consumption by using GPU-Z, sensor tab.
    • Set the frequency between the range of 1050 to 1200.  
    • Find a sweet spot where each increment in frequency contributes the least increase in hashrate then set it back to the previous frequency.
    • The lower your GPU frequency, the less power the card will consume.
  • After performing the modifications in the 3 "Change" steps above, save the modded rom file by clicking "save" in the Polaris Bios Editor.  Remember to use a verbose name to keep things less confusing.
    • Example name: “STRIX-RX480-8G-GAMING_mod_v1.rom”
  • Now comes the scary part!  Flashing the modded rom back to the card.  This really isn't too bad.  I normally refrain from using the "-f" force option so that the flash executable self checks are all in place.  Flash the bios back by using the following command:
    •  “atiflash.exe -p 0 “STRIX-RX480-8G-GAMING_mod_v1.rom”   
  • Test mining and repeat the "Change" steps as needed.

Snapshot of rx470/570 changes:

Snapshot of rx480/580 changes:

I did perform testing around with the mV (for GPU and VRAM), POWERPLAY, and POWERTUNE numbers but I did not find any “generally applicable” methods that works with all cards.  Perhaps when I find out more, I will update this article with the information.
Results:

  • Here is a snapshot of one of my rigs running 6 GPUs.  You could see the running core and mem frequencies as well as the type of GPU.  I kept the core frequencies low to be more power efficient.
  • Snapshot of the Claymore Dual Miner status.  Watch for rejected shares, if that number is higher than 0.1% over a longer period, such as days, should consider being less aggressive with the VRAM frequencies.
  • Snapshot of Claymore’s miner manager of more rigs... showing the stability

By adopting this guide, it will likely reduce the power consumption of each card as compared to out of the box due to the lowering of GPU frequency from stock and overclocking the VRAM.  Each card should also gain 4-6Mh/s depending on the frequencies.  Be sure to test mining for at least 24 hours before making the assumption that the current settings are stable.

Happy mining!.
 

Sort:  

Thank you for this write up! I have some XFX 580 cards that were not going over 21Mh with ethOS; I switched to Claymore and that brought them up to 22MH/s; I tried making some tweaks with the bios, just using the ethos atiflash command to save, and then making the modifications on another windows machine using WinSCP to copy the files back and forth; I was able to get them running at 25mH/s with the timing, but the Memory MHz any changes to the 2000 up to 2100 (got 19mHz) then 2200 (got 20mHz), so I dropped that back down to 2000, not sure what is going on there, but there is also a 300Mhz and a 1000Mhz entry in my Memory timings; I noticed you didn't have the 1000Mhz entry; any ideas on what I could be doing wrong, or are these cards just maxed out? Actual model number is RX-580P8DFWR, and it looks like it exceeds the specs on the RX-480 Black Edition, so I'm wondering if there is a way to get it go higher, get an extra 5mH/s out of it. Oh, and BTW, the Polaris software you linked to, would not open my BIOS files as mine were 256K; I had to use a newer version that I got from here: https://github.com/jaschaknack/PolarisBiosEditor

Hi steemir, thanks for your feedback! The version of PBE I linked to is 1.4.1 by elpida. What you've provided would work as well but I found it slightly more difficult to use in that I can't modify the values in place. With the elpida version, it does work with 256k bioses for I had some of them too. Yes, the pictures I posted are for RX4x0 but the concept is the same for the RX5x0. Go ahead and leave the 300 and 1000 as is and modify the 2000 value per my guide. If you had modified the timings according to my post and not getting success, it is likely that you have 580s that came with really good timing already. Start from original rom and only copy timing from 1750 to 2000. Lemme know if that works and best of luck!

Awesome post!

Thanks for sharing! I recently discovered really interesting story explaining why Ethereum Classic may surpass Ethereum. It would be interesting to find out what would be your opinion on this subject matter. Here it is:

As an early Ethereum supporter, I've come to the difficult conclusion that Ethereum Classic will eventually surpass Ethereum in market capitalisation in and around the Casper transition.

Why?

I've empirically discovered (for myself) that the economics of PoW are fundamentally different than PoS.

Ethereum will excise all it's miners during the Casper transition and this will collapse its internal crypto-economy that drives its current market-cap.

Since Ethereum Classic intends to maintain PoW (even if hybridized), it will not suffer the marketcap excision of (2).

During (2), the miners will likely migrate en masse to Ethereum Classic (rather than forking) resulting in the transitive transfer of the lost ETH value into ETC (via the crypto-economics of mining).

On the basis of (1), (2), (3) and (4) and assuming nothing else environmentally changes, it's clear that this value transfer will occur. I've personally re-positioned my own holdings based on this reasoning (which was a painful decision, since I was one of those blockchain developers who berated ETC during the DAO fiasco).

Is there anything that could change this inevitable outcome?

Unlikely. Suppose that dapps like Augur or Swam City become massive successes. The demand-side liquidity they induce should offset the downside from (1)-(4), except that:

Any dapp success or innovation on Ethereum can (and most likely will) be duplicated on Ethereum Classic, since it's all open sourced.

The only scenario I see that can keep Ethereum beyond Ethereum Classic is the promise of mass scalability from Casper & Sharding. This means a dapp that cannot be computed on the Ethereum Classic network. Though this could happen (assuming casper + sharding were astounding technical successes), this scenario is far ahead into the future and all of the above still needs to occur before then.

On this basis, Ethereum Classic is likely to surpass Ethereum during the Casper transition. What are your thoughts on this?

First and foremost, I think what you read makes a lot of sense. I am not an expert in this field, but I will share my layman perspective/opinion. The 2 perspectives are:

  1. As a small time investor: I look at this much like investing in the stock market... so generally what the technology had achieved, what is in the roadmap, and who is supporting it by funding it and/or innovating with it. With Enterprise Ethereum Alliance backing it and the ongoing innovation such as UN using Ethereum to distribute funds in a large scale test, I will likely bet on ETH.
  2. As a hobby miner: I do not and never will have enough stake to play when the transition happens. I think of it as ETH growing up to become a big boy's game. As a small boy, the logical course of action would be to switch to ETC or other altcoins so that GPU mining may remain as profitable as possible.

Excellent informative post, thank you!
Good timing also as my son just got home from college and we're going to dust off and update the old milk crate mining rig we used on X11 2 years ago.
To give you an idea of that mining period it's made up of 2 x 5850s and 1 x 7850 so those obviously need to come out. I have an XFX R9 390x to pop in it but not quite sure what 2 additional cards is the best ROI at this moment to buy. Based on today's prices can you make me a suggestion please?

Sounds like a fun father/son project! The answer largely depends on what you want to mine. If you want to stay with the X11 algorithm, you might consider nVidia cards or ASIC. I personally have never tried to mine with any nVidia cards or ASIC but read that they do better with X11 as compared to Radeon cards. If you plan to mine Ethereum, then this write up is applicable. I'd suggest buying RX500 series cards (RX400 series are slowly phasing out) and go for the brand that is on sale, I bought the Gigabyte RX580 for $219 from Newegg.

Have a wonderful time building the miner with your son!

Thank you for this post, but I'm still having issues after following this guide.

My rig has a single RX 570 card, but the hash rate is 0.000 Mh/s and it's not finding any shares. I use ethermine.org as my pool.

I don't know why it's not putting out anything. Claymore recognizes the card. I plugged a monitor into the card via HDMI and it works, screen displays. Fans run.
However, if I run Claymore with the screen attached, Windows completely crashes and has to reboot. It only runs if there is no monitor attached, but gives 0.000 Mh/s.

This sounds like the 2 occasions that I encountered something similar...

  1. I had a motherboard that would refused to mine under windows, once I launch Claymore, it would simply crash. Using ethOS, it worked like a charm. It is an older motherboard so it could be chipset related.
  2. I had a version of Crimson drivers that were not bios mod friendly. Check to ensure you have a bios mod friendly version (posted in my article) or use the patch in this article (https://www.monitortests.com/forum/Thread-AMD-ATI-Pixel-Clock-Patcher).

Good luck!

Congratulations @jsfoo8! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of comments

Click on any badge to view your own Board of Honnor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

If you want to support the SteemitBoard project, your upvote for this notification is welcome!

Yes, this is absolutely awesome! Where did you settle for memory on the XFX GTR Black Edition? A couple of mine are having trouble over 2100, but I also think it may be a riser issue.

I am running my XFX cards, including the the Black Edition, at 1191 gpu core and 2191 vram. Most of them are consuming, per GPU-Z, between 72w to 80w. They are pretty awesome cards. If I had to guess, the card may be starving for power... The other situation I have encountered where all my cards running at a lower frequency was due to software settings that needed to be cleared.

Try following these steps to see if you could figure out why the card isn't getting over 2100.

  1. Restore GPU to stock rom.
  2. Run DDU (assuming windows) in safe mode to clean out drivers.
  3. Reinstall Crimson drivers 16.11.5. Reboot. This does not make sense but it would undo settings that are set by software such as MSI Afterburner, before you mine, go to Radeon settings and reset the configuration to default for all cards.
  4. Mine and you should see 24MH/s.
  5. Mod the orignal rom and change the timings only, then flash to card. (assuming rom name v1)
  6. Mine and you should see 28MH/s.
  7. Mod "v1" and up vram frequency to 2200. (saving rom as v2)
  8. Mine and you should see 29-30MH/s or more. Ensure that the hash rate does not continue to drop while mining. Monitor with GPU-Z and watch the GPU and Memory usage %. It should stay at 100% if the card likes the mod.
  9. Repeat steps 7 and 8 until you see that stability.
  10. Once you get a stable vram frequency, proceed to tune the core frequency if you would like to be more power efficient. Otherwise, all done...

I have not encountered a card that can't go above 2100 yet but that could be a crap shoot really... some may say to look at the ASIC quality in GPU-Z but I have a card that is 64% that outperforms another card that is 92%. Go figure!

Hope this helps!

Thank you for the follow up information it's incredibly helpful. I'm using ethOS and haven't put these cards in a Windows box, but will try and tweak the best I can through BIOS mods and the ethOS config.

Are you flashing the card to 1191 and 2191 or are you using a config to manage those more granular tweaks?

You may be right about the card starving for power, I have them all set with a ptune of 3. Do you set a ptune value or let the new timings decide?

You're welcome. I use ethOS as well because it is far superior in stability than Windows but I found tuning by software something that I am unable to get a firm grasp on so I have resorted to bios mods only. So yes, I am flashing the card to the specifications in Windows and then mining in ethOS without further tuning.

So far so good, the unstable cards are hashing again and seem to be doing well. I also have 24x MSI 580 8G Armor's and using your methods have been hashing at or near 30Mh/s for 22 hours. This really is the best guide out there and I can't thank you enough for the thoroughness provided in your post.

ethOS has been the ideal OS for mining and the only thing I found lacking was notification services, so I built one. If you are interested it's currently in beta and you can sign up at ethOSOps.com. There is no installation as it monitors your panel and either sends you hourly notifications or immediate alerts. Here is an example of the hourly that I currently get, ethOSOps - Hourly Notification.

Thanks again!
Scott

I am glad that my article was able to help you! I took a quick look at what you have built and it is looking good! I use Claymore's miner so I was able to monitor all my rigs via the remote manager. I can see how what you have built will be invaluable to the folks that uses other miners. Excellent work!

Hello sfoo8, first thank you for your tutorial, it is really good! I have made a 6x rig with 2 x of SAPPHIRE NITRO OC RX 470 4GB and 4 x SAPPHIRE PULSE RX 580 8GB. Ive modified the ROM in windows and then I simply connected all to ethOS. It looks everything ok, some hashrates are not so good, 470 cards are in 25 mh/s and 580 are in 27 mh/s, perhaps i have to rework the bios... The issue is that after a couple of hours 1 gpu stops hashing, and is not allways the same one... ive read that this happend to other people and they are assuming is because of the ethOS... any thoughts about this? I will really apretiate your help.
Best Regards! Eddie

Hi eddies, from the mh/s you've reported, it reminded me of a GPU that had the GPU clock and memory clock modded but not the memory timings. To get to +/- 30mh/s, you'd need to have memory timings and memory clock adjusted at least. GPU clock at stock is fine but if you want to reduce power consumption , you should down clock the GPU.

Regarding the 1 GPU stopping after some time, I have seen that as well. I resolved it by switching out the USB riser that I used.

Have fun!

Hi jsfoo8, I FINALLY GOT IT!
I flashed the BIOS again with some rom found in a forum, and now its working really nice. What was surprising to me was that ive got more mh/s with core clock @ 1250 and mem clock @ 2150. After doing that i was @30 mh/s, but only using claymore miner instead of the default ethos miner. So now ive got my 6 gpus doing in total 178 mh/s. Your article helped A LOT!
Hope u keep writing m8.

Best regards!

eddies can you please post a link to the rom you found in forum? i am having big issues trying to understand how to flash and mod BIOS for a Rx580. I am only getting 25 mH/s now on Ethosminer. Or if OP can please post a youtube video it would help tremendously.

Nice post. Haven't tried it yet, but sure I will. So by using the driver, you do not need to patch it?

Congratulations @jsfoo8! You have received a personal award!

1 Year on Steemit
Click on the badge to view your own Board of Honor on SteemitBoard.

Upvote this notificationto to help all Steemit users. Learn why here!

Coin Marketplace

STEEM 0.19
TRX 0.14
JST 0.029
BTC 67044.89
ETH 3251.74
USDT 1.00
SBD 2.64