Skip to content

Instantly share code, notes, and snippets.

@vinhboy
Last active December 25, 2015 19:29
Show Gist options
  • Save vinhboy/7027619 to your computer and use it in GitHub Desktop.
Save vinhboy/7027619 to your computer and use it in GitHub Desktop.
/* http://coinrigs.com.au/blogs/news/8296951-undervolting-using-atiflash-sapphire-hd-7950-vaporx-msi-twinfrozr-7950 */
<div id="article-content">
<p><img alt="" src="//cdn.shopify.com/s/files/1/0238/4735/products/DSC_0973_grande.jpg?168"></p>
<p>We've previously made available some of the <a title="custom bios undervolt 7950 vaporx twinfrozr" href="http://coinrigs.com.au/blogs/news/8170111-custom-bios-for-msi-twinfrozr-7950-oc-sapphire-7950-vaporx" target="_blank">custom bios</a> we use in our coin mining rigs to undervolt to 0.962v, and have also posted a lot of information over at <a title="reddit litecoin mining" href="http://reddit.com/r/litecoinmining" target="_blank">reddit</a>, an awesome place :-)</p>
<p>A few people had trouble with our bios on their Sapphire HD 7950 VaporX cards, sent us their bios (saved using <a title="atiflash" href="http://cdn.shopify.com/s/files/1/0238/4735/files/atiflash?118" target="_blank">atiflash</a>) and we sent them a modified version which worked every time thus far! The biggest reported saving in power draw at the wall was 200W for a larger litecoin mining rig :-)&nbsp;</p>
<p>We have been collecting all of these bios and plan to release an update to our original post with more specific types of bios available for the Sapphire 7950 VaporX. From all reports the custom bios for the MSI TwinFrozr 7950 work <a title="custom bios undervolted msi twinfrozr 7950" href="http://www.reddit.com/r/litecoinmining/comments/1gnqlz/how_to_monitor_vddc_in_linux/cartgfk" target="_blank">great</a>!</p>
<p>For now though we'd like to release a simple how-to if you wish to have a go at flashing your own bios:</p>
<ul>
<li>Grab <a title="atiflash" href="http://cdn.shopify.com/s/files/1/0238/4735/files/atiflash?118" target="_blank">atiflash</a> and save your bios (<span>"./atiflash -s 0 bios0.back.up.rom" to save bios from card zero),</span></li>
<li><span>Check that it produces a file of size 128Kb ("ls -lkh bios0.back.up.rom"),</span></li>
<li><span>If it produced file of size 256Kb, these will appear valid but attempting to write them back to the card will always fail, leaving you without a valid backup! In this case, retry to read the video card bios again specifying an additional size parameter ("./atiflash -s 0 bios0.back.up.rom 20000"),</span></li>
<li>You should save the bios from each card, then use diff to see which match and modify that subset, then flash all the cards,</li>
<li>Please check all GPUs stock voltage in cgminer GPU Management&nbsp;and Bios Config File in output of "./atiflash -ai", these can vary between bios in "identical" brand GPUs,</li>
<li><span>Transfer all bios to a Windows PC/laptop using&nbsp;<a title="winscp secure file transfer" href="http://winscp.net/eng/index.php" target="_blank" rel="nofollow">WinSCP</a>,</span>&nbsp;</li>
<li><span>Open the saved bios in a hex editor, we use&nbsp;<a title="frhed hex editor" href="http://frhed.sourceforge.net/en/" target="_blank" rel="nofollow">Frhed</a>,<br></span></li>
<li><span style="line-height: 1.5;">Convert that bios stock GPU voltage into hex, eg google "1125 in hex" if bios stock voltage is 1.125. The hex equivalent in this case is 0x465,</span></li>
<li><span style="line-height: 1.5;">Reverse the stock hex voltage, eg: 0x465 = 04 65 = 65 04,</span></li>
<li><span style="line-height: 1.5;">Using your hex editor, search and replace for (reversed stock voltage) &lt;bh:00&gt;&lt;bh:65&gt;&lt;bh:04&gt;&lt;bh:00&gt; with your desired voltage in the same pattern, eg: to undervolt to 0.962V, 0962 = 0x3C2 = c2 03, so you'd replace with &lt;bh:00&gt;&lt;bh:c2&gt;&lt;bh:03&gt;&lt;bh:00&gt;,</span></li>
<li><span style="line-height: 1.5;">Save the modified bios to a different file name so you can always write the original back if required,</span></li>
<li><span style="line-height: 1.5;">Unlock the bios for the card you wish to flash (eg: ./atiflash -unlockrom 0),</span></li>
<li><span style="line-height: 1.5;">Transfer the modified bios back to your (Linux) coin mining rig and write the modified bios back to the video card using atiflash with the -f parameter to bypass checksum checks. In our experience this can fail multiple times before succeeding and some bios require using different write flags (-atmel, -sst).</span></li>
<li><span style="line-height: 1.5;">Cold Reboot and use cgminer GPU Management to see new undervoltage in action!&nbsp;</span></li>
<li><span style="line-height: 1.5;">We recommend doing one card to start with and not the primary video card until you are confident with the process :-)</span></li>
</ul>
<p><span style="line-height: 1.5;">Happy Bios Flashing, Video Card Undervolting &amp; Coin Mining!</span></p>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment