Jump to content

Recovering a notebook GPU from a bad flash


svl7

Recommended Posts

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)

 

eeprom-location.jpg.c8a70752a3c28c71520a

 

The memory chips are “single operating voltage serial flash memory” which use anSPI – 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.

before-desoldering.jpg.336cc645b7e6c5343

Before and after desoldering the eeprom chip. (after image lost)

 

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).

 

socket-for-programming.jpg.ff45be3c65f70

 

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:

workplace.jpg.535fe4ec46acc54736ab307550

Link to comment
Share on other sites

  • 10 months later...
  • 2 weeks later...
  • 3 years later...

I used this information to flash a Dell FirePro M8900 GPU to Apple HD 6970M 2GB. My flashing tool recognized the chip. I'll be testing today and see if the iMac accepts the card.

 

Update: it works perfectly so far. Now testing for temps and stability.

Edited by daxxone
Update
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.