Cold boots and hung DMA cards
Why a Windows restart leaves a hung DMA card hung, and how to cold-boot both machines properly. How to tell a hung card from a dead one, and what repeated hangs point to.
Short answer
A Windows restart leaves a hung DMA card hung: the PCIe slot stays powered, so the FPGA can stay stuck. Shut both machines down fully, pull the mains lead or switch off the PSU for ten seconds, then boot the game PC first.
On this page9
- Why doesn't a restart fix a hung card?
- How Fast Startup turns Shut down into a warm boot
- How to cold-boot both machines
- Why does the game PC have to boot first?
- Is the card hung or dead?
- How to test the card before reporting it
- What does it mean if the card hangs every session?
- What to check if the card hangs every session
- Common questions about cold boots
Why doesn't a restart fix a hung card?
A restart is a warm reset, in which the operating system shuts itself down and starts again. The power supply never stops delivering, though, and the PCIe slot rails stay up the whole time. So the FPGA on your card stays configured, and the reset does not always clear the state it was in. That state may be a wedged transfer queue, or a USB endpoint still nominally present to the second PC. The machine comes back to a desktop, while the card comes back with exactly the same problem it had thirty seconds earlier.
Warning
How Fast Startup turns Shut down into a warm boot
Windows Fast Startup saves the kernel session to disk and reloads it, which is why a modern PC boots in seconds. It also means the Shut down button does not necessarily power the machine off. If the fans keep spinning, or the machine comes back suspiciously fast, you did not cold-boot it and the card never lost power. Hold Shift while you click Shut down to bypass Fast Startup, or turn it off in Power Options on both machines while you are debugging.
How to cold-boot both machines
Make this routine a habit: it takes forty seconds and is the single most effective troubleshooting step in the whole stack.
- Close the software on the second PC first, so that nothing is mid-read when the card goes away
- Shut the second PC down, holding Shift as you click Shut down
- Shut the game PC down the same way, and wait for every fan and LED to stop
- Switch off the game PC's PSU at the rear or pull the mains lead, then wait ten seconds
- With the mains off, hold the game PC's power button for five seconds to drain any residual charge
- Check that the card's own LEDs are dark, because if they are still lit, the slot still has power and you have not cold-booted anything
- Restore power, boot the GAME PC first and let it reach the desktop
- Boot the second PC, then start the software
Tip
Why does the game PC have to boot first?
The card sits in the game PC's slot and is powered and enumerated by it. The FTDI bridge only appears once the card has come up, and the second PC can only see a device that already exists. If you boot them in the other order, the second PC shows a device error that looks exactly like a broken cable. People then spend an evening swapping cables when the real problem is the boot order.
Is the card hung or dead?
The difference is whether anything changes after a real cold boot. Work through this table before you request a replacement, because a hung card that has never been cold-booted looks identical to a dead one.
| Observation | Hung | Dead |
|---|---|---|
| After a full power-off cold boot | Works again, or the error moves to a different layer | Identical error, every time, with no variation |
| Card LEDs with the game PC powered | Lit and behaving as the board maker documents | Dark, or stuck in a pattern the maker's documentation does not list |
| Second PC Device Manager | Bridge device present, possibly with a warning triangle | No new USB device appears on any port with any cable |
| In a second, known-good machine | Enumerates normally | Nothing appears there either |
| Flashing port and tooling | Reads the chip ID normally | Cannot be reached over the flashing port either |
| Pattern over a session | Works, then stops after a while, then works again after a cold boot | Never worked once since a specific event |
Only a card that fails in two machines, on two cables and on both ports after a genuine cold boot is worth calling dead.
How to test the card before reporting it
Each step removes one variable, so do not skip ahead to the last one.
- Cold-boot both machines with the full shutdown routine, then retry once without changing anything else
- Swap to a known-good data cable, still plugged directly into a rear USB 3 port
- Move to a different rear USB 3 port, ideally on a different controller
- Power down and move the card to a different PCIe slot in the game PC
- If you have another game PC, test the card in it with the same cable and software
- Only then report it, listing what you tested and the exact error string from each attempt
What does it mean if the card hangs every session?
A single hang can be chance, but a hang in every session is a real finding, and it usually has one of four causes. Reads into physical addresses that are not backed by RAM will kill the read path. This happens on AMD platforms and over Thunderbolt links, which is why a memory map is effectively mandatory there. A marginal USB link produces partial transfers that end in a wedged state. A card with no airflow in a closed case starts failing after a predictable warm-up period. A firmware image that is wrong for your board can be stable for minutes and then stop. Check them in that order: map, cable and port, airflow, firmware.
What to check if the card hangs every session
- A memory map is in use and was generated on this machine since the last hardware change
- The USB path is direct: a rear USB 3 port, a data cable, and no hub, dock or extension
- Read speed is stable across two runs taken minutes apart
- The card has some airflow and is not pressed up against a hot GPU
- You have checked whether anything besides the card changed, such as a recent Windows update on either machine
- The hang is timed: note how many minutes into the session it happens, because a consistent number points to heat or suspend
Common questions about cold boots
Is pulling the power cable bad for the card?
No. Removing power from a machine that is already shut down is the normal, safe way to reset a PCIe device. What damages boards is inserting or removing them while the slot is live.
Do I need to cold-boot the second PC too?
Not usually, but do it while you are debugging. It clears a stale USB handle on the second PC, which would otherwise look like a card fault.
Does sleep or hibernate count as powering off?
No. Both keep the slot powered, so a hung card stays hung, and Fast Startup does the same, which is why holding Shift matters.
The card gets warm. Is that a problem?
An FPGA and a USB 3 bridge both run warm in normal use. It becomes a problem when failures correlate with time in the case. Before you buy anything, test with the side panel off and some air moving over the board.
How many times should I cold-boot before opening a ticket?
Twice, properly, with nothing else changed between the attempts. Then send both results, because a consistent result and an inconsistent one are both useful information.
Sources
Bench work: the cold-boot routine and the hung-versus-dead table come from cards the team has reset and returned.
Read next
Still stuck? Open a ticket on Discord
All guides