Nvidia VBIOS flashing

Minerstat mining OS supports Nvidia Firmware Update Utility, version 5.414.0 for Nvidia BIOS flashing. Since this is an advanced tool that is not recommended for use if you don't know what you are doing, we decided to keep it at a console level only (without an option to adjust settings through the web dashboard as on AMD Memory Tweak). msOS uses a simplified version for OEM only and the following commands are availabe through the console.

  • nvflash [options] to update the VBIOS firmware.
  • nvflash [options] --save to save the VBIOS firmware to file.
  • nvflash [options] --display [bytes] to display the firmware bytes.
  • nvflash [options] --check to check for the supported EEPROM.
  • nvflash [options] --version [] to display the VBIOS version.
  • nvflash [options] --list to list the adapters.
  • nvflash [options] --compare to compare the adapter firmware.
  • nvflash [options] --verify to verify the adapter firmware.
  • nvflash [options] --verify --ifronly to verify the adapter IFR firmware.
  • nvflash [options] --ecid to display the GPU ECID.
  • nvflash [options] --licinfo to display the License information.
  • nvflash [options] --licreq to generate a License Request File.
  • nvflash [options] --license to provide a HULK license file.
  • nvflash [options] --lspci to list out all the PCI devices.
  • nvflash [options] --setpci to access the PCI Configure register.
  • nvflash [options] --buildinfo to display the Build information.
  • nvflash [options] --querygmac to display the MCU version.
  • nvflash [options] --proggmac to update the MCU firmware.
  • nvflash [options] --savegmac to save the MCU firmware to file.
  • nvflash [options] --listgmac to list the MCUs.
  • nvflash [options] --protecton for the write protection EEPROM.
  • nvflash [options] --protectoff to remove write protection.

To use Nvidia Firmware Update tool, you will need to prepare your rig for flashing. This can be done by following the next steps.

  1. Stop mining by writing mstop
  2. List the version of VBIOS of each card by writing nvflash --list
  3. Backup BIOS by writing nvflash -i0 -b gpu0.rom
  4. Before flashing you will need to disable the kernel modules by writing sudo su -c "rmmod -f nvidia_uvm; rmmod -f nvidia_drm; rmmod -f nvidia_modeset; rmmod -f nvidia"

Flashing all cards

If you want to flash all the cards with the same VBIOS version, use the command nvflash gpu0.rom

If you get subsystem id mismatch, you can use the following command for force flash for all GPUs nvflash -6 gpu0.rom

Flashing a single card

If you want to flash a specific card in the rig, use the command nvflash -i0 gpu0.rom

If you get an error message that there is a subsystem id mismatch, you can use the following command for force flash for specific GPU nvflash -i0 -6 gpu0.rom

After the flash, you need to enable back the Nvidia kernel modules by writing sudo dkms install -m nvidia -v $(ls /usr/src | grep nvidia | sed 's/[nvidia][nvidia}]*//' | sed 's/[-][-}]*//')

Once again, only use this tool if you know what you are doing. Flashing GPUs BIOS is an advanced technique.