• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Weird issue - BIOS changes between dumps - full hex analysis (Kepler/Titan)

Joined
Dec 13, 2010
Messages
4 (0.00/day)
Hi guys,

I am struggling with a weird issue, and can't get my head around it. Basically, my VBIOS is constantly changing. My understanding is that once flashed, any BIOS dump should be identical to the flashed BIOS file and should not change at all. However, I am seeing that not only is the dumped BIOS file substantially different than the flashed file, but also there are ongoing changes between dumps taken subsequently afterwards.
I have posted this issue at Guru3d and Overclock.net but have so far not gotten much further. Maybe there are some experts here who have a deeper insight into the workings of nvflash/GPU-Z/nvidia BIOS and can help me out?

PROBLEM DETAILS:

Using nvfflash, a bios.rom file saved as a backup is different than the bios.rom file flashed immediately before that. Subsequent dumps continue to change.
I have stumbled across this when using nvflash --compare to check my flash, which showed the following log:

Code:
nvflash --compare backup.rom -L 1.txt

*** NVFLASH LOG FILE ***
Version 5.163


Command: compare
FindDevices:
Device:00:00:00=8086:0150:1043:84CA
Device:00:01:00=8086:0151:1043:84CA
Device:00:14:00=8086:1E31:1043:84CA
Device:00:16:00=8086:1E3A:1043:84CA
Device:00:19:00=8086:1503:1043:849C
Device:00:1A:00=8086:1E2D:1043:84CA
Device:00:1C:00=8086:1E10:1043:84CA
Device:00:1C:04=8086:1E18:1043:84CA
Device:00:1C:06=8086:1E1C:1043:84CA
Device:00:1C:07=8086:1E1E:1043:84CA
Device:00:1D:00=8086:1E26:1043:84CA
Device:00:1F:00=8086:1E44:1043:84CA
Device:00:1F:02=8086:2822:1043:84CA
Device:01:00:00=10DE:1005:3842:2791 GPU
Device:01:00:01=10DE:0E1A:3842:2791
Device:03:00:00=1B21:1042:1043:8488
Device:04:00:00=10B5:8608:10B5:8608
Device:05:01:00=10B5:8608:10B5:8608
Device:05:04:00=10B5:8608:10B5:8608
Device:05:05:00=10B5:8608:10B5:8608
Device:05:06:00=10B5:8608:10B5:8608
Device:05:07:00=10B5:8608:10B5:8608
Device:05:09:00=10B5:8608:10B5:8608
Device:08:00:00=1B21:0612:1043:84B7
Device:0C:00:00=1B21:0612:1043:84B7
Action: Compare ROM image.
Action: Identify EEPROM.
Atmel Serial EEPROM Identify.
Reported Manufacturer Code (JEDEC): C8
Reported Device Code (JEDEC): 4012
EEPROM ID (C8,4012) : GD GD25Q20 2.7-3.6V 2048Kx1S, page
Action: Read EEPROM image.
Reading EEPROM bytes.
Start: 0x00000000
Count: 262144
Read complete.
Current - Version:80.10.2C.00.90 ID:10DE:1005:3842:2791
GK110 Board - 20830010 (Normal Board)
Compare with - Version:80.10.2C.00.90 ID:10DE:1005:3842:2791
GK110 Board - 20830010 (Normal Board)
File size: 233984
Adapter size: 233984

ERROR: Mismatch at offset 0x00032004
Exit Code: 2

I have used the standard process of flashing / dumping:

Code:
nvflash --protectoff
nvflash -4 -5 -6 GK110.rom
nvflash --protecton (have tried with or without this step, no hex difference)
nvflash --save GK110(backup).rom

I have then found out that the bios.rom file continues to morph between subsequent dumps. The main changes are after or around HEX address 0x0003200, but there are sometimes smaller changes at other addresses.


Here is what a hex comparison (using BeyondCompare) shows (the red bars on the left hand side show the extend of changed code towards the end of the file):



The HEX compare analysis shows following stats:
Code:
216129 same byte(s)
17683 left orphan byte(s)
17683 right orphan byte(s)
172 difference byte(s)

Here's a full hex differences report (original ROM on the left side, dumped ROM on the right side):
https://www.dropbox.com/s/wgae4lmog3d98mn/GK110_HexCompare_Differences.txt

And here are two ROM files showing the difference files (one I have flashed and the dump I saved immediately afterwards) if you want to check for yourself:
https://www.dropbox.com/s/2z2mwaklt6zrr5c/ROMs.zip

- I have tested different nvflash versions (5.118, 5.127, 5.142), both under Windows and DOS, all with the same results.
- I have also tested skipping "--protectoff" ->"--protecton" during flashing, no difference.
- I have tested different BIOS files, modded and original, all with the same results.

Does anyone have an idea whats going on? Is it normal that the dumped BIOS is hex different when compared to the flashed one?

Is this a problem with my system/procedure or can anyone else confirm this behaviour?
Any help or insight appreciated!


incognitus
 
Last edited:
Joined
Dec 13, 2010
Messages
4 (0.00/day)
Hmmm, 145 views and no answers. I was hoping this is a known issue and not unique to my setup...

It would be really *great* if someone with a Titan (or other Kepler based card) could help me out here. It just takes a few minutes:

1) Make a dump of your vBIOS using GPU-Z or nvflash
2) Binary- or hex compare the dump with the original bios (or the bios you flashed earlier)
2a) If you don't have the original vBIOS file, just make two dumps and compare them (with some time between the dumps)

You can use any file comparison tool for this - there's even one built into Windows (command prompt -> "fc /b file1 file2")

Thanks a lot!!

I.
 

Solaris17

Super Dainty Moderator
Staff member
Joined
Aug 16, 2005
Messages
25,864 (3.79/day)
Location
Alabama
System Name Rocinante
Processor I9 14900KS
Motherboard EVGA z690 Dark KINGPIN (modded BIOS)
Cooling EK-AIO Elite 360 D-RGB
Memory 64GB Gskill Trident Z5 DDR5 6000 @6400
Video Card(s) MSI SUPRIM Liquid X 4090
Storage 1x 500GB 980 Pro | 1x 1TB 980 Pro | 1x 8TB Corsair MP400
Display(s) Odyssey OLED G9 G95SC
Case Lian Li o11 Evo Dynamic White
Audio Device(s) Moondrop S8's on Schiit Hel 2e
Power Supply Bequiet! Power Pro 12 1500w
Mouse Lamzu Atlantis mini (White)
Keyboard Monsgeek M3 Lavender, Akko Crystal Blues
VR HMD Quest 3
Software Windows 11
Benchmark Scores I dont have time for that.
do these mismatches happen when doing dumps from nvflash and then GPUz at the next reboot?
 
Joined
Dec 13, 2010
Messages
4 (0.00/day)
).
do these mismatches happen when doing dumps from nvflash and then GPUz at the next reboot?

Hi Solaris17, sorry for the late reply, I was on vacation for a couple of weeks.

To answer your question: I have tested all combinations:

nvflash - (reboot)- nvflash
nvflash - (reboot)- gpuz
gpuz - (reboot)- gpuz
gpuz - (reboot) - nvflash

I have also used different versions of nvflash (from 5.163.0.1 all the way down to 5.118, the first version to support Kepler), and dumped at different stages (e.g. boot to dos, flash, dump immediately afterwards, compare).

Sometimes it takes a reboot and or some random activity (browsing etc.) before the dumps change, but sometimes it also happens if I make a dump immediately after flashing.

Could someone maybe try and make a dump (either with GPUZ or nvflash), reboot, and make another dump a few hours later and see if it has changed?

That would be awesome!
 

1442934346

New Member
Joined
Oct 19, 2021
Messages
2 (0.00/day)
Maybe this section of the NVIDIA official document can answer your question
QQ截图20211019210147.png
 
Top