{"slug": "radeon-ai-pro-r9700-x2-card-drops-to-code-31", "title": "Radeon AI PRO R9700 x2 — card drops to Code 31", "summary": "AMD's Radeon AI PRO R9700 x2 graphics cards fail with Windows error Code 31 under Adrenalin drivers 26.5.1, 26.6.1, and 26.7.1, but remain stable for over 20 hours with driver 26.3.1, according to a Level1Techs forum user. The user tested three motherboards from two vendors, including ASUS WRX90, and five bugchecks in C:\\Windows\\Minidump all name amdkmdag.sys, indicating AMD's driver is at fault. The issue appears to be a device bring-up defect in AMD's Windows driver, not an idle bug, as one dump fired 11 seconds into boot.", "body_md": "Follow-up post for the R9700 thread. Written in the operator’s voice, no em dashes.\n\nQuick follow-up.\n\nI thought it was the motherboard, I mean I guess it could still be….. I disabled CSM, disabled USB4, no change. Swapped in a **brand new\nASUS WRX90**: same fault. Last ditch, moved everything over to an\n\nThree motherboards across two vendors, identical issue, so I stopped thinking it was the moterboard and put my first first ASUS WRX90 back in.\n\nI rewatched [@wendell](https://forum.level1techs.com/u/wendell) [video](https://www.youtube.com/watch?v=zcwGcbLNVJU&t=673s) to see if I could find any clues to what version of the driver he was running with the 4x R9700s on Windows, so I took a shot in the dark and installed **26.3.1**, roughly around the time his video was release\n\n**It’s been stable ever since.** Neither R9700 has dropped to code 31. Currently sitting at **20+\nhours of uptime** with both compute cards headless and idle, which is the condition that used to kill them inside 20 minutes.\n\nAt this point I’m waiting for AMD to release a newer driver than 26.7.1 to see if that resolves the issue. I’m also thinking of reaching out to AMD through some of my industry contacts but my pool is small there.\n\nBELOW IS FROM THE ASSISTANCE WITH AI! (Claude)\n\nCheck the **Driver Store version**, not the marketing version. It’s what\n\n`(Get-CimInstance Win32_VideoController).DriverVersion`\n\nreports:\n\n| Adrenalin | Driver Store version | Result |\n|---|---|---|\n| 26.7.1 | `32.0.31035.1003` |\nfaults |\n| 26.6.1 | `32.0.31019.2002` |\nfaults |\n| 26.5.1 | `32.0.31007.1017` |\nhard crash 14 minutes after install |\n26.3.1 |\n`32.0.23033.1002` |\n20+ hours clean, identical config |\n\n**26.3.1 is the last release of the 230xx branch. 26.5.1 is the first of 310xx.** There is no\n\n`310xx`\n\nrelease I’ve tried faults, including the`230xx`\n\nrelease is fine.Same machine, same board, same BIOS, same headless topology, same USB4 state for all of these. The\n\nonly variable that moved was the driver.\n\nFive full bugchecks in `C:\\Windows\\Minidump`\n\n, every one naming `amdkmdag.sys`\n\n:\n\n`0x116 VIDEO_TDR_FAILURE`\n\nx3`0xA0000001`\n\nx2That second code is the **vendor-defined range**, which means AMD’s driver called `KeBugCheckEx`\n\nitself, deliberately, having decided something was unrecoverable. Windows doesn’t do that on a\n\ndriver’s behalf.\n\nThe livedumps are `VIDEO_MINIPORT_FAILED_LIVEDUMP (0x1b0)`\n\nwith `STATUS_UNSUCCESSFUL`\n\n. That’s the\n\ndisplay miniport failing to bring up a device that is provably healthy: a card sitting in code 31\n\nstill reports `PCIe x16 5.0 @ x16 5.0`\n\nand answers config space reads.\n\nWorth noting which sub-code you get, because it isn’t the same on every version:\n\n`Arg1 = 1, Add device failed`\n\n`Arg1 = 2, Start device failed`\n\nSame NTSTATUS, one PnP phase apart. On 26.5.1 the driver gets past attaching to the device node and\n\ndies at `IRP_MN_START_DEVICE`\n\ninstead. One defect showing up at two adjacent points in the same\n\ndevice bring-up sequence.\n\nAnd one of those 26.5.1 dumps fired **11 seconds into a boot**. That’s normal boot enumeration, not\n\nidle. So I’d stop calling this an idle bug. It looks more like a device bring-up defect that idle\n\nhappens to expose, because idle forces a re-start that boot would otherwise only do once.\n\nFive kernel level records, five naming AMD’s code. It isn’t ambiguous.\n\nThe fair qualifier is that it’s **AMD’s driver on Windows specifically**. The fault lives where their\n\ndriver meets `dxgkrnl`\n\n’s PnP and power model. Linux has no `dxgkrnl`\n\n, which is exactly why the same\n\nsilicon ran ROCm for weeks without a hiccup. Microsoft owns half the interface, but the code that\n\nfails is AMD’s.\n\nThe release notes are no help. 26.5.1 lists two game fixes and nothing else. AMD doesn’t document idle or power management internals.\n\nBut look at the driver package:\n\n```\namdkmdag.sys   112,456,720 bytes\n```\n\nThat’s 112 MB, which is not a kernel driver’s worth of code. On Windows AMD **embeds the GPU’s own\nfirmware inside amdkmdag.sys** rather than shipping separate blobs the way Linux does in\n\n`linux-firmware/amdgpu`\n\n. There are no `mes_*.bin`\n\nor `smu_*.bin`\n\nfiles anywhere in the package because they’re compiled in.So changing Adrenalin version also changes the microcode loaded onto the card at init. **What differs between 26.3.1 and 26.5.1 may not be driver code at all.**\n\nThe piece I’d look at is **MES**, the MicroEngine Scheduler, the on-GPU firmware that manages queue scheduling and hands off to power management. AMD has publicly acknowledged an RDNA4 MES firmware bug causing abnormal idle behaviour after compute workloads, with a Linux side workaround and new firmware promised. That firmware ships per driver release. My fault is an RDNA4 card, idle, after compute work, failing to come back. Same shape.\n\nCandidate, not proof. I can’t disassemble firmware out of a 112 MB signed binary and neither can anyone outside AMD.\n\n**Adrenalin 26.3.1**, and block Windows Update from replacing it:\n\nSettings > System > About > Advanced system settings > Hardware > Device Installation Settings > No.", "url": "https://wpnews.pro/news/radeon-ai-pro-r9700-x2-card-drops-to-code-31", "canonical_source": "https://forum.level1techs.com/t/radeon-ai-pro-r9700-x2-card-drops-to-code-31/253707#post_11", "published_at": "2026-08-19 14:03:26+00:00", "updated_at": "2026-08-19 14:12:01.032993+00:00", "lang": "en", "topics": ["ai-infrastructure", "ai-chips"], "entities": ["AMD", "Radeon AI PRO R9700 x2", "ASUS WRX90", "Adrenalin 26.3.1", "Adrenalin 26.5.1", "Adrenalin 26.6.1", "Adrenalin 26.7.1", "Level1Techs"], "alternates": {"html": "https://wpnews.pro/news/radeon-ai-pro-r9700-x2-card-drops-to-code-31", "markdown": "https://wpnews.pro/news/radeon-ai-pro-r9700-x2-card-drops-to-code-31.md", "text": "https://wpnews.pro/news/radeon-ai-pro-r9700-x2-card-drops-to-code-31.txt", "jsonld": "https://wpnews.pro/news/radeon-ai-pro-r9700-x2-card-drops-to-code-31.jsonld"}}