Bitcoin Forum
December 08, 2016, 11:58:58 AM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: SOLVED: Flash Card BIOS without windows  (Read 4810 times)
Thor
Newbie
*
Offline Offline

Activity: 27


View Profile
June 10, 2011, 04:16:58 AM
 #1

Hello all,

as of 2 minutes ago (from starting to write this), I have finally managed to backup, flash, and test an AMD/ATI card bios without access to a windows system.  This procedure uses only free software.  I am fairly positive this will work across most ATI/AMD cards, I will be doing more extensive testing tomorrow, but here is the procedure.  so far tested on one Sapphire 5850 with absolutely no problems.

EDIT: works on some machines without a FAT32 partition on the hard drive, in order to solve some problems on one of my machines, I did need a FAT32 partition though.

System:
AMD/ATI card(s)
Ubuntu 10.10
Small FAT32 partition on hard drive
USB stick (500mb+ partition)
internet connection

I have paraphrased some portions of this tutorial from: http://forum.bitcoin.org/index.php?topic=11746.0 -- a very informative post on flashing in linux.

1)  DON'T BREAK YOUR VIDEO CARD.  THIS IS ALL INSANELY DANGEROUS TO YOUR HARDWARE.

2) add http://wine.sourceforge.net/apt/ as a repository
then
>sudo apt-get install unetbootin syslinux winetricks wine

3) use utility of your choice to make a bootable FAT32 partition on your USB stick and format it.... what I did was:
> sudo cfdisk /dev/sdc    --- of course, replace sdc with your usb stick's device
deleted all partitions and made one Win95 FAT32 ( 0C  -- that is the number 12 in hex) remember to make it bootable
then mount sdc1 wherever you like
> sudo mkdosfs -F32 /dev/sdc1

4) go to Applications>System Tools>UNetbootin

5) select FreeDOS for the distribution and make sure your usb stick is selected at the bottom then click "ok"

6) download
http://www.techpowerup.com/downloads/1962/TechPowerUp_Radeon_Bios_Editor_v1.28.html
and
http://www.techpowerup.com/downloads/1968/ATIFlash%203.86.html
and make a directory to do all of this flashy work in, and move those files there

7)
>winetricks vb6run

8 ) unzip atiflash

9) enter the atiflash directory and make the following files.  One line per GPU that you have, and increment the numbers by one for each GPU.  These are examples are for four GPUS:

BACKUP.BAT
atiflash -s 0 backup0.rom
atiflash -s 1 backup1.rom
atiflash -s 2 backup2.rom
atiflash -s 3 backup3.rom


RESTORE.BAT
atiflash -f -p 0 backup0.rom
atiflash -f -p 1 backup1.rom
atiflash -f -p 2 backup2.rom
atiflash -f -p 3 backup3.rom


FLASH0.BAT
atiflash -f -p 0 bios0.rom


FLASH1.BAT
atiflash -f -p 1 bios1.rom


FLASH2.BAT
atiflash -f -p 2 bios2.rom


FLASH3.BAT
atiflash -f -p 3 bios3.rom

10) copy atiflash.exe and all of the .bat files you have just created to your USB stick or a FAT32 partition on your harddrive.

11)
>sudo cp /usr/lib/syslinux/memdisk YOUR_USB_MOUNTPOINT

12) boot from the USB stick.  Choose "FreeDOS LiveCD" from the boot loader -- NOTE: your USB stick may be detected as a hard drive, or a removable disk, mine switched between the two a few times.

13) check drive letters until you find the one the has the .bat files and atiflash.exe -- usually d:

14)
>backup

15)
>dir
-- look for backup0.rom -- it should be more the 0 bytes .. should be 128 kilobytesish  If it is you have been successful, if it is 0 bytes than you likely did not have write permission, which is a problem I struggled with for quite a while until I finally made a FAT32 partition on my actual harddrive and that solved my issue.

16) reboot into linux

17) copy BACKUP*.ROM into whatever folder you're using to store all of this flashy stuff.

18) in a terminal navigate to the directory that you downloaded RBE into and then execute
> wine RBE_128.exe

19) click "load bios", navigate to wherever your .ROM is now saved

20) edit the bios to your heart's content, the main option you'll be wanting to change is in the "additional features" tab, where you can edit the allowable maximum clock speeds that other programs (like aticonfig) can set.

21) save the bios as bios0.rom and repeat for each GPU you backed up, and also copy them to your FAT32 partition.

22) reboot to your USB stick in FreeDOS Live CD again. and navigate to the drive where all your updated bioses are stored.

23) execute each flash#.bat that you want to update.

24) DO NOT let the computer get interupted while updating the bioses.  bad things can happen.

25) reboot.  If anything doesn't work properly boot from the USB stick and run restore to hopefully fix it.

I accept no responsibility for anything that goes terribly wrong when you try to follow these directions, but I hope people find it useful.

I will come back and edit this for readability as I get more experience with the process and time to do so.  I will also do my best to answer any questions that anyone might have, though I make no guarantees.

Anyone who wants to pay and/or donate for the work I did developing this, will be very appreciated.
1FR7JEkZah3yYffvUFcivZaN8zZnfwXs4E

Thank you, and I hope this has been helpful.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
trentzb
Sr. Member
****
Offline Offline

Activity: 406


View Profile
June 10, 2011, 04:31:18 AM
 #2

I have finally managed to backup, flash, and test an AMD/ATI card bios in Linux.

12) boot from the USB stick.  Choose "FreeDOS LiveCD" from the boot loader

Close but not quite there yet. Smiley
Sideways
Jr. Member
*
Offline Offline

Activity: 49


View Profile
June 10, 2011, 04:38:08 AM
 #3

Good work, but still with the rebooting and such, not a true linux-only solution.
It seems to me, the utility that is missing is the one that reads and writes the bios to the cards. Until AMD releases that utility, we're stuck rebooting into a DOS or windows environment.
thirdlight
Sr. Member
****
Offline Offline

Activity: 281



View Profile
June 10, 2011, 06:21:30 AM
 #4

OK, it's not linux only, but it is definitely "windows not required" which is fantastic!
Thor
Newbie
*
Offline Offline

Activity: 27


View Profile
June 10, 2011, 12:18:19 PM
 #5

Absolutely valid criticism, not a mistake I would normally make in writing, but I had just finished a 40 hour day of work.  Thanks for the comments. edited original post for a small factual correction.
soul4soul
Newbie
*
Offline Offline

Activity: 14


View Profile
June 10, 2011, 12:27:27 PM
 #6

which i had this a few days ago before i sold my cards b/c of the clock limit
dukejer
Jr. Member
*
Offline Offline

Activity: 42


View Profile
June 10, 2011, 12:29:39 PM
 #7

The downside to this is that you will need a FAT32 partition on a harddrive.  I don't think a USB stick will work.  Everyone is welcome to do some experimentation and post their successes and thoughts.


Hi Thor,

I used this exact procedure 4 days ago.  It will work on a USB stick if you set USB to bootable in your Motherboard BIOS.

http://forum.bitcoin.org/index.php?topic=12804.0

Thank you,

-Dukejer

If you find this post helpful feel free to donate to address: 19oQLN2v1auiGqBDFfxSDUfu8Ax6ooT6xs
Thor
Newbie
*
Offline Offline

Activity: 27


View Profile
June 10, 2011, 05:56:55 PM
 #8

I'm not quite sure what causes the issue, but on 2 of my rigs booting from, and writing to the USB stick works, but on one of them it mounts the USB as read-only, so I needed a FAT32 partition on the harddrive.
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!