What’s Happening
You're trying to print or send a network command, and Windows throws back error 0X00000038 — ERROR_TOO_MANY_CMDS. Translation: the command queue for your network adapter (or printer) is absolutely stuffed. I've seen this mostly on older HP printers and some Dell workstations where the BIOS or NIC firmware can't handle more than a few pending requests. It's not a hardware failure, it's a traffic jam.
The Quick Fix: Clear the Queue and Restart the Spooler
Don't waste time digging through BIOS settings. That's a red herring nine times out of ten. The real fix is clearing the command queue and resetting the print spooler. Here's the exact process:
Step 1: Stop the Spooler
Open Command Prompt as Administrator (search cmd, right-click, Run as Administrator). Then type:
net stop spooler
You'll see “The Print Spooler service is stopping.” Good. Leave it stopped for now.
Step 2: Clear the Queue Files
The spooler holds pending print jobs in C:\Windows\System32\spool\PRINTERS. Delete everything in that folder. Don't worry, these are just pending jobs, not drivers. Open File Explorer, paste that path, and delete all files inside. You might need to confirm admin permissions.
Step 3: Restart the Spooler
Back in Command Prompt, type:
net start spooler
Now try your print job again. 90% of the time, this clears the error.
Why This Works
The error 0X00000038 isn't really a BIOS problem in the traditional sense — it's a queue overflow. Each network command (like a print job) gets put into a buffer on the NIC or printer. If previous commands haven't been acknowledged (maybe a stalled job, a bad driver, or a network timeout), the buffer fills up. The spooler keeps feeding more commands into a pipe that's already clogged. By stopping the spooler, clearing its cache, and restarting, you flush the backlog and let the network hardware reset its own queue. Had a client last month whose entire print queue died because of this — their accounting department had queued 40 invoices and the HP LaserJet just gave up. This fix saved their afternoon.
Less Common Variations of the Same Issue
Sometimes the spooler reset doesn't cut it. Here are the edge cases I've run into:
Variation 1: Stale Printer Driver
If the error keeps coming back after clearing the queue, the printer driver might be holding onto a command that never completes. Uninstall and reinstall the driver. Go to Devices and Printers, right-click the printer, Remove Device. Then add it again from scratch. I've seen this with old Canon drivers that didn't handle network timeouts gracefully.
Variation 2: Network Congestion on the NIC
On some Realtek network adapters, the BIOS firmware limits the number of pending send commands to 32. If you're running multiple heavy network tasks simultaneously (like printing large PDFs while streaming video), you can hit that limit. The fix here is to update your NIC driver — newer drivers often raise that limit. Check your manufacturer's site, not Windows Update, which tends to push stale versions. Also, lower the MTU on the adapter to 1400 (instead of 1500) to reduce fragmentation and command overhead. Use a netsh command for that:
netsh interface ipv4 set subinterface "Your Network Name" mtu=1400 store=persistent
Variation 3: Printer Firmware Bug
Old Brother and Kyocera printers have a known bug where they don't send back acknowledgments for completed commands, so the host keeps waiting. The queue fills up. Update the printer's firmware from the manufacturer's support page. If that's not an option, set the printer to use RAW protocol instead of LPR in the port settings — LPR is more verbose and can trigger the overflow.
How to Prevent This
Three things keep this error from haunting you:
- Limit print queue depth. On the printer properties, set “Advanced” → “Keep printed documents” to off. This stops the spooler from holding completed jobs and reduces queue clutter.
- Use wired connections for heavy printing. Wi-Fi adds more command overhead and latency, which can trigger the limit quicker. If you're printing 50-page documents daily, hardwire that printer.
- Update firmware and drivers quarterly. Manufacturers fix these buffer bugs all the time. Set a calendar reminder — I do it the first Tuesday of every quarter for clients.
Do that, and you'll rarely see this error again. If you do, you already know the fix.