Ok, so it is finally working 🎉 Thanks @loopster for providing the HP vBIOS file. And this is what happened:
1. Booted Fedora Live. dmesg showed that nouveau had trouble initializing the card:
nouveau 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55 got 0xfb00
And then nouveau dumped core.
2. Unloaded nouveau and tried nvflash to backup the current vBIOS:
root@localhost-live:/home/liveuser/Downloads/nvflash_5.660_linux# modprobe -r nouveau
root@localhost-live:/home/liveuser/Downloads/nvflash_5.660_linux# ./nvflash --save bios.rom
NVIDIA Firmware Update Utility (Version 5.660.0)
Copyright (C) 1993-2020, NVIDIA Corporation. All rights reserved.
Adapter: Quadro M2000M (10DE,13B0,103C,8275) H:--:NRM S:00,B:01,D:00,F:00
EEPROM ID (EF,3012) : WBond W25X20A 2.7-3.6V 2048Kx1S, page
Build GUID : Blank
IFR Subsystem ID : Blank
Subsystem Vendor ID : 0x0000
Subsystem ID : 0x0000
Version : Unavailable (Invalid) (Disabled Image)
... blank and zeroes etc.
Looks like the vBIOS got damaged or erased 🤔
3. Proceeded to flash a new vBIOS:
root@localhost-live:/home/liveuser/Downloads/nvflash_5.660_linux# ./nvflash VBIOS.rom
NVIDIA Firmware Update Utility (Version 5.660.0)
Copyright (C) 1993-2020, NVIDIA Corporation. All rights reserved.
Checking for matches between display adapter(s) and image(s)...
Adapter: Quadro M2000M (10DE,13B0,103C,8275) H:--:NRM S:00,B:01,D:00,F:00
EEPROM ID (EF,3012) : WBond W25X20A 2.7-3.6V 2048Kx1S, page
NOTE: EEPROM appears to be erased:
NOTE: Skipping PCI Subsystem ID and board ID checks.
NOTE: Only correct GPU checked.
NOTE: EEPROM does not contain board ID, skipping board ID check.
Current - Version:Unavailable (Invalid) ID:0000:0000:0000:0000
Replace with - Version:82.07.9B.00.02 ID:10DE:13B0:103C:810A
GM107 Board - 27570504 (Normal Board)
Update display adapter firmware?
Press 'y' to confirm (any other key to abort): y
EEPROM ID (EF,3012) : WBond W25X20A 2.7-3.6V 2048Kx1S, page
WARNING: Adapter does not have a preservation table,
unable to preserve board settings.
Storing updated firmware image...
Erasing EEPROM...
[==============================================> ] 92 %
Verifying update...
Update successful.
4. After restart... success! Both Linux and Windows recognized the card correctly. GPU-Z and NVIDIA Panel are correctly reporting GPU's capabilities.
Still needed a modified INF to get that 10DE:13B0:103C:810A ID recognized but nvcleaninstall took care of that.
Unanswered mystery of the universe: why the card's EEPROM contained 0xFF all the way? Flash chips are not supposed to just self-erase themselves while in storage.😕