• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

How to recover from a bad video BIOS flash

Go to this link: https://www.techpowerup.com/download/nvidia-nvflash/

Click on "Show more versions" on the left and scroll down until you reach 2011.

Thanks. I see the 2011 version and will give it a try tomorrow.

What about instruction / tutorial for that version?

This is to flash a stock GTS450 BIOS into a Fake GTX 1050ti based on a hacked/modded 1M GTS450 card...

I've got my existing BIOS saved and a couple stock BIOSes to try - where can I find the proper commands to use for that 2011 version of nvflash?

Oh, and that instruction / tutorial includes whatever I need to do to avoid having a problem with the other even older Nvidia graphics card I have in the system... -thanks.
 
Type: "nvflash --list" to show a list of adapters
Type: "nvflash --index=0 -4 -5 -6 filename.rom" to flash BIOS on adapter 0.
 
I get an ‘Unsupported 16-Bit Application’ dialog box and ‘This version of nvflash is not compatible with the version of Windows you’re running.’

It looks like the first 64-bit version is 4.512.0 from September 21st, 2017. Is that worth giving a try? I’m not sure I have the stamina to rebuild a 32-bit OS just for this.

But in case my only chance to use the 2011 version is with a 32-bit OS, which Windows version would work best? (Win98, WinXP-32, Win10-32)

Thanks

Modded version is to bypass newer restrictions (subsystem). On the old version, there are switches (-4 -5) for that.

I found the .doc file with the 2011 version so I can see that:

-5 is short form for --overridetype (allow FW and device ID to mismatch)

-6 is short form for --overridesub (allow FW and adapter PCI to mismatch)

But there is no -4 short form that I can find - what does -4 do (or what is it's long form)?
 
Last edited:
In the the NvFlash archive there are versions for DOS.

Create a bootable USB flash drive with Rufus and put it there.
 
In the the NvFlash archive there are versions for DOS.

Create a bootable USB flash drive with Rufus and put it there.

Well I wanted to reinstall Win10 anyway, so I decided to go with Win10-32 and tried again under cmd prompt which resulted in this:

E5FE2228-B75B-4D30-918E-D19C5D80468E.jpeg


ERROR: PCI BIOS not present.

If I create a bootable DOS Flashdrive and put nvflash and BIOS files there, will that solve this issue (PCI didn’t exist at the time of DOS)?

Also, how do I get to the nvflash ‘archive’ - the downloads area does not appear to have any DOS versions...

Thanks for all your help.
 
1. The correct command is: nvflash --list
2. You used a version from 2009 that is older than the GPU and likely won't support it.
3. NvFlash v5.136 looks like a version for DOS.
 
Last edited:
1. The correct command is: nvflash --list
2. You used a version from 2009 that is older than the GPU and likely won't support it.
3. NvFlash v5.136 looks like a version for DOS.

Well, tried with version 5.136 and get the same ‘Error: PCI BIOS not present’

3F9EE359-C867-474B-B9B3-CE5EDF8062AC.jpeg


This is when run under cmd.exe in Win10-32 (with 16-bit apps enabled).

I even tried creating a DOS bootable CDROM with nvflash and the GRS450 BIOS files in a directory, but when I boot with that CDR, the directory is not found by DOS (though it can be seen under the cmd.exe version).

Can this PCI BIOS be fixed under Win10-32 cmd.exe or do I need to boot into DOS?

If I need to boot into DOS, any idea how to get the nvflash files I added into the boot ISO to appear along with the various DOS files?
 
Try "nvflash --list", if you get the same result, you probably going to need SPI flash programmer.
 
Last edited:
Try "nvflash --list", if you'll get the same result, you probably going to need SPI flash programmer.

Same outcome (under cmd.exe in Win10-32).

So this means actually booting off of a physical bootable DOS CDROM with these nvflash files present is probably not going to change anything, right?

I’m doing all of this on an old 680i SLI PC (circa 2007) - would it likely be any different if I tried it on a spanking-new Ryzen 3200G rig?

Once you tell me it’s time to give up on nvflash for this card, I’m ready to get an EEPROM programmer...
 
I already said you should try flash programmer. It's not unusual for NvFlash to misdetect these fake cards.

You have been incredibly helpful and I greatly appreciate it, but if anything, your post in the Fake card thread motivated my to try nvflash first:

You seem to have a similar card like the OP. GTS 450 with 1GB of Elpida VRAM.

Before you buy CH341/A, check out this thread, order it if nothing else works. CH341A is just a newer model and both (non A) should work.

Sounds like I’ve given nvflash the old college try, so I’ve gone ahead and ordered a CH341A and will see how that goes in a few days...
 
Regarding short 1-8 on the VBIOS to flash a bricked card, does the picture not show red arrows on pins 1 and 5? chips are numbered counter clockwise from pin 1, right?

My VBIOS is Winbond W25X20CL
pins:
1 -CS ----- VCC -8
2 -D0 ----Hold -7
3 -WP ---- CLK -6
4 -GND --- D1 -5

According to the data sheet, shorting Pin 1 (Chip select) to Pin 8 (VCC) would pull CS high and disable the chip. Does this sound right? Definitely don't think it should short to D1 (IO data).

CS to ground should enable the chip (1-4). Also WP should not be enabled (ground or 0v).
 
Last edited:
You have been incredibly helpful and I greatly appreciate it, but if anything, your post in the Fake card thread motivated my to try nvflash first:

Sounds like I’ve given nvflash the old college try, so I’ve gone ahead and ordered a CH341A and will see how that goes in a few days...

Well my CH341A finally showed up (2 by mistake) and I’ve trying to get flashrom in Ubuntu to read my FAKE BIOS.

When I use the CH341A without the clip attached to anything, I get the error:

‘No EEPROM/flash device found.’

And when I addach the clip to the EEPROM, the red LED in the CH341A dims ~50% and I get the error:

‘Couldn’t open device 1a86:5512’ (which I understand is the device code for the CH341A).

So I suspect I may have a voltage level off or something - any advice / pointers appreciated...

P.S. since I had 2 CH341As, I went ahead and tested both - error codes and behavior were identical.

P.P.S. I just confirmed that the jumpers on the CH341A are set for 3V and the Pm25LD020 2Mb Flash chip is 3V:

 
Last edited:
You're doing something wrong. There are plenty of CH341A videos on YouTube:


If the CH341A drivers won't work on Windows, just press F8 on startup, or hold shift when shutting down, in startup options select disable driver signature enforcement.
 
You're doing something wrong. There are plenty of CH341A videos on YouTube:


If the CH341A drivers won't work on Windows, just press F8 on startup, or hold shift when shutting down, in startup options select disable driver signature enforcement.

I’m running the CH341A drivers under Ubuntu (bit the bullet and converted another old PC).

I read enough scary thinks about the ‘Black CH341A board voltage defect’ that that LED getting dimmer as soon as I attach the clip has me concerned.

I confirmed the card is still working, so I have not damaged the EEPROM, but I’m worried more current is flowing than there should be.

Is there a guide somewhere I can use to check voltage levels?

I may also dig up some other old boards with EEPROMs and confirm I can read with this CH341A before trying the video card again...

Any advice appreciated.
 
Would you mind telling which one should I use between these?

techpowerup.com/vgabios/193279/sapphire-rx580-8192-170511

techpowerup.com/vgabios/194336/sapphire-rx580-8192-170511-1
 
Would you mind telling which one should I use between these?

techpowerup.com/vgabios/193279/sapphire-rx580-8192-170511

techpowerup.com/vgabios/194336/sapphire-rx580-8192-170511-1

Upload photos of the stickers on the card.
 
Hi all,

I think we need clarification regarding the "1-8" method.

Everywhere I look I see mentions of the 1-8 method with that picture as an example which designates pins 1 and 5. I've also found another article which explains that you want to pull the Chip Select pin to high to prevent the chip from being read. You achieve this by shorting the chip select (CS) and power supply (VCC) pins (ideally you'd want to use a resistor for that to be safe but hey, that works).

Here's an extract from the datasheet of the ROM chip I'm trying to flash (GD25Q41B from a reference Sapphire RX480 8GB I've bought second hand from an unscrupulous seller).

Annotation 2020-06-25 180148.png


On this, one can see the proper way of counting pins on an IC so that everyone's on the same page. One starts counting from the dot which is also present as a hollow mark on the IC package, then following along the side where the dot is and count while going around the chip.

With all that info I've tried to short the actual 1-8 pins on my card but end up with no display, and still get the "adapter not found" message. I've tried the 1-5 method as well for good measure which does nothing. Actually if you'd flash your card this way, it may only write the zeros.
 
Last edited:
PC enthusiasts are most familiar with the following pin layout:

fp_header.jpg

It is used for 3 decades on all motherboards, headers, interfaces and expansion cards.

You can't teach an old dog new tricks. It's safer just to say 1-8 rather than anything else. That's why I included photos to clear any confusion.

If it doesn't help, you can try flashing from EFI shell or with SPI flash programmer.
 
The bricked card I have is an RX550, luckily I have two other identical working cards. So I think I'm going to wire my bad VBIOS chip directly to one of the good cards. Like a piggyback but jumper wired. Except for pin 1 chip select which I will have connected to a switch and a resistor to VCC. I think I should be able to boot the bad card with the VBIOS disabled and wired to the good VBIOS. Then I will try and switch to the bad VBIOS with the CS switch just before I hit "Program" on AMDVBFlash.

Do you suppose that will work, or is there some kind of logic handshaking that happens after you hit program?

-
More testing. CS pin 1 is high (3.4v) all the time on my dead card. I have not tested a good card yet. But this should mean chip disabled!? How can it even read the VBIOS to see if it's a bad flash if it's always disabled? Unless it happens so fast my meter doesn't even see it. Seems pointless to short to VCC if already high, pulled high or floating high or whatever it's doing... So I pulled CS pin low with a resistor to ground. This should force enable, but when I do this then the computer does not post at all!? No beep, no nothing. It seems making a CS switch with a good card might not even work....

-
OK, good card, pin 1 also reads 3.4v! I don't understand!
 
Last edited:
I unbricked my card. Piggyback flashing through a good card worked. There was a good chance I could have also bricked the good VBIOS card though. I tried to write protect it with a 500 ohm resistor on pin 3 to ground. It didn't work. The winflash program flashed both cards. I had to flash it with the mining VBIOS because it doesn't let you reflash the same ROM file for some silly reason. Both cards boot now so I just have to unsolder my mess of wires and reflash them to the good VBIOS. Using Pin 1 CS pin to switch between did not work for me. I ended up soldering 6 wires to each chip, pins 1,2 and 8,7,6,5. Pin 4 ground I didn't solder because I just laid the bricked card on the bottom of the PC case and it grounded through the IO shield. I had to have a connector to plug and unplug the 6 wires between the cards because the PC will not boot with both connected. Booted with the good card, loaded the winflash and connected to the dead card just before hitting Program.
 
Thanks for that ultimate guide, hope it's gonna help a lot of newbies (me included) and bring some peace to our savior @eidairaman1 :D

I just want to point out that pic showing where the #1 & #8 pins are located, I believe #1 & #8 pins are usually facing each other with pin #1 is marked by that little notch.
bfyqnuyipx.jpg

but as you've said it's better to check the chip diagram first before making any move.

I also remember a thread where @Solaris17 guided the OP to short #5 & #6 pins or #4 & #7 pins to force a low reading on the chip, what are the differences between the three methods or they are the same?
 
Back
Top