I tried to use this tool to upgrade a new GOP image (extracted from Asus 82.4 KB file on MEGA) for my Ampere card (RTX3060Ti) for fixing the problem of no signal from the boot and BIOS screen displays when connected using the DP1.4 connector.
It successfully modifies the VBIOS file, but when I apply it to the GPU with nvflashk it fails, it seems that there are other validation mechanisms for the VBIOS file for the Ampere architecture that nvflashk can’t bypass …
Here are the logs from nvflashk:
*** NVFLASH LOG FILE ***
Command-line : -6 GA104_0x60018.rom -L log.txt
nvflashk pre-release
github.com/notfromstatefarm/nvflashk - Safer GUI version with autorecovery coming by September!
Command: flash
Product name:NVIDIA GeForce RTX 3060 Ti
DID:0x24C910DE - SSID:0x16FB10B0
NV Driver Version : 54617
<0>: DisplayID = 00002000
Pad(0/8): DispMask=00000000, MODE=I2C, USED=Used, PWR=OFF
Pad(1/8): DispMask=00000000, MODE=I2C, USED=Used, PWR=OFF
Pad(2/8): DispMask=00000100, MODE=I2C, USED=Used, PWR=OFF
Pad(3/8): DispMask=00000600, MODE=AUX, USED=Used, PWR=OFF
Pad(4/8): DispMask=00001800, MODE=AUX, USED=Used, PWR=OFF
Pad(5/8): DispMask=00006000, MODE=AUX, USED=Used, PWR=ON
Pad(6/8): DispMask=00000000, MODE=I2C, USED=Used, PWR=OFF
Pad(7/8): DispMask=00000000, MODE=AUX, USED=Unused, PWR=OFF
Counts of USB-C connected monitor : 00
Disable D3 cold capability before unloading driver...
Disable D3 cold capability successfully on GPU index 0x00.
FindDevices:
Device:0000:00:00:00=1022:1480:1462:7C94
Device:0000:00:00:02=1022:1481:1462:7C94
Device:0000:00:01:00=1022:1482:0000:0000
Device:0000:00:01:01=1022:1483:FFFF:FFFF
Device:0000:00:01:02=1022:1483:FFFF:FFFF
Device:0000:00:02:00=1022:1482:0000:0000
Device:0000:00:03:00=1022:1482:0000:0000
Device:0000:00:03:01=1022:1483:FFFF:FFFF
Device:0000:00:04:00=1022:1482:0000:0000
Device:0000:00:05:00=1022:1482:0000:0000
Device:0000:00:07:00=1022:1482:0000:0000
Device:0000:00:07:01=1022:1484:FFFF:FFFF
Device:0000:00:08:00=1022:1482:0000:0000
Device:0000:00:08:01=1022:1484:FFFF:FFFF
Device:0000:00:14:00=1022:790B:1462:7C94
Device:0000:00:14:03=1022:790E:1462:7C94
Device:0000:00:18:00=1022:1440:0000:0000
Device:0000:00:18:01=1022:1441:0000:0000
Device:0000:00:18:02=1022:1442:0000:0000
Device:0000:00:18:03=1022:1443:0000:0000
Device:0000:00:18:04=1022:1444:0000:0000
Device:0000:00:18:05=1022:1445:0000:0000
Device:0000:00:18:06=1022:1446:0000:0000
Device:0000:00:18:07=1022:1447:0000:0000
Device:0000:01:00:00=1E0F:0009:1E0F:0001
Device:0000:02:00:00=1022:43EE:1B21:1142
Device:0000:02:00:01=1022:43EB:1B21:1062
Device:0000:02:00:02=1022:43E9:FFFF:FFFF
Device:0000:03:00:00=1022:43EA:FFFF:FFFF
Device:0000:03:09:00=1022:43EA:FFFF:FFFF
Device:0000:04:00:00=8086:2522:8086:3806
Device:0000:2A:00:00=10EC:8125:1462:7C94
Device:0000:2B:00:00=10DE:24C9:10B0:16FB GPU
Device:0000:2B:00:01=10DE:228B:10B0:16FB
Device:0000:2C:00:00=1022:148A:1462:7C94
Device:0000:2D:00:00=1022:1485:1462:7C94
Device:0000:2D:00:01=1022:1486:1462:7C94
Device:0000:2D:00:03=1022:149C:1462:7C94
Device:0000:2D:00:04=1022:1487:1462:EC94
Filter-out on-motherboard PLX bridge device.
No PLX/PEX switch was detected, skip to filter-out non-NVIDIA PLX/PEX switch.
One to one mode
Testing adapter: NVIDIA GeForce RTX 3060 Ti (10DE,24C9,10B0,16FB) S:00,B:2B,D:00,F:00
Disable NV driver before start if NV driver loaded.
The NVFlash succeed to disable the NV Driver automatically.
Adapter: NVIDIA GeForce RTX 3060 Ti (10DE,24C9,10B0,16FB) S:00,B:2B,D:00,F:00
Failed to raise ROM and uC perf clocks.
Flashing on blank EEPROMs will be slow.
uproc 05.00 ready to be used.
Preparing secure operation after kicked start.
Actual SPI clock frequency (Hz): 73636364
Serial EEPROM identified.
EEPROM ID (9D,7015) : ISSI IS25WP016D 1.65-1.95V 16384Kx1S, page
Action: Identify EEPROM.
EEPROM has been identified, skipping.
Action: Read EEPROM image.
Reading EEPROM (this operation may take up to 30 seconds)
Reading EEPROM bytes.
Start: 0x00000000
Count: 2097152(0x00200000)
Read complete.
Testing Image: GA104_0x60018.rom
IFR image mode
Current - Parsed Production VBIOS version: 94.04.94.00.9D
Replace with - Parsed Production VBIOS version: 94.04.94.00.9D
Mismatch Type: Computed: 0x00000300
Mismatch Type: Adjusted: 0x00000000
Current - Version:94.04.94.00.9D ID:10DE:24C9:10B0:16FB
GPU Board (Normal Board)
Replace with - Version:94.04.94.00.9D ID:10DE:24C9:10B0:16FB
GPU Board (Normal Board)
Action: Flash image.
Action: Identify EEPROM.
EEPROM has been identified, skipping.
Action: Read EEPROM image.
Reading EEPROM (this operation may take up to 30 seconds)
Reading EEPROM bytes.
Start: 0x00000000
Count: 2097152(0x00200000)
Read complete.
G001.0000.94.01
G001.0000.94.01
InfoROM Release Level: 0x00(Current) v.s.0x00(File)
NOTES: GENERIC_DEFAULT = 0, GENERIC_POPULATED = 1
PRODUCT_DEFAULT = 2 ,PRODUCT_POPULATED = 3
InfoROM Release Version: G001.0000.94.01(Current) v.s. G001.0000.94.01(File)
INFOROM_FLASH_TYPE: 0x05
INFOROM_FLASH_TYPE_GENERIC_DEFAULT_TO_GENERIC_DEFAULT
Refresh InfoROM Backup (IB) block from the source vbios in EEPROM.
Preserve License image...
Preserve InfoROM OBD object...
Succeed to preserve InfoROM OBD.
Preserve InfoROM OEM object...
Succeed to preserve InfoROM OEM object.
Preserve InfoROM BRD object...
Succeed to preserve InfoROM BRD.
Preserve InfoROM RPR object...
RPR preservation completes.
Preserve InfoROM RRL object...
Skip to preserve InfoROM RRL data for EEPROM does not have RRL data.
Preserve InfoROM BBO object...
Succeed to preserve InfoROM BBO object.
Compress the backup InfoROM on composing InfoROM image...
Leverage current InfoROM offset and remove the existed InfoROM before composing new InfoROM
InfoROM PCI base offset: Current offset = 0xC0E00
New offset = 0xC0E00
Final PCI expansion ROM size is 209408(0x33200) bytes
Final InfoROM Offset = 0x000B7E00 ( Absolute Offset 0x000C1000)
RFRD Settings | ROMImage | Final |
InfoRomOffset | 0x000C1000 | 0x000C1000 |
InfoRomSize | 0x00031000 | 0x00031000 |
InfoROM Offsets | ROMImage | InputAlt | Final |
NBSI OpRom Offset | 0x0C0E00 | 0x000000 | 0x0C0E00 |
NPDS Struct Offset | 0x0C0E20 | 0x000020 | 0x0C0E20 |
NPDE Offset | 0x0C0E40 | 0x000040 | 0x0C0E40 |
NBSI DIR Offset | 0x0C0FE0 | 0x000FE0 | 0x0C0FE0 |
JFFS Offset | 0x0C1000 | 0x001000 | 0x0C1000 |
Delete the current InfoROM block from the target vbios image.
Num of Objects = 7
Num of RW Objects = 1
Size of image with dummy RO blocks = 2304
Compress the backup InfoROM on merging InfoROM to ROM image...
Proceeding with data compression...
Compress the backup InfoROM on composing InfoROM image...
Leverage current InfoROM offset and remove the existed InfoROM before composing new InfoROM
InfoROM PCI base offset: Current offset = 0xC0E00
New offset = 0xC0E00
Final PCI expansion ROM size is 209408(0x33200) bytes
Final InfoROM Offset = 0x000B7E00 ( Absolute Offset 0x000C1000)
RFRD Settings | ROMImage | Final |
InfoRomOffset | 0x000C1000 | 0x000C1000 |
InfoRomSize | 0x00031000 | 0x00031000 |
InfoROM Offsets | ROMImage | InputAlt | Final |
NBSI OpRom Offset | 0x0C0E00 | 0x000000 | 0x0C0E00 |
NPDS Struct Offset | 0x0C0E20 | 0x000020 | 0x0C0E20 |
NPDE Offset | 0x0C0E40 | 0x000040 | 0x0C0E40 |
NBSI DIR Offset | 0x0C0FE0 | 0x000FE0 | 0x0C0FE0 |
JFFS Offset | 0x0C1000 | 0x001000 | 0x0C1000 |
Num of Objects = 7
Num of RW Objects = 1
Size of image with dummy RO blocks = 2304
Num of Objects = 7
Num of RW Objects = 1
Size of image with dummy RO blocks = 2304
Num of Objects = 7
Num of RW Objects = 1
Size of image with dummy RO blocks = 2304
Skip proceeding with preservation table for Pascal or newer chip.
EEPROM size: 00200000
Image size: 000F4000
Unused size: 0010C000
Filled size: 0000C000
Start VBIOS verification
Send VV Command...
Command id: 0x3000000E Command: NV_UCODE_CMD_COMMAND_VV failed
Command Status: NV_UCODE_CMD_STS_COMPLETE
Error Code = 0x00000040(64): NV_UCODE_ERR_CODE_CERT20_VDPA_SIG_INVALID
VBIOS verification error, update aborted.
Restore the NV driver state automatically, and a reboot is required.
Delete the cached vbios from registry
Restore D3 cold capability after NV driver restoration...
Enable D3 cold capability successfully on GPU index 0x00.
Restore D3 cold capability after 01 try.
NOTE: Exception caught.
Nothing changed!
ERROR: Invalid firmware image detected.
Exit Code: 2