When Networking Doesn't Work
A frustrating network debugging odyssey leads the author to uncover a deeply hidden Windows networking bug, as modern systems inexplicably fail to communicate with an antique IPMI module while Linux effortlessly succeeds. The culprit isn't firewalls or misconfiguration, but a subtle flaw in Intel NIC drivers incorrectly dropping valid UDP packets due to faulty checksum offloading. This tale resonates on HN for its meticulous technical sleuthing and the revelation of a silent, obscure, yet significant hardware/driver flaw impacting basic network functionality.
The Lowdown
The author recounts a painstaking debugging journey attempting to establish network communication between modern Windows 11 machines and an antique Tyan SMDC IPMI module. While seemingly straightforward, the task proved baffling as Windows consistently failed to connect, despite all indications of proper setup, whereas a Linux system on identical hardware succeeded without issue.
- Initial attempts with Tyan's own software in a Windows XP VM and native Windows tools (
ipmiutil) failed, showing no IPMI servers and refusing to communicate. - Disabling Windows firewalls and other common network troubleshooting steps yielded no improvement, leading to suspicion of the SMDC itself.
- A crucial breakthrough came when
ipmitoolon Linux successfully connected, shifting suspicion squarely onto the Windows environment. - Wireshark on Windows revealed a puzzling situation: outgoing UDP traffic was sent, and replies from the SMDC were received, yet software on the Windows machine never processed them.
- Further investigation with PktMon, a Windows network monitoring tool, provided the key insight: packets were being dropped by the Windows TCP/IP stack due to an "invalid checksum," despite Wireshark reporting them as valid.
- The root cause was identified as IPv4 UDP receive checksum offloading on Intel NICs (specifically Intel I211 and 82579LM) in Windows. The hardware/driver was incorrectly validating checksums, causing valid packets to be dropped silently.
- Disabling the IPv4 UDP Rx checksum offload feature in the NIC driver settings immediately resolved the communication issue, allowing
ipmiutiland VM software to interact with the SMDC. - The author speculates that the issue might stem from how the SMDC constructs its reply packets, potentially confusing the Intel NIC's checksum offloading logic, which is sensitive to fragmentation details (like the IP header's Packet ID field).
This intricate debugging saga highlights a subtle, yet impactful, bug in Intel NIC drivers under Windows, where a common performance optimization feature leads to silent packet drops for specific network traffic. It underscores the challenges of diagnosing obscure hardware/driver interactions and the efficacy of deep-dive network analysis tools like PktMon to uncover issues invisible to standard troubleshooting methods.