So I wanted to update the BIOS on my 4670. I downloaded it from techpowerup, making sure all the hardware IDs match. I then used ATIWinFlash utility, which hanged almost immediately. I left it on for a good 20 minutes, hoping it might unhang itself, but eventually I had to reset my computer. Now every time Windows loads I get severe graphics corruption and then a BSOD on atikmdag.sys. Safe mode and everything before Windows (BIOS, DOS etc.) works properly, so the card isn't bricked. Things I tried: - flashing the BIOS using ATIFlash (not ATIWinFlash) in a DOS environment by booting from a USB, did not work even though the program says flash was successfull - uninstalling the card from Device Manager in Safe mode, to get Windows to use the default Microsoft driver, no change either - looked for other ways of salvaging a BIOS flash gone wrong, but I can't really find anything Not really sure how to proceed or where to look for the problem now. Obviously the card isn't bricked, but it's not actually useable either. I know it's an old piece of hardware but it's all I got at the moment and I'd rather avoid the hassle of looking for another one. Hopefully, since the card is not new, I'm not the first guy with this problem and someone can offer a solution. Thanks.
Which commands did you use to flash the BIOS in DOS? I know there are a few -flags you can use to force flash and other things that might help *Note* To use more than one command, just add the addition commands afterwards***8203; ex. atiflash -f -p biosname.bin***8203; -i [NUM] Display information of ATI adapters in the system -ai [NUM] Display advanced information of ATI adapters [NUM] if specified -p <NUM> <FILE> Write BIOS to image <FILE> to all approriate adapters -s <NUM> <FILE> [SIZE] Save BIOS image from adapter <NUM> to file <FILE> First [SIZE] kbytes (except for Theater in bytes) of ROM -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. -t <NUM> Test ROM access of adapter <NUM> -v <NUM> <FILE> Compare ROM content of adapter <NUM> to <FILE> -f Force flashing regardless of security checking BIOS file info check OR boot-up card -fa Force flashing bypassing already-programmed check -fm Forec flashing bypassing BIOS memory config check -fs Force flashing bypassing BIOS SSID check -fp Force flashing bypassing BIOS P/N check -pcionly Enumerate only PCI adapters -agp Enumerate only AGP adapters -pcie Enumerate only PCIE adapter -reboot Force a reboot of the system after successfully completing the specified operation https://www.techpowerup.com/forums/threads/how-to-use-atiflash.57750/
I used only -p: atiflash -p 0 biosname.rom Since the procedure was reported as successfull, I didn't try any other flags.
I tried that a couple of times already, no change. Could it be that the unfinished flash process actually caused physical damage to the card?
I've seen GPU flashes take a good few attempts to recover the card, my brother tried to flash his 780ti to a performance BIOS, the flash went wrong and it looked like the card was bricked, took about 5 more tries, finally using the Windows flashing tool it flashed correctly and has worked fine since
I must have tried like ten times. I think this BIOS is flashed properly but just doesn't agree with my card. I tried other .roms from techpowerup and they were even worse (graphics corruption even in DOS). I was under the impression that those .roms were supposed to work for all models of the same hardware ID, as long as the clocks were the same. Are there any other locations where I can find another BIOS? Google only gives me techpowerup. Maybe I should ask Sapphire directly? Remember kids, always make backups!
Use GPUz to pull the BIOS, and check if the BIOS you rip from the GPU now, matches the one you flashed in DOS
You're stuck in safemode? Doesn't it work in normal mode if you uninstall the drivers first? DDU might help out there, it needs running in safemode anyway http://www.wagnardmobile.com/forums/viewtopic.php?f=5&t=92
Yes, I've been stuck in Safe mode ever since the first flash attempt. DDU removed the drivers, then restarted the computer. Windows finally loaded properly now, but in low resolution, the same as is used for Safe mode. Then the default Microsoft driver installed and asked for a restart. When Windows started to load, this time in higher resolution, I got graphical corruption and a BSOD again. So I cleaned the drivers again, and restarted to load Windows. I changed resolution back to monitor default which is 1280x1024 (yes, my rig is very old school), expecting it to show corruption again, but it worked. I then installed Catalyst drivers and restarted. Guess what - corruption, BSOD. I did get a chance to pull the bios using GPU-Z. How would I compare them? EDIT: I used -v command with ATIFlash, it says 0xF400/0xF400 bytes verified, so I guess that means they are identical?
Nothing prevents you to run atiwinflash right after windows installs its default drivers, you can cancel restart which is asked from you. You can flash several times, as your 1st attempt failed, you should have do it again and again till it succeeded. In most cases -f parameter is required. Do not use atiwinflash as GUI (do not start it and then pick what you want to flash). Use it as command line utility, always. There are few different versions too.
I already flashed it successfuly in DOS. A dozen times. But I tried this as well and there was no change. Winflash reported procedure successful but I still get corruption and BSOD when I try to start windows. Or should I just keep reflashing it hoping that after a million tries the result will be different?
You could try edit the bios to lower speeds. The ROM you flashed may have tighter RAM timing or higher clocks causing the artifacts/BSOD.
I talked to Sapphire customer support and they sent me a stock BIOS, which works properly. Phew, that's a relief Turns out memory modules from two different manufacturers were used for this card model, and they require a matching BIOS to work properly. Thanks for your time, guys!