You See 0X00000045. Let's Fix It
I know that error code is cryptic. You're probably in the middle of something important, and your network just tanked. The short version: your network adapter has a hard limit on how many connections it can juggle at once, and you hit that wall.
The Real Fix: BIOS and Driver Settings
Had a client last month whose entire print queue died because of this. An HP OfficeJet Pro and a dozen workstations fighting for SMB shares. The fix was the same both times.
- Boot into BIOS. On most Dell and HP business machines, that's F2. For Lenovo, F1. Spam it after power-on.
- Find the NIC settings. Usually under Advanced, Integrated Devices, or Onboard Devices. Look for something like "Maximum Sessions" or "Connection Limit". It's often set to a low default like 128 or 256.
- Increase it to 512 or 1024. If you can't find a session limit, look for "Receive Descriptors" or "RX Buffers". Bump that from 256 to 512.
- Save and exit. Boot back into Windows.
Still broken? Then it's a driver issue.
- Open Device Manager (Win+X, Device Manager).
- Expand Network Adapters, right-click your NIC (usually Realtek or Intel), pick Properties.
- Go to Advanced tab. Find "Maximum Number of Sessions" or "Connection Count Limit". Set it to 512 or 1024.
- If you don't see those, look for "VMQ" (Virtual Machine Queues). Disable it. Had a client whose VMQ setting was eating session slots.
- Update the driver. Go to the manufacturer's site (Realtek, Intel, Broadcom) and get the latest stable driver for your chipset. Not the one Windows Update pushes—those are often stripped down.
Why This Works
The error code 0X00000045 maps to ERROR_TOO_MANY_SESS. It's a legacy limit from the days when NICs had tiny onboard memory. Modern hardware can handle hundreds more, but BIOS and driver defaults are often conservative. Bumping those numbers means the adapter can keep more sessions alive without dropping connections. Think of it as widening a door frame—more people can walk through at once.
Disabling VMQ helps because that feature splits traffic across CPU cores, but on older chipsets it can fragment session tables. Turning it off consolidates everything back to one queue, which often solves the limit issue.
Less Common Variations
Sometimes the problem isn't the NIC itself. Here's what else I've seen:
- Windows Connection Limit: Open Command Prompt as admin and run
netsh int ipv4 show dynamicportrange. Default is 49152-65535. If you need more, runnetsh int ipv4 set dynamicport tcp start=10000 num=55535. Restart. Had a client running 200+ RDP sessions—this fixed it. - BIOS Power Management: Some laptops throttle NICs to save power. In BIOS, look for "Wake on LAN" or "Power Saving Mode" for the NIC. Disable them. That ancient Lenovo T480? That was the culprit.
- Third-party firewall: Sophos and McAfee sometimes enforce per-IP session limits. Check their logs for dropped connections.
- Hyper-V or VMware: Virtual switches can inherit the host NIC's session limit. If you're running VMs, increase the host NIC's session limit first, then restart the virtual switch.
Prevention: Don't Hit the Wall Again
Once you've fixed it, do these three things:
- Set a BIOS profile. On Dell and HP, save your BIOS settings as a profile. That way, a CMOS reset doesn't wipe your changes.
- Write down the driver version. Stick a note on the computer or in your RMM tool. A Windows Update could revert it.
- Monitor session counts. Use PowerShell:
Get-NetTCPConnection | Where State -eq Established | Measure-Object. If you're regularly over 400, bump the limit higher or split traffic across two NICs.
That's it. No fluff, no theory. Just a fix that works. Go restart your network.