svl7

[GUIDE] AMD VBIOS flashing

105 posts in this topic

- work in progress -

Instructions for flashing the VBIOS of an AMD / ATI video card:

You'll need:

  • A VBIOS file you want to flash
  • The latest version of ATIflash, a DOS utility to flash the VBIOS
  • A USB drive, formatted to boot DOS, in order to use ATIflash

How to create a bootable USB flash drive:

Thanks @StamatisX for this nice guide!

This is a simple way to make a USB flash drive bootable (i.e. if you want to flash your VBIOS)

First download the attachment from below and extract it (i.e. on your Desktop)

[ATTACH]2741[/ATTACH]

Install the program and once done run it as administrator otherwise it will give you an error (right click on it and run as administrator)

Insert the USB flash disk you want to use as a bootable device

post-80-14494993233633_thumb.jpg

make sure you have the following selected

post-80-14494993233777_thumb.jpg

and press on the button with the 3 dots in order to define the location of the needed files (basically where you chose to unzip the file you downloaded)

Press start and after a while you are all set

Flashing procedure:

Once you've prepared your USB drive, put ATIflash to the root of the drive, same with the VBIOS file you want to flash.

NOTE:DOS has a limit of 8 characters per file name (not counting the extension). So make sure to rename your files appropriately before putting them on the USB drive.

Reboot your system, go to the boot manager and choose to boot from the USB drive.

As soon as you see the command line you're ready to go, write

dir

and hit enter to display all the files on the USB drive.

  • Display all adapters, ATIflash will enumerate them. Remember the numbers of the devices you want to flash.
    atiflash -i


  • Save a copy of your original VBIOS to the USB drive, "i" is the number of the adapter you checked before, if you only have one GPU it's going to be "0". "Filename" is going to be the name of the file, don't forget to add an extension (.rom). Keep in mind that there's a limit of 8 characters for a file name in DOS.
    atiflash -s i filename.rom


  • Verify the integrity of the VBIOS you want to flash by calculating its checksum. Of course you need to know the correct checksum in advance. If the checksums don't match -> don't flash.
    atiflash -cf vbiosfile 


    For example if the file you want to flash is called "modVbios.rom" the command for displaying the checksum would be "atiflash -cf modVbios.rom".

  • Flash your VBIOS to the desired adapter "i".
    atiflash -p i vbiosfile


    E.g. "atiflash -p 0 modVbios.rom" flashes the file modVbios.rom to adapter 0.
    DON'T do anything with the system during the flash procedure.

  • Restart the system when asked to do so and remove your USB drive.

Pro tip:

Set USB as the first boot priority in the BIOS before flashing a VBIOS, in some cases it can really simplify things in case of a bad flash, i.e. if you have to do a "blind flash".

Using ATIflash:

This will display a list of all valid atiflash commands, the associated parameters and explanations about how to use them:

atiflash -h

Edited by svl7
19 people like this

Share this post


Link to post
Share on other sites

List of all ATIflash commands (as of version v3.95)

--- ATIFLASH v3.95 ----h, -?, /h, /?          Help (this screen)


Format: ATIFLASH [command] [parameter1] [parameter2] [parameter3] < option/s>
[command]:
-i [Num] Display information of ATI adapters in the system.
Display information of adapter [Num] if specified.

-ai [Num] Display advanced information of ATI adapters on system.
Display advanced information of adapter [Num]
if specified.

-biosfileinfo < File> Displays the Bios info in file < file>


-p < Num> < File> Write BIOS image in file < File> to flash ROM in Adapter
< Num>.

-pa < File> Write BIOS image < File> to all appropriate adapters.


-s < Num> < File> [Size] Save BIOS image from adapter < Num> to file < File>.
First [Size] kbytes (except for Theater in bytes) of ROM
content is saved if [Size] is specified.

-cf < File> [Size] [Sum] Calculate 16-bit checksum for file < File>.
Checksum for the first [Size] kbytes of the file is
calculated if [Size] is specified.

-cb < Num> [Size] [Sum] Calculate 16-bit BIOS image checksum for adapter < Num>.
Checksum for the first [Size] kbytes of the ROM content
is calculated if [Size] is specified.


-cr < Num> [Size] [Sum] Calculate 16-bit ROM checksum for adapter < Num> and
compare it to the [Sum] specified. This command is
the same as -cb if [Size] is specified.

-t < Num> Test ROM access of adapter < Num>


-v < Num> < File> Compare ROM content of adapter < Num> to < File>


-mi < Num> [ID] Modify SSID & SVID in BIOS image of adapter < Num> to
< ID>. SSID & SVID in BIOS image of adapter < Num> is
displayed if [ID] is not specified.

-mb < Num> < File> Modify SSID, SVID, BIOS Pin Number, & Boot Message in
BIOS image of adapter < Num> to values in < filename>.
Input file example:
ssid = 715B
svid = 1002
biospn = "113-xxxxxx-xx"
bootmsg = "ATI graphic board"

-pak < File> Package an executable for BIOS update according to
the commands in < File>.
Config file example:
outfile = update.exe
banner = "Update v1.0"
infile = a123.bin
command = -pa -padevid=715B infile

-isr < Num> < Build Number> < Board Number> Set ISR number based on the given
build and board number
if not specified, print out ISR Number

-prod < Num> < 12 digit serial number> Set PROD number based
on the given serial number
if not specified, print out SN Number


-checkprodsn < Num> < 12 Digit Serial Number> Comparing the Prod SN based on
existing prod sn saved in ROM




< option/s>:
-f Force flashing regardless of security checkings (e.g. AsicID &
BIOS file info check OR boot-up card).

-fa Force flashing bypassing already-programmed check.


-fm Force flashing bypassing BIOS memory config check.


-fs Force flashing bypassing BIOS SSID check.


-fp Force flashing bypassing BIOS P/N check.


-nw No user interaction on test failure.


-sst Use SST25VFxxx flashing algorithm regardless of ROMID straps.


-st Use ST M25Pxx flashing algorithm regardless of ROMID straps.


-atmel Use AT25Fxxx flashing algorithm regardless of ROMID straps.


-nopci Do not enumerate PCI adapters, i.e. enumerate only AGP and
PCIe adpaters

-pcionly Enumerate only PCI adapters, i.e. do not enumerate AGP and
PCIe adapters

-agp Enumerate only AGP adapters, i.e. do not enumerate PCI and
PCIe adapters unless used with -pcie or -pci

-noagp Do not enumerate AGP adapters, i.e. enumerate only PCI and
PCIe adpaters

-pcie Enumerate only PCIe adapters, i.e. do not enumerate AGP and
PCI adapters unless used with -agp or -pci

-noisrsn Force to erase existing ISR number on ROM


-noprodsn Force to erase existing Prod SN number on ROM


-nopcie Do not enumerate PCIe adapters, i.e. enumerate only AGP and
PCI adpaters




-pci Enumerate only PCI adapters, i.e. do not enumerate AGP and
PCIe adapters unless used with -agp or -pcie

-noremap Skip BARs error detection and remapping in PCI configuration
space

-reboot Force a reboot of the system after successfully completing the
specified operation

-siireset Specifies the GPIO Pin to be used as the Reset when updating
SiI1930 microcontroller firmware
Input example:
-siireset=7 < No Spaces>

-siiuprog Specifies the GPIO Pin to be used as the uprog when updating
SiI1930 microcontroller firmware
Input example:
-siiuprog=14 < No Spaces>

-scansii Overrides normal adapter detection to enable detecting SSI
roms with/without TPI firmware

-log Logs output to atiflash.log, overrides existing file


-logappend Logs and appends output to atiflash.log


-ddc Enable DDC support


-padevid=< ID> Use with -pa command to update adapters of specific device ID.


-passid=< ID> Use with -pa command to update adapters of specific SSID.


-pasvid=< ID> Use with -pa command to update adapters of specific SVID.


-pavbpn=< VBPN> Use with -pa command to update adapters of specific VBIOS PN.


-excl_memtrain_dtable When flashing on new VBIOS, a pre-determined memory
training data table in the old VBIOS will not be
overwritten.

-isr < adapter num> [build num] [board num] If build number and board number
are specified, sets the ISR Number
value in specified adapter.
If only adapter is specified, the current
ISR Number is displayed
*< Num> = adapter number, < File> = filename


*[Size] = data block size in KBytes, except for Theater Pro in Bytes


*Use command -i to see the adapter numbers in the system.


*Theater Pro supports commands -i, p, s, cf, cr, t, v and options -f, -noremap.


7 people like this

Share this post


Link to post
Share on other sites

Hey !

today , I flashed my dell hd 5870m card to celvo hd 5870m vbios and now the card doesn't post ,

so I removed the eerpom chip from the hd 5870m card, but when removing it , the led's that hold the chip came along with the eeprom chip , so there is no solder left in the pcb , if I apply led to it and resolder the vbios chip , will it work ?? or there is another place to solder another eeprom chip right over the damage one , it looks perfectly fine , but is that place reserved for another eerprom chip or anyother chip?

thanks

Share this post


Link to post
Share on other sites

Depends on your soldering skills, I could easily do it. Also it depends on your tools and working environment, you might have already killed your card with ESD.

Share this post


Link to post
Share on other sites

you sure bro?

Actually I didnt desolder the chip , I just gave it to a guy nearby , he uses a non esd type heat gun , I dont think it will cause esd , the reason why the led's came along with eeprom chip is , dell has applied some kind of glue to hold the eeprom chip and also he had to hold the heat gun for a while ,

can you fix this card? im mostly worried about the shipping , and are you sure that the second free 8pin soic socket is for another eeprom vbios chip?>

thanks

Share this post


Link to post
Share on other sites

No, there's no second place for the chip, but as long as you guys didn't totally mess up the card it should be easy to fix. And Dell doesn't use any "glue", I already fixed a couple of Dell 5870m cards, the chip super easy to remove.

I can try to fix it, but I can't guarantee anything since I have no idea how you guys handled the card, to be honest, all of it sounds like the card was handled with pretty much no care at all, it might as well got damaged by all the heat of the heat gun, by the sound of it.

Share this post


Link to post
Share on other sites

We didnt mess up the card, the only thing is the solder joins of the pcb has been removed , other than that , I dont think anything have damaged , and can you send me a reprogrammed chip , pm me the details .

the one I had was damaged when removing it , like 2 legs were broken , lol , I guess its a pm25lv1010 , but if you want , I could order one through ebay and ship it directly to you , I guess this should work : here .

thanks

Share this post


Link to post
Share on other sites

Hehehe, sorry, I just have to chuckle here... seriously... if you managed to somehow break two legs of an SMD chip, you have messed up big time. I don't know what exactly you mean when you say that solder joints of the PCB got removed by the procedure... the solder pads for the chip are part of the copper layer on the PCB and can't get removed, unless you seriously damage the PCB.

I can send you you a programmed chip, I think I still have a couple of them laying around here. PM me for details.

2 people like this

Share this post


Link to post
Share on other sites

Hey, great guide!

BUT WHAT'S THE COMMAND TO RESTART THE COMPUTER?

Or is it ok just to hit the power button on my PC?

Would appreciate a quick reply as ima leave my PC on until I get a reply xD

1 person likes this

Share this post


Link to post
Share on other sites

Thank you, and welcome to T|I!

Just hit the power button or pres Ctrl+Alt+Del.

2 people like this

Share this post


Link to post
Share on other sites

Your working on a few more vbios last i heard would be glad to hear how your testing has been going SVL7 :)

Can volts between 1.075-1.05 be used or points between 1.075-1.1v?

Points after 995core seem to not be stabilized by added volts at first few runs on my one card so far... I could game for a few min max over 995 but getting a bench passed at that hasn't been successfully as of yet but hadn't had much time to try more yet.

I found to bench at around 1500-1560+ vram it needed the voltage bumped to 1.075v but the 995 core benches at stock volt and further more the 1.075v didn't even give 5mHz more on core.

Any advice or thoughts on the ceilings for these cards where volts start being required and were volts start to be ineffective in going higher. Testing is best to find that but would like to hear from you since you and widezu did so much testing thus far.

Share this post


Link to post
Share on other sites

I overclocked my clevo hd 5870m to 800 core , 1100 mem and 1.18v through rbe and flashed vbios , but hwinfo64 and msi afterburner shows as 700 and 1000 , but gpu-z shows as 800 , 1100 but in sensors section it shows as 700 and 1000 , what could be the error , do i need to reinstall drivers?

Share this post


Link to post
Share on other sites
I overclocked my clevo hd 5870m to 800 core , 1100 mem and 1.18v through rbe and flashed vbios , but hwinfo64 and msi afterburner shows as 700 and 1000 , but gpu-z shows as 800 , 1100 but in sensors section it shows as 700 and 1000 , what could be the error , do i need to reinstall drivers?

to be sure you have to load a 3d app/game and then check what the max gpu speeds were as reported.

Share this post


Link to post
Share on other sites

yes I saw the clocks with hwinfo64 , while running furmark .

but I figured it out , it was because my voltage was 1.18 but when I changed it to 1.15 then I was able to overclock , now running 825 core 1065mem @ 1.15v on my clevo hd 5870m but my fans are max .

Share this post


Link to post
Share on other sites

1.18V is not possible for this card, 1.15V is the max in the voltage table. Weird things can happen if you enter higher values.

1 person likes this

Share this post


Link to post
Share on other sites

but those voltage perpectly worked on my dell card , i dont know why it doesnt work with this card.

thanks for the info, mate

Share this post


Link to post
Share on other sites

Works like a champ! Thank you SO much for this guide!

1 person likes this

Share this post


Link to post
Share on other sites

  • Verify the integrity of the VBIOS you want to flash by calculating its checksum. Of course you need to know the correct checksum in advance. If the checksums don't match -> don't flash.

What can we do if the checksum doesn't match, im trying to flash a (dell)7970m with the 1075 bios and im receiving the checksum of 5000 for my current device. and all the checksums of the modded bios files are 5/6/7/8/000

Please help

Share this post


Link to post
Share on other sites

Yeah, your current device has a different VBIOS and thus a different checksum. I guess you have the stock Dell 7970m OEM vbios on your card, and the checksum of this is actually 5000.

The modified 7970m vbios has a different checksum since the file is modified after all ;)

I just recommended checking the vbios you want to flash before doing so in order to make sure it didn't get corrupted by any chance. It should have a checksum of 5700.

And welcome to T|I!

Share this post


Link to post
Share on other sites
Yeah, your current device has a different VBIOS and thus a different checksum. I guess you have the stock Dell 7970m OEM vbios on your card, and the checksum of this is actually 5000.

The modified 7970m vbios has a different checksum since the file is modified after all ;)

I just recommended checking the vbios you want to flash before doing so in order to make sure it didn't get corrupted by any chance. It should have a checksum of 5700.

And welcome to T|I!

Hey thanks for your quick reply and the welcome, So i check that the checksum of the new vbios is 5700 then i flash anyway (with fingers crossed)?

Oh do you mean match the checksum against the checksum in the checksum word file and not against the checksum of the original card vbios? am i being a bit of a retard?

Share this post


Link to post
Share on other sites

[quote=ashley-aitch;22645So i check that the checksum of the new vbios is 5700 then i flash anyway (with fingers crossed)?

Oh do you mean match the checksum against the checksum in the checksum word file and not against the checksum of the original card vbios?

Yes exactly, the checksums in the checksum file are for the new, modified vbios files, make sure the file you want to flash has the same checksum as noted in the checksum file.

Share this post


Link to post
Share on other sites

Hello, i have a friend with an M17x R3 and has received a Dell 7970m GPU. All well and good apart from the suppliers decided to flash it with a Clevo VBIOS. I have had him check the RAM and they're definitely Hynix chips (as clevo are samsung if i remember correctly).

At the moment it either boots badly, beeps 5 times, beeps 6 times or does nothing at all. Is there a way to flash his vbios whilst only booting with the IGPU, or a blind flash method?

Thanks for any help.

(P.S. he can get the proper dell vbios if necessary off the supplier)

Share this post


Link to post
Share on other sites

The Dell card works with the Clevo vbios, I tried it myself. There must be another issue, I'd say return the card.

Share this post


Link to post
Share on other sites

Thanks ,this guide helped me with 7970m for m17x r4 and dual 7970m in m18x r2 my friend

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now