Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Network disconnects after a large amount of traffic: (7 Items)
   
Network disconnects after a large amount of traffic  
We have 4 active gigabit ethernet ports on our system banging away with data at 100 Hz update rate on each one.  One of 
the ports is connected to 5 clients doing updates at 100 Hz each for MODBUS. We see instances where that port simply 
disconnects. It generally takes about an hour for the network to simply disconnect. The link lights remain but the ports
 are not talking.

The driver is the E1000 driver.  The NICs are an 82574 connected to the local PCIe bus and the other 4 ports are an 
82580 on another section of PCIe bus on an adjacent board.

One of our other ports disconnects randomly and errno is set to 249 (decimal).  We haven't confirmed yet if that is what
 we see on the really busy port. The log file is huge once we start getting errors!

We think we may have been seeing this issue all along on our old system that had two 82574 NICs but with a lot less 
traffic it happened very infrequently.

Has anyone else seen such random disconnections of the network?  Any insights are appreciated.

Ray
Re: Network disconnects after a large amount of traffic  
What versions of io-pkt and devnp-e1000.so are you running and how many CPUs?

There was an issue COREOS-92461 with multiple interfaces and CPUs, that normally manifested as a crash but I wonder if 
you are hitting it slightly differently given the number of interfaces.
Re: Network disconnects after a large amount of traffic  
Nick,
   How do you check what version of e1000 driver is on a QNX system? 

here's the checksum of our current driver:
# cksum devnp-e1000.so
 224913158     239719 devnp-e1000.so 

We are running on QNX version:
# uname -a
QNX NGDAQ 6.5.0 2010/07/09-14:43:36EDT x86pc x86

with 2 cores:
# pidin info
CPU:X86 Release:6.5.0  FreeMem:1681Mb/2047Mb BootTime:Jan 30 21:13:52 UTC 2015
Processes: 23, Threads: 82
Processor1: 66222 Intel 686 F6M12S2 1331MHz FPU
Processor2: 66222 Intel 686 F6M12S2 1330MHz FPU

I've attached the pci info as well.  

Any idea which is the correct driver we should be running?
Attachment: Text pci.vvv 34.51 KB
Re: Network disconnects after a large amount of traffic  
found the version of e1000 we are using:

# use -i /lib/dll/devnp-e1000.so
NAME=devnp-e1000.so
DESCRIPTION=Driver for Intel 82544 Gigabit Ethernet controllers
DATE=2010/07/09-13:46:54-EDT
STATE=stable
HOST=mainbuild
USER=builder
VERSION=6.5.0
TAGID=89
Re: Network disconnects after a large amount of traffic  
Can you try the e1000 driver that's included in the x86bios bsp (it is 
newer than the one that shipped with 6.5.0SDP):

http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/X86Bios
Re: Network disconnects after a large amount of traffic  
Hi Gervais,
   I just started a test last night with the latest e1000 driver I pulled from here.

driver info:
# use -i /lib/dll/devnp-e1000.so
NAME=devnp-e1000.so
DESCRIPTION=Driver for Intel 82544 Gigabit Ethernet controllers
DATE=2013/04/12-08:13:50-EDT
STATE=Experimental
HOST=node321
USER=hsbrown

And its actually working great at not crashing  (no CRC errors or squelch test errors either), but unfortunately it 
stopped bringing up 1 of our interfaces:

wm3:
  INTEL PRO/1000 Gigabit (Copper) Ethernet Controller

  Link is DOWN

  Physical Node ID ........................... C4C19F 000059
  Current Physical Node ID ................... C4C19F 000059
  Current Operation Rate ..................... 0 kb/s half-duplex
  Active Interface Type ...................... MII
    Active PHY address ....................... 1
  Maximum Transmittable data Unit ............ 1500
  Maximum Receivable data Unit ............... 1500
  Hardware Interrupt ......................... 0x11a
  Hardware Interrupt ......................... 0x11b
  Hardware Interrupt ......................... 0x11c
  Memory Aperture ............................ 0xff300000 - 0xff37ffff
  Promiscuous Mode ........................... Off
  Multicast Support .......................... Enabled

  Packets Transmitted OK ..................... 0
  Bytes Transmitted OK ....................... 0
  Broadcast Packets Transmitted OK ........... 0
  Multicast Packets Transmitted OK ........... 0
  Memory Allocation Failures on Transmit ..... 0

  Packets Received OK ........................ 0
  Bytes Received OK .......................... 0
  Broadcast Packets Received OK .............. 0
  Multicast Packets Received OK .............. 0
  Memory Allocation Failures on Receive ...... 0

  Single Collisions on Transmit .............. 0
  Multiple Collisions on Transmit ............ 0
  Deferred Transmits ......................... 0
  Late Collision on Transmit errors .......... 0
  Transmits aborted (excessive collisions) ... 0
  Jabber detected ............................ 0
  Receive Alignment errors ................... 0
  Received packets with CRC errors ........... 0
  Packets Dropped on receive ................. 0
  Oversized Packets received ................. 0
  Short packets .............................. 0
  Squelch Test errors ........................ 0
  Invalid Symbol Errors ...................... 0

wm3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        capabilities rx=1f<IP4CSUM,TCP4CSUM,UDP4CSUM,TCP6CSUM,UDP6CSUM>
        capabilities tx=7f<IP4CSUM,TCP4CSUM,UDP4CSUM,TCP6CSUM,UDP6CSUM,TSO4,TSO6>
        enabled=0
        address: c4:c1:9f:00:00:59
        media: Ethernet none
        input: 0 packets, 0 bytes
        output: 0 packets, 126 bytes
        inet 10.3.0.193 netmask 0xffffff00 broadcast 10.3.0.255


Any idea why this driver would behave this way with the inte 82580?  The invocation of the driver is as such:
io-pkt-v4 -v -de1000 speed=100,duplex=1,verbose=4

I have tried various invocation variations but they all pretty much either don't work (network doesn't come up) or I 
immediately start seeing network flakiness (connection timeouts, etc).  Please let me know if I should try anything else
 or if other information may be needed.  Thanks for the help!
Re: Network disconnects after a large amount of traffic  
FYI  the e1000 lib i am using is actually from here:
http://community.qnx.com/sf/frs/do/viewRelease/projects.bsp/frs.intel_e1000_network_drivers.devnp_e1000_so_for_x86

it has a cksum of 
# cksum /lib/dll/devnp-e1000.so
1798246687     307723 /lib/dll/devnp-e1000.so

vs the one you suggested from here:
http://community.qnx.com/sf/frs/do/viewRelease/projects.bsp/frs.qnx_sdp_6_6_bsp_for_generic_x86.
qnx_sdp_6_6_bsp_for_generic_x86

has a cksum of
# cksum devnp-e1000.so
3523220588     305792 devnp-e1000.so

Any idea what the differences might be and if its worth trying with on or the other?  Thank you.