There are several reasons for flashing the VBIOS of a mobile GPU, for example if a newer version is available, or if you modify it for higher clocks or voltage, or maybe undervolt it for less heat… It’s a common procedure when trying to optimize your system according to your needs.

However, flashing always involves a certain risk of rendering your card useless, “bricking” it, especially when experimenting with modded VBIOS versions. That’s also how I managed to brick my 6970m in my Alienware M15x. I tried to flash it with a modded version of a VBIOS which (apparently) wasn’t suited for my card.
Sometimes it’s possible to do a so called “blind flash” to recover the card (flashing it without having any picture on the screen), however since my system didn’t even POST after flashing the experimental VBIOS I didn’t have this option.
Fortunately a card isn’t dead after flashing a VBIOS which isn’t suited for it or after a bad flash,  even if the system can’t boot anymore. The problem is only caused by the firmware of the card (VBIOS) and not by hardware faults.
This means to get the card working again, it simply needs to be reprogrammed with the proper VBIOS. There are professional services which are capable of doing this for a little fee, but I decided to see whether I can fix the card myself.

 

The VBIOS is stored somewhere on the card in a flash memory chip. It should be a serial flash memory chip with 8 pins. Here’s the location of this chip, for the Nvidia GTX 260m, AMD 6970m and ATI 5850m (from left to right)

Location of the VBIOS chip on mobile GPUs.

 

The memory chips are “single operating voltage serial flash memory” which use an SPI – bus.
There’s no cheap programmer available which officially supports the chip which stores the VBIOS of the 6970m, but a couple of affordable programmers that can handle very similar chips (same SPI modes, memory organization, size, etc.). After comparing some datasheets of different flash memory chips and discussing it on the forum, I came to the conclusion that it should work with a cheap programmer, even though the specific IC wasn’t supported by it.

eeprom chip which stores the VBIOS on the AMD 6970m desoldered VBIOS chip

 

 

Before and after desoldering the eeprom chip.

 

 

 

 

 

Desoldering the chip is the most difficult part. You don’t want to accidentally remove one of those tiny SMD parts or kill something with too much heat. Also the card, and especially these little ICs, are ESD-sensitive, this means an ESD mat and wristband are highly recommendable for this job.
I desoldered the flash chip with my hot air station, that’s much more comfortable than using a soldering iron (which of course is an option as well). Since most companies have to use lead-free solder, removing the chip needs more heat than for all the usual DIY soldering (which is mostly done with solder containing lead, at least in my case. It’s easier to handle in my opinion).

 

As it’s a surface mounted device, it needs to be in a socket in order to be programmed, it can’t be put in the ZIF socket of the programmer. I don’t have an SOIC socket for this size, but the programmer came with an improvised PCB – socket for 8 pin SOIC chips. This means turning on the soldering iron and solder the chip to the “socket” (see the picture on the left side).

Then I programmed the chip, it wasn’t recognized by the programmer, but choosing a chip from the list which was technically identical (same block size, interface, etc.) allowed  me to erase the flash memory and write and verify the original VBIOS data.

After doing the whole soldering procedure in reverse order I was finally able to boot the system again with the card.
Tech|Inferno member AssimilatorX also suggests to reflash the VBIOS again per DOS and ATIflash, just to make sure that there’s definitely no error in the stored VBIOS.

So operation “GPU reviving” was successful. This should work for most mobile GPUs I guess, since all cards I’ve seen so far use similar flash memory chips. Though it can still depend on the programmer.
What’s needed is a steady hand, proper soldering equipment, ESD-protection and a programmer.
Here’s a pic of my soldering workplace:

____________________________________

Feel free to contact me at the forum if you have any specific questions or in case you need help reviving a bricked card from a bad flash or similar (my username at the forum is svl7).
It doesn’t matter whether it’s a desktop or a mobile GPU, as long as I can program the VBIOS chip.

____________________________________

 

 

 

 

 

 




Share →
  • http://www.techinferno.com Michael S.

    A great writeup. I am sure people with bricked cards can benefit from it!

  • http://www.facebook.com/marcwaters86 Marc Waters

    This is indispensable for those who flashed their cards and there was unexpected failure. Wonderful article.

  • http://www.techinferno.com Brian K.

    Very nicely done.

  • Anonymous

    Hi! I have flashed a wrong version of VBIOS into my 6970M, because I want to change it to 6990M, but unfortunately my card is not a ES version so it can not be upgraded through modified VBIOS.

    I have seen that you also have a bricked 6970M and it has been rivived through re-flash the VBIOS chip.

    So I wonder that whether you could help me repair my card and how to? I am a foreigner so my expression maybe not clearly. My E-mail address is xlzy2000@163.com. Many thanks for your help!

    I have tried to through ‘Contact Us’ link to communicate with you. But it always says that ‘Could not read CAPTCHA token file. Try again.’ :(

  • http://www.techinferno.com Marco R.

    @ @MooNiSLe:disqus : Sorry, didn’t check the comments lately, but you found me at the forum anyway :d

    If anyone needs help with recovering a dead GPU, contact me in the forum, this will be the quickest and easiest way.
    Then we can see what can be done.

  • http://www.facebook.com/profile.php?id=1721816198 Francesco Barbieri

    I did this, but since I didn’t have the proper tools to re-program the bios, I grabbed an old nvidia card with the same bios chip as mine, flashed the working card with the right bios for the other card, swapped the chips, and got my card back to life! Thank you so much!

  • rob.smith39@aol.com

    hi guys i just killed my laptop!! i flashed the vbios using nvflash from a usb stick .. i was trying to fix a error on boot up something about invalid mxm error known fault see google ;-) .any way laptop is Acer aspire 5520g using 9300m gs 512ddr2 card however the flash said it was right and sucsessfull and killed the display upon restart.. i do have the original vbios that worked in a fasion but dont know how to get it back onto the laptop card and i only brought if for like £60 last week :-( please help ..