I usually ask for help, but this time I just want to share my experience. Spent 3 hours this morning trying to solve my problem.
Symptoms
Very low upload speed from the wired PC (2 to 11 Mbps depending on the test platform), while download exceeded 2 Gbps. Upload speed would start at 50-100 Mbps then collapse after 2-3 seconds. Phone on Wi-Fi 6 on the same router had no issue reaching 486 Mbps upload. On Cloudflare speed test, the test would freeze completely after the download phase and never complete.
Issue might be a couple of month old, but it was not there before.
Configuration
- Router : Freebox Ultra (plan : 10 Gbps down / 900 Mbps up)
- PC : wired connection via Cat7 cable and Zyxel 2.5G switch
- Motherboard : ASUS ROG STRIX B760-F GAMING WIFI
- Network card : Intel Ethernet Controller I226-V
- OS : Windows 11
- Antivirus : Bitdefender
Diagnosis — what was ruled out
- Router, cable, switch : tested and ruled out (PC plugged directly into the router, cable replaced, switch verified)
- Browser and extensions : tested on Chrome, private Chrome, Brave
- Bitdefender : temporarily disabled, no change
- Windows network stack : winsock reset, ip reset, ipv6 reset, no change
- MTU : tested with ping -f up to 1472 bytes, no fragmentation
- LSO (Large Send Offload) : already disabled in driver advanced properties
- EEE (Energy Efficient Ethernet) : already disabled in driver advanced properties
- Windows user profile : tested with a fresh account, no change
- I226-V driver : updated to 2.1.5.10 WHQL via Station-Drivers, no change
- I226-V NVM firmware : flash attempt failed at 30% (firmware restricted by Intel, not publicly available)
- ASUS BIOS : updated from version 1820 to 1825, no change
Key test Booted Ubuntu from a USB drive, ran a speed test :
- Download : 2.3 Gbps
- Upload : 800 Mbps
- Ping : 15 ms
Hardware is fine. The issue is 100% software-side, specific to Windows.
Solution In Device Manager, right-click the I226-V adapter → Properties → Advanced tab, apply the following settings :
- Flow Control → Disabled
- TCP Checksum Offload (IPv4) → Disabled
- TCP Checksum Offload (IPv6) → Disabled
- IPv4 Checksum Offload → Enabled (can remain enabled)
- UDP Checksum Offload (IPv4) → Enabled (can remain enabled)
- UDP Checksum Offload (IPv6) → Enabled (can remain enabled)
Results after fix :
- nperf : Download 2.3 Gbps / Upload 719 Mbps / Ping 14.7 ms
- Fast.com : Upload 460 Mbps
- Cloudflare speed test : test completes without freezing, download ~1.2-1.5 Gbps, upload ~160-184 Mbps, stable latency under load
Explanation TCP Checksum Offload delegates TCP packet integrity verification to the network chip. The I226-V handles this poorly on the send side under Windows with recent drivers (tested on driver 2.1.5.10), causing upload speed to collapse after a few seconds. Disabling this offload shifts the work to the CPU instead of the chip, which resolves the issue with no noticeable performance impact. Flow Control also contributes to the problem and must be disabled.
Explanations come from Claude and Gemini, I am not technical at all.
Hope it can help some people.