How to diagnose local NIC (wired) losing packets?

2

1

My onboard Realtek RTL8168B/8111B Family Gigabit Ethernet is losing packets (about 8% when pinging any other device on the LAN).

There are no events in the Windows event logs relating to TCPIP/ICMP or frame errors. i used the Windows Performance Monitor tool to watch the events under "Network Interface" category, hoping to see some symptom of the packet loss. i could not find any

Can anyone think of any way to "see" the packet loss as a diagnostic condition, rather than doing pings and watching responses not come back? If i can find anyplace in Windows where the packet loss comes back to something else (crc error, checksum error, fragmentation problem, etc) maybe i can diagnose it.


It's a new machine, and i assume the problem is with some of the configuration options in the driver:

  • Speed & Duplex: Auto Negotiation
  • Flow Control: Disabled
  • Receive Buffers: 512
  • Transmit Buffers: 128

  • Interrupt Moderation: Enabled

  • Receive Side Scaling: Enabled
  • Priority & VLAN Enabled: Priority & VLAN Enabled

  • Auto Disable Gigabit (PowerSaving): Disabled

  • Auto Disable PCIe (PowerSaving): Disabled
  • Auto Disable PHY (PowerSaving): Disabled
  • Green Ethernet: Disabled

  • Shutdown Wake-On-Lan: Enabled

  • Sleep WOL Power Saving: Disabled

  • IPv4 Checksum Offload: Rx & Tx Enabled

  • TCP Checksum Offload (IPv): Rx & Tx Enabled
  • TCP Checksum Offload (IPv6): Rx & Tx Enabled
  • UDP Checksum Offload (IPv): Rx & Tx Enabled
  • UDP Checksum Offload (IPv6): Rx & Tx Enabled
  • Jumbo Frame: Disabled
  • Large Send Offload (IPv4): Enabled
  • Large Send Offload v2 (IPv4): Disabled
  • Large Send Offload v2 (IPv6): Enabled

i tried forcing Speed & Duplex to 100 Mbps Full Duplex (which is what it is anyway) without success.

Ian Boyd

Posted 2009-08-29T18:33:46.383

Reputation: 18 244

Answers

4

Realtek offers a network diagnostic utility for the network interface card - look for the "Windows Diagnostic Program" link at Software Drivers & Utilities. There are some screen shots for the software at Realtek Ethernet Diagnostic Software.

The netstat command, which is included with Microsoft Windows offers some limited information. A netstat -s command will provide some additional information on errors. E.g., in regards to the possibility of a fragmentation problem, there is a "Datagrams Failing Fragmentation" count.

C:\>netstat -s

IPv4 Statistics

  Packets Received                   = 265412964
  Received Header Errors             = 0
  Received Address Errors            = 5987902
  Datagrams Forwarded                = 0
  Unknown Protocols Received         = 2
  Received Packets Discarded         = 571613
  Received Packets Delivered         = 292690610
  Output Requests                    = 144483584
  Routing Discards                   = 0
  Discarded Output Packets           = 906
  Output Packet No Route             = 0
  Reassembly Required                = 205
  Reassembly Successful              = 95
  Reassembly Failures                = 0
  Datagrams Successfully Fragmented  = 0
  Datagrams Failing Fragmentation    = 0
  Fragments Created                  = 0

IPv6 Statistics

  Packets Received                   = 8484877
  Received Header Errors             = 0
  Received Address Errors            = 0
  Datagrams Forwarded                = 0
  Unknown Protocols Received         = 0
  Received Packets Discarded         = 373336
  Received Packets Delivered         = 10041013
  Output Requests                    = 16704131
  Routing Discards                   = 0
  Discarded Output Packets           = 1889
  Output Packet No Route             = 171
  Reassembly Required                = 0
  Reassembly Successful              = 0
  Reassembly Failures                = 0
  Datagrams Successfully Fragmented  = 0
  Datagrams Failing Fragmentation    = 0
  Fragments Created                  = 0

ICMPv4 Statistics

                            Received    Sent
  Messages                  243917      46542
  Errors                    0           0
  Destination Unreachable   19704       22407
  Time Exceeded             177624      0
  Parameter Problems        0           0
  Source Quenches           0           0
  Redirects                 0           0
  Echo Replies              445         23180
  Echos                     46144       955
  Timestamps                0           0
  Timestamp Replies         0           0
  Address Masks             0           0
  Address Mask Replies      0           0
  Router Solicitations      0           0
  Router Advertisements     0           0

ICMPv6 Statistics

                            Received    Sent
  Messages                  84300       75766
  Errors                    0           0
  Destination Unreachable   16638       18334
  Packet Too Big            0           0
  Time Exceeded             0           0
  Parameter Problems        0           0
  Echos                     0           4
  Echo Replies              4           0
  MLD Queries               0           0
  MLD Reports               0           0
  MLD Dones                 0           0
  Router Solicitations      0           15
  Router Advertisements     0           0
  Neighbor Solicitations    40386       27775
  Neighbor Advertisements   27272       29638
  Redirects                 0           0
  Router Renumberings       0           0

TCP Statistics for IPv4

  Active Opens                        = 1900438
  Passive Opens                       = 369225
  Failed Connection Attempts          = 10450
  Reset Connections                   = 460797
  Current Connections                 = 154
  Segments Received                   = 273517454
  Segments Sent                       = 110060297
  Segments Retransmitted              = 2182084

TCP Statistics for IPv6

  Active Opens                        = 973341
  Passive Opens                       = 973646
  Failed Connection Attempts          = 34
  Reset Connections                   = 1735122
  Current Connections                 = 40
  Segments Received                   = 46840865
  Segments Sent                       = 45024383
  Segments Retransmitted              = 1813578

UDP Statistics for IPv4

  Datagrams Received    = 51416164
  No Ports              = 314589
  Receive Errors        = 2135697
  Datagrams Sent        = 42118403

UDP Statistics for IPv6

  Datagrams Received    = 9841716
  No Ports              = 309860
  Receive Errors        = 42205
  Datagrams Sent        = 2040067

You can filter the display by protocol with the -p option. Ping relies on ICMP for the "echo requests" it sends, so you could look at just the statistics for ICMP with netstat -s -p icmp, but that will just give you an error count.

c:\>netstat -s -p icmp

ICMPv4 Statistics

                            Received    Sent
  Messages                  243951      46546
  Errors                    0           0
  Destination Unreachable   19710       22409
  Time Exceeded             177648      0
  Parameter Problems        0           0
  Source Quenches           0           0
  Redirects                 0           0
  Echo Replies              445         23182
  Echos                     46148       955
  Timestamps                0           0
  Timestamp Replies         0           0
  Address Masks             0           0
  Address Mask Replies      0           0
  Router Solicitations      0           0
  Router Advertisements     0           0

There's also the netstat -e option to view Ethernet statistics, which can be combined with the -s option, but that will just give you an error count as well.

c:\>netstat -e
Interface Statistics

                           Received            Sent

Bytes                    2205957284      1335899145
Unicast packets          1239501865       433229740
Non-unicast packets       143181375       167714415
Discards                          0               0
Errors                            0              55
Unknown protocols                 0

If you have another network cable, you could replace the existing cable to rule out a cabling issue as a source of the problem.

moonpoint

Posted 2009-08-29T18:33:46.383

Reputation: 4 432

2

Have you tried a ping from some other machine to this interface?
Do you get any ICMP errors?

It would also be useful checking the interface statistics of the peer-device to which the interface is wired.

  1. what is the network device you connect to?
    • Does it have any interface statistics?
    • Do they show any specific errors that other interfaces of that device do not show?

Finally, it could also be a loose wire on the path.
If you have more than two machines on your network,
is this particular machine connected in some different way? (Wireless hop?)
Have you checked that the connectors are firmly wired?

If you see loss with just regular ping packets (64 byte), IP Fragmentation is ruled out.
If your interfaces show no error counts, CRC errors are also ruled out.

nik

Posted 2009-08-29T18:33:46.383

Reputation: 50 788

2

Try this 2 commands to get NIC statistics:

netsh interface ipv4 show ipstats

netsh interface ipv4 show tcpstats

If there is number bigger then 0 in "In Header Errors", "Fragments Failed", "In Errors" there is problem with wire.

manuel

Posted 2009-08-29T18:33:46.383

Reputation: 161

1

set

"Auto Disable Gigabit" to "Re-Link, Battery or AC" "Flow Control" to "Rx & Tx Enabled"

Fadi Saadeh

Posted 2009-08-29T18:33:46.383

Reputation: 11

While this may answer the question, it would be a better answer if you could provide some explanation why it does so. – DavidPostill – 2020-02-22T17:01:37.493

1

Use Wireshark to see what packages are lost/malformed. Unfortunately, it is an issue depending on drivers as well.

spker

Posted 2009-08-29T18:33:46.383

Reputation:

At first i thought that sounded like a good idea. But the more i thought about it the more i realized it would just help confirm that i'm randomly losing packets. – Ian Boyd – 2009-11-03T15:35:37.040

0

enable the FLOW CONTROl setting. try it out.

user8228

Posted 2009-08-29T18:33:46.383

Reputation: