Q-Code 22

Hello! Long-time lurker, first-time poster. I have been building computers and writing code for over a decade, but today I have run into an issue I can’t seem to solve.

My issue is identical to the one here: /t/asus-pro-ws-wrx80e-sage-se-wifi-q-code-22/195655

I have an ASUS Pro WRX80E-SAGE WiFi II motherboard with a Ryzen Threadripper Pro 3945WX CPU. The motherboard was purchased brand new from Amazon, and the CPU was purchased secondhand on eBay. As with the other guy linked above, I can’t definitely rule-out that the CPU is vendor-locked, however the listing has no mention of it, and the computer is giving me no reason to believe it could be vendor-locked.

If I try to boot with NO memory installed, I get Q-Code 27. If I boot with memory, I get 22. Per the manual, both codes seem to fall under “Memory initialization”. Useless. Why have ~10 different memory initialization codes if there’s no way to distinguish them?

I have been trying G.Skill Value RAM (2x 8GB DDR4 2133MHz) and G.Skill Trident Z RAM (2x 32GB DDR4 2400MHz) in various combinations on the RAM slots. I have tried just one stick of either set in DIMM slot A, then DIMM slot B, and finally DIMM slots E and H. I have also tried each set in slots A and B and E and F, and I have tried all four in slots A through D. In each scenario I get Q-Code 22, though the more DIMMs installed, the longer it takes for the Q-Codes to cycle through to 22, so the motherboard seems to be doing something to each DIMM before throwing code 22.

The RAM modules are known-good and were just inside a running computer yesterday.

The BIOS has been updated to the latest version (no change in behavior).

I am able to access the IPMI through the web interface. It does not provide any helpful error messages, but confirms that the computer doesn’t make it past POST.

My theories:

  1. I need to use Registered RAM - I have a stick of DDR4 ECC Registered RAM coming tomorrow to test this theory, but from everything I’ve read (including the motherboard manual), I should be able to use DDR4 ECC, non-ECC, buffered, unbuffered- so long as all DIMMs are the same.

1b. I need to populate ALL of the DIMM slots? I realize the big benefit to Threadripper PRO is the 8-channel memory bus, but surely the motherboard would POST with just one DIMM populated?

  1. The motherboard is enforcing a whitelist of RAM modules - the ASUS support page for this motherboard allows me to search for “supported” RAM… not that that should matter- but I did have an MSI Z170A-G45 motherboard back in 2016 that DID have some kind of whitelist and would not boot with certain RAM. Very similar RAM SKUs to what I have are on the list, and I suspect they are “close enough” - they’re from the same product line, made at the same time, just differ in clock speed and/or size. I was not able to find an exact match on Amazon for officially-compatible RAM that would arrive in the next day or two.

  2. The CPU is vendor-locked. I don’t think this one is, but it’s possible. It would not surprise me at all to learn that no useful error message is provided in such a case and we just have to guess.

  3. The CPU is defective, or the motherboard has bent pins or is otherwise defective. This is the conclusion the other guy came to as apparently ASUS “repaired” his motherboard when he sent it to them, but he also bought a new definitely-not vendor-locked CPU so it’s difficult to say what exactly was causing Q-Code 22 for him. The motherboard was brand new and I observed no bent pins (I am used to seeing them on refurbished Dell PowerEdge servers). The CPU was clean and the contacts all looked good.

I tried a stick of Registered ECC RAM- still code 22.

Even though the DRAM “debug LED” is lit with code 22, I’m leaning that this CPU is vendor locked to Lenovo. I’m not sure how the vendor lock manifests when a motherboard unscrupulous to vendor locking encounters it, but it’s very possible it reads as a memory initialization error- perhaps, for example, the memory controller is inaccessible when that vendor lock fuse is blown.

Literally all of the ThreadRipper Pro 3945WX CPUs on eBay under $300 are vendor-locked. Mine was not listed as such, despite being $125, but I believe this seller (mass refurbisher) is unaware of Lenovo vendor-locking CPUs. I reached out to confirm the brand of server these were pulled from. I assume it was Lenovo.

I bought a new Threadripper CPU and it fired right up. The CPU I bought on eBay is most-likely vendor-locked but the seller isn’t really tech-savvy and can’t even tell me where the CPU came from.

So it seems Code 22 CAN be indicative of a vendor-locked (or otherwise defective) CPU.

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.