Paste the output of lspci, nvidia-smi, nvidia-smi -q and dmesg from the host with your CMP 170HX cards. The page works out which card each one is, whether the unlock took, what the PCIe link is doing, what the driver situation is, and what any Xid or NVRM lines in the kernel log mean. Every finding links the wiki page it comes from. The check runs in your browser: nothing is uploaded.
The check runs in your browser and needs JavaScript. Without it, this page lists what to paste and every rule the check applies, each with the wiki page behind it.
What to paste
Run these on the host with the cards and paste the raw output. Paste what you have; each one adds checks. nvidia-smi --query-gpu=... CSV output and deviceQuery are read too.
sudo lspci -nnvv -d 10de:PCI IDs, subsystem, BAR sizes and the trained link (LnkCap and LnkSta). Without sudo the link lines are hidden.nvidia-smiDriver version, memory total, power cap, persistence and ECC per card.nvidia-smi -qVBIOS, board part number, link generation, power brake flag, BAR1, ECC, temperatures and power limits.sudo dmesgThe driver load, SEC2_DEBUG and CMP lines from the unlock, Xid codes and other NVRM errors. If the full log is too long, this keeps the lines the check reads:sudo dmesg | grep -E -i "nvrm|nvidia|xid|aer|10de|bar 1|secure boot|command line|linux version|hypervisor"
What the check looks at
Every finding comes from one of these 53 rules, and each rule links the wiki page its facts come from. A Problem is something the wiki reports as broken; a Check is worth a look; Good matches what a working card shows.
The rule table (53 rules)
| Check | What it looks for | Read from | Wiki page |
|---|---|---|---|
| Card | |||
| Which card | The PCI device ID: 10de:20c2 is the 8 GB card and 10de:2082 the 10 GB card. Without an ID the memory total decides; the name does not tell the two apart. | lspci, nvidia-smi -q, dmesg | Which card do I have |
| 32 GB board | Subsystem 10de:1586 on device 20c2, board 699-11001-0109-RC1 or VBIOS 92.00.6D.00.01: a board that looks like an 8 GB card but unlocks to 32 GB only. | lspci, nvidia-smi -q | 32 GB cards (subsystem 10de:1586) |
| Subsystem ID | Normal 8 GB cards read subsystem 10de:1585 and 10 GB cards 10de:1557; any other subsystem is flagged. | lspci, nvidia-smi -q | Which card do I have |
| Board part number | 900-11001-0108-000 is the production 8 GB board; a 699-...-RCx number marks an engineering sample, and 699-11001-0109-RC1 is the 32 GB board. | nvidia-smi -q | Odd variants and engineering samples |
| Not a 170HX | Other CMP models by device ID (90HX 220d, 50HX 1e09, 40HX 1f0b, 30HX 2189, 70HX 248a, 100-210 1d84 or 1df4) and device 20b0 (an A100 ES1 in the wiki's one report) are named, with the page that covers them. | lspci, nvidia-smi -q, dmesg | Other CMP cards and other NVIDIA GPUs |
| Other NVIDIA GPUs in the host | Another NVIDIA GPU beside a 170HX: pass --profile=8gb or --profile=10gb to the installer, because auto-detection reads the first GPU. | lspci, nvidia-smi | Driver and unlock failures |
| In lspci, missing from nvidia-smi | A 170HX that lspci lists and nvidia-smi does not: no airflow, driver 615.78.08 or a GSP boot failure are the usual causes. | lspci with nvidia-smi | Card not detected or BAR allocation fails |
| SM count | Only when the paste shows a multiprocessor count (deviceQuery, for example): 70 is stock, 74 is the +4 SM step of cmpunlocker v0.5, 56 marks a slower card, and more than 74 is the 10 GB card's software or RIR path. | deviceQuery or a multiprocessor count line | Full SM unlock |
| Memory unlock | |||
| Memory total | 8192 or 10240 MiB is stock. cmpunlocker sets 65536 MiB on the 8 GB card and 40960 MiB on the 10 GB card, and its verify.sh passes 60000 MiB or more (8 GB) and 35000 to 59999 MiB (10 GB). 49152 MiB is 48 GB on a 10 GB card, 32768 MiB on an 8 GB ID is a 32 GB board, and 81920 MiB is the experimental 80 GB profile. | nvidia-smi, nvidia-smi -q | Verifying an unlock |
| SEC2_DEBUG lines | Present: the unlock fired. None in a log that covers the driver load: the stock module ran. | dmesg | Verifying an unlock |
| Stock module still running | A module version line built by dvs-builder, or the installer's srcversion warning or "still stock" message: the patched module is not the one loaded. | dmesg, /proc/driver/nvidia/version, installer output | Driver and unlock failures |
| BAR1 size | "NVRM: CMP BAR1: final size = 65536 MB", BAR1 Total 65536 MiB or a 64G region: BAR1 was resized. 64 or 256 MB: not resized, which matters only for P2P and static BAR1 mapping. | dmesg, nvidia-smi -q, lspci | Verifying an unlock |
| BAR allocation | Kernel "no space" or "failed to assign" lines for BAR 1, the NVRM invalid region message, or a card with no Region 1: the bridge window cannot take 64 GB. | dmesg, lspci | Card not detected or BAR allocation fails |
| Late-PMA fix | "CMPUNLOCK_PMA: extension SKIPPED": the build keeps the protected top of VRAM out of the allocator, the fix for one kind of Xid 31. | dmesg | Xid 31 and the reserved top of VRAM |
| Secure Boot | "Secure boot enabled": the patched modules are unsigned and need Secure Boot off. | dmesg | Driver unlock |
| Module signature line | "module verification failed: signature and/or required key missing" is expected with the unsigned patched modules. | dmesg | Driver unlock |
| Driver | |||
| Driver version | cmpunlocker's list at commit 2c7e2ec: 615.78.08, 615.71.10, 615.71.09, 610.57.04, 610.43.03 and 610.43.02, and the installer refuses any other. 615.71.09 is the most widely confirmed; 615.78.08 breaks the unlock for several people. | nvidia-smi, nvidia-smi -q, dmesg | Driver unlock |
| Open kernel module | cmpunlocker patches NVIDIA's open GPU kernel modules; a closed (proprietary) module line means the unlock is not running. | dmesg, /proc/driver/nvidia/version | Driver unlock |
| 615.78.08 symptoms | On 615.78.08 the cards failed to train Gen2 at boot and showed in lspci but not in nvidia-smi; on Proxmox kernel 7.0.14-26-pve a failed start corrupted host memory. | driver version with lspci, nvidia-smi and dmesg | Driver and unlock failures |
| krcWatchdog | "krcWatchdog: GPU is probably locked": 615.71.09 with cmpunlocker in a VM that also holds other NVIDIA GPUs wedges UVM. | dmesg | Driver and unlock failures |
| Kernel 7.x | Flagged only beside an unlock or link failure: 7.x kernels have caused problems, and 6.8 LTS is safe. | dmesg | Driver and unlock failures |
| IOMMU passthrough | Flagged when an unlocked card is at Gen1 and the kernel command line has no iommu=pt: Gen2 came up with IOMMU on, in passthrough mode. | dmesg | Driver unlock |
| Booter failed lines | Dozens of "Booter failed with non-zero error code: 0x31" (or 0xffff) lines at boot are the unlock's own retry rounds, not damage. | dmesg | Xid errors |
| 170tune preflight | PLL PLM 0xBADF2010 or "FBPA privilege masks are closed": a PRI error, the register window is fenced by the unlock build in use. | 170tune output | Driver and unlock failures |
| nvidia-smi finds no GPU | "No devices were found" or "couldn't communicate with the NVIDIA driver": the driver did not bring the card up. | nvidia-smi | Card not detected or BAR allocation fails |
| Driver and library mismatch | A driver/library version mismatch means the old module is still loaded, and a memory total read through it means nothing until a reboot. | nvidia-smi, dmesg | Driver and unlock failures |
| GPU requires reset | "GPU requires reset", ERR in the table or a lost GPU: a firmware crash (Xid 119, 154 or 62) that a warm reboot does not clear. | nvidia-smi | Recovery |
| VMware guest | Inside a VMware guest the link shown is the hypervisor's virtual link (5 GT/s x32 whatever the card does); read the real link on the host. | dmesg, lspci | Card not detected or BAR allocation fails |
| KVM guest on OVMF | RmInitAdapter or SEC2 failures inside a Proxmox or KVM guest booted with OVMF (UEFI) firmware look exactly like a failed unlock; the fix is SeaBIOS. | dmesg | Xid errors |
| Power and heat | |||
| VBIOS version | 92.00.67.00.01 is the 8 GB card's 250 W image (no undervolt range), 92.00.6D.00.0A the 300 W image, 92.00.66.00.02 the 10 GB card's only VBIOS and 92.00.6D.00.01 the 32 GB board's. | nvidia-smi -q | Flashing the 300 W VBIOS |
| Power limit | The cap against the default and the maximum; a 300 W maximum is the 300 W image. Most owners serve at 140 to 200 W, and a driver reload resets the cap to the default. | nvidia-smi, nvidia-smi -q | Undervolting and power limits |
| HW Power Brake Slowdown | Active: the board or riser asserts PWRBRK# on edge pin B30 and holds the card near 80 to 88 W, about 4x slow. | nvidia-smi -q | HW Power Brake (PWRBRK) |
| Persistence mode | The wiki's power cap recipe turns persistence mode on (nvidia-smi -pm 1) and sets the cap per card after the driver loads. | nvidia-smi, nvidia-smi -q | Undervolting and power limits |
| Temperatures | HBM errors were reported above about 75 C, and 85 C is the safe maximum before the card throttles; HBM runs hotter than the core. | nvidia-smi, nvidia-smi -q | Memory errors and ECC |
| ECC | |||
| ECC mode | Enabled is cmpunlocker v0.5's software ECC, and its "Enabled, 0 errors" report proves nothing on its own; the wiki advises keeping it on while tuning. | nvidia-smi, nvidia-smi -q | Memory errors and ECC |
| ECC error counts | Non-zero uncorrectable counts. They come from GSP, not from the reporting patch, and SRAM faults also show as Xid 48 and 172. | nvidia-smi, nvidia-smi -q | Memory errors and ECC |
| Link | |||
| Link speed | From LnkSta, not LnkCap: 2.5 GT/s is Gen1 (stock), 5 GT/s Gen2 (cmpunlocker), 8 GT/s Gen3 and 16 GT/s Gen4, which need the RIR burn on the 10 GB card; the 8 GB card stays at Gen2. Many cards drop to Gen1 at idle. | lspci -vv | Verifying an unlock |
| Link width | From LnkSta: x4 is stock, x16 needs the capacitor mod, x8 after the mod is a bad joint or a slot that shares lanes, and below x4 is a riser or seating fault. | lspci -vv | PCIe x16 capacitor mod |
| Link in nvidia-smi | Used when lspci is missing: nvidia-smi guesses the link, can report Gen1 after Gen2 trained, and a Gen maximum of 1 means the Gen2 patch was probably never attempted. | nvidia-smi -q, --query-gpu CSV | Verifying an unlock |
| FAILED to set OPT_GEN23 | The boot path refused the Gen2 override and the card advertises Gen1 only; no fix was found in the reported cases. Gen1 x16 gives the bandwidth of Gen2 x4. | dmesg | Driver and unlock failures |
| CMP Gen2 retrain message | The status value decides: 0x1042 is Gen2 x4 even when the message says "without Gen2 link", and 0x1041 is Gen1 x4. | dmesg | Driver and unlock failures |
| PCIe errors | AER lines for the card in dmesg, AER status bits set in lspci, or non-zero replay counts in nvidia-smi -q. Testers take AER and replay snapshots before and after a load; a healthy link logs none. | dmesg, lspci -vv, nvidia-smi -q | Monitoring |
| Capabilities access denied | lspci run without root hides LnkCap and LnkSta; run it with sudo. | lspci | Troubleshooting |
| Kernel log | |||
| Xid codes | Every Xid the wiki's table lists for these cards (1, 13, 26, 31, 43, 45, 48, 62, 79, 109, 119, 154 and 172), with the reported cause and fix. | dmesg | Xid errors |
| Xid 31 from the reserved top of VRAM | A copy-engine physical-write region violation matches an unlock build without the late-PMA fix (before v0.3, or a stale checkout). | dmesg | Xid 31 and the reserved top of VRAM |
| Xid codes not on the wiki | Any other Xid number is shown as unknown, with the Troubleshooting page; no meaning is guessed. | dmesg | Troubleshooting |
| Fallen off the bus | "GPU has fallen off the bus" (Xid 79): only a true cold power cycle brought such cards back, and one card at 250 W kept falling off until it was capped at 180 W. | dmesg | Xid errors |
| UVM global fatal error | Seen after reloading nvidia_uvm following an Xid 31: Xid 154 on every card, and only a reboot recovered. | dmesg | Xid errors |
| No valid ROM signature | "did not find valid ROM signature" or RmInitAdapter failed (0x62:0x25:...): a card that never initialized; the VBIOS flash chip is suspected. | dmesg | Xid errors |
| GFW_BOOT never completes | "failed to wait for GFW_BOOT" or RmInitAdapter failed (0x62:0x55:...): both reported cards were dead. | dmesg | Card not detected or BAR allocation fails |
| WPR2 already up | "unexpected WPR2 already up" or RmInitAdapter failed (0x62:0x40:2028): an earlier boot or unlock attempt left WPR2 programmed; a function-level reset or a cold power cycle clears it. | dmesg | Xid errors |
| Other RmInitAdapter failures | RmInitAdapter failed with another code: the driver could not bring the card up. | dmesg | Card not detected or BAR allocation fails |
| Other NVRM errors | NV_ERR_RESET_REQUIRED, "FBPAs failed to lock", _scrubWaitAndSave timeouts, static BAR1 mapping failures, NV_ERR_INVALID_REGISTRY_KEY and host NV_ERR_NO_MEMORY, each as the wiki's list of errors that are not Xids describes it. | dmesg | Xid errors |
The check reads command output only; it cannot see the card. When it says unknown, it means the wiki has nothing on that reading yet. Ask on the Discord with the summary and the raw logs, as Troubleshooting describes.