Bitcoin Forum

Other => CPU/GPU Bitcoin mining hardware => Topic started by: JinTu on April 18, 2012, 01:16:57 AM



Title: GUIDE - Underclocking Memory to 150MHz on a 6990 running Linux
Post by: JinTu on April 18, 2012, 01:16:57 AM
Hi folks,

This question seems to keep getting asked and there doesn't appear to be a definitive reference available, so this is post is intended to capture all the relevant details necessary to underclock your 6990 memory to 150MHz, and drop your core voltage to 1.050V on Linux.

At the present time there are no software tools available to reliably do this, and it requires reflashing the BIOS. The following procedure documents how to do so.


First a disclaimer: This procedure may damage/brick your card. You have been warned.

With that out of the way, I applied these settings on my two XFX 6990s in mid October 2011 and have been running without issues since that time.


Lets get started:

Download the latest version of the following tools: RBE (http://www.techpowerup.com/rbe/), ATIFlash (http://www.techpowerup.com/downloads/2099/ATIFlash_3.95.html)

For the overclock BIOS I did the following:

1) With power off, set BIOS switch to overclock position on each 6990.
2) Boot to DOS on your mining rig with CD/USB/floppy (like Ultimate Boot CD) and attach media with ATIFlash.exe if not on the boot media.
3) Enumerate all cards detected with ATIFlash -i
4) Document the BIOS checksum for each of your cards with ATIFlash -cb x where x is your adapter ID provided in step 3.
5) Dump BIOS on each adapter to USB/floppy with ATIFlash -s x BIOSx.ROM where x is the adapter ID.
6) Remove USB/floppy and attach to a Windows PC with RBE.
7) Load each BIOSx.ROM into RBE where x is the adapter ID.
8) In the Clock settings tab, locate Clock info 00 (this should have GPU (MHz) = 880).
9) Modify the settings for Clock info 00 to have GPU (MHz) = 880, RAM (MHz) = 150, Voltage (V) = ?. (Note: Only change the RAM MHz value)
10) Modify the settings for Clock info 03 to have GPU (MHz) = 800, RAM (MHz) = 150, Voltage (V) = ?. (Note: Only change the RAM MHz value)
http://www.praecogito.com/photobucket/Clock-voltage-settings.jpg
11) In the GPU registers edit VID4 (mV) from 1175 to 1050. Note: The voltage may or may not update in the Clock info section of RBE. This doesn't matter.
http://www.praecogito.com/photobucket/GPU-voltage-registers.jpg
12) Save each BIOS image to the USB/floppy named as BIOSxNEW.ROM where x is the adapter ID.
13) Move the USB/Floppy back to your mining rig.
14) Confirm the checksum on each ROM image with ATIFlash -cf BIOSx.ROM and compare with your previously documented values for each adapter. You can also see these in the Info section of RBE:
http://www.praecogito.com/photobucket/Master-BIOS-info.jpghttp://www.praecogito.com/photobucket/Slave-BIOS-info.jpg

If and only if the checksums match proceed to the next steps

15) Flash each new BIOS onto the respective adapter with ATIFlash -p x BIOSxNEW.ROM where x is the adapter ID.
16) Once all adapter BIOS images have been flashed, reboot. It is important not to reboot until both master/slave BIOS on a card have been flashed before rebooting.
17) Boot back into Linux, and confirm the clock settings have been updated with DISPLAY=:0 aticonfig --adapter=all --odgc
18) Mine away (cgminer no longer requires setting --gpu-memdiff)

References: 1 (https://bitcointalk.org/index.php?topic=46236.0), 2 (http://www.overclock.net/t/968084/amd-radeon-6990-club/600#post_13034600)

Have fun!


Title: Re: GUIDE - Underclocking Memory to 150MHz on a 6990 running Linux
Post by: GenTarkin on April 18, 2012, 07:31:22 PM
Yeah, thats what I do on my headless miner for windows, because it seems cgminer cant change clocks when nothing is connected to the card. So, Ive started making custom BIOS's for all my cards.
Using GPU-z in windows you can get a good copy of the BIOS for each gpu as well.
But NEVER use RBE to grab the ROM from GPU, it corrupts the ROM file because it truncates it to 64k or something.


Title: Re: GUIDE - Underclocking Memory to 150MHz on a 6990 running Linux
Post by: bulanula on April 18, 2012, 10:51:15 PM
I suppose the greater question here is this :

Can I use RBE on Linux with WINE or something ???

As I see it, this is platform independent and not for "running Linux" because you still need Windows for RBE ...

Otherwise, good guide !


Title: Re: GUIDE - Underclocking Memory to 150MHz on a 6990 running Linux
Post by: bitlane on April 18, 2012, 11:10:52 PM
Yeah, thats what I do on my headless miner for windows, because it seems cgminer cant change clocks when nothing is connected to the card.
Bullshit. I have 5 headless Win7/CGMiner 2.3.x machines running 18 cards that say different (network connected only, UltraVNC to manage them all).

Yeah, thats what I do on my headless miner for windows.....Ive started making custom BIOS's for all my cards.
Since when does Windows support custom flashed ATI/AMD BIOS's that are guaranteed to fail driver hash check upon bootup leading to BSOD/Auto-Reboots ?
AFAIK, this only works IF using Linux.

I know the whole 'YMMV' thing...but these 2 instances above don't seem very plausible, even with the best of luck.


Title: Re: GUIDE - Underclocking Memory to 150MHz on a 6990 running Linux
Post by: JinTu on April 18, 2012, 11:33:13 PM
Yeah, thats what I do on my headless miner for windows, because it seems cgminer cant change clocks when nothing is connected to the card. So, Ive started making custom BIOS's for all my cards.
Using GPU-z in windows you can get a good copy of the BIOS for each gpu as well.
But NEVER use RBE to grab the ROM from GPU, it corrupts the ROM file because it truncates it to 64k or something.


Have you taken any before/after power measurements with your rigs? I have some numbers for mine, but don't entirely trust them.


Title: Re: GUIDE - Underclocking Memory to 150MHz on a 6990 running Linux
Post by: JinTu on April 18, 2012, 11:37:11 PM
I suppose the greater question here is this :

Can I use RBE on Linux with WINE or something ???

As I see it, this is platform independent and not for "running Linux" because you still need Windows for RBE ...

Otherwise, good guide !

Yea, it was implied that you have another (Windows-based) machine you can run RBE on in addition to the mining rig. As for Wine, I can't imagine it wouldn't work as there aren't any exotic driver requirements, but haven't tried myself.


Title: Re: GUIDE - Underclocking Memory to 150MHz on a 6990 running Linux
Post by: adaseb on March 13, 2014, 05:00:52 AM
I know this is an old thread but I just got an 6990.

Very powerful card, so powerful it over heats in seconds unless overclocked.

I tried undervolting and running at 880/150 but I get 60Khash/s. Any idea what I am doing incorrectly?


Title: Re: GUIDE - Underclocking Memory to 150MHz on a 6990 running Linux
Post by: BeepBeep2 on March 13, 2014, 05:23:37 AM
I know this is an old thread but I just got an 6990.

Very powerful card, so powerful it over heats in seconds unless overclocked.

I tried undervolting and running at 880/150 but I get 60Khash/s. Any idea what I am doing incorrectly?
Run your memory as high frequency as possible. 1425-1500 range.
Scrypt and SHA-256 are two completely different animals...it was okay to underclock memory for bitcoin mining, but scrypt requires high memory usage/bandwidth.


Title: Re: GUIDE - Underclocking Memory to 150MHz on a 6990 running Linux
Post by: Beans on March 13, 2014, 05:33:51 AM
Not really related but I have a 6990 and a 6970 with ek waterblocks just collecting dust atm. I can't run them without tripping the breaker so if anyone is looking.