Hello,
I need help with a very strange problem with Intel E1000 NIC; generating
heavy UDP traffic I can reproducibly cause the driver and/or card to stop
transmitting/receiving; the meassge I get is
NETDEV WATCHDOG: eth1: transmit timed out
and sometimes later it recovers with
e1000: eth1 NIC Link is Up 1000 Mbps Full Duplex
The workload is a video streaming server generating lots of UDP packets of
varying sizes, typically many "undersized" packets (typically 480MBit/s at
80000-90000 pkts/s); very few UDP packets are received (around 400 pkt/s),
and very little TCP traffic (around 20-30 packets/s).
The problem occurs quite regularly when transmitting more than about
450MBit/s; increasing the tx rate greatly increases the frequency with
which this problem appears.
The problem does _not_ occur at all when simply transmitting mtu-sized
udp packets, where I can easily reach >900MBit/s without any problem.
Other notes:
- disabling sg, rx/tx checksumming (ethtool) does not make a difference
- disabling tso (I read this somewhere as a tip) does not apply as this
is kernel version 2.4.24 which AFAIK does not support tso (really?)
- NAPI is disabled as well
- somewhere I read to disable ACPI; however this is a ppc and thus does
not apply
- #define'ing DBG to 1 in the driver sources produces lots of output, but
unfortunately nothing useful before the "transmit timed out" message (log
attached anyway)
The system is a dual PowerMac G4, and the NIC identifies itself as:
10:15.0 Ethernet controller: Intel Corp. 82543GC Gigabit Ethernet
Controller (Copper) (rev 02)
Subsystem: Intel Corp. PRO/1000 T Server Adapter
Flags: bus master, 66Mhz, medium devsel, latency 16, IRQ 58
Memory at 800c0000 (32-bit, non-prefetchable) [size=128K]
Memory at 800a0000 (32-bit, non-prefetchable) [size=64K]
Expansion ROM at 80090000 [disabled] [size=64K]
Capabilities: [dc] Power Management version 2
Driver version is:
Intel(R) PRO/1000 Network Driver - version 5.2.20-k1
Copyright (c) 1999-2003 Intel Corporation.
I appreciate any help as this is really a show-stopper for me; I can run
tests and produce debugging output whatever you like
Thanks and best regards
Helge
Feb 9 19:49:07 testmac kernel: e1000_check_for_link
Feb 9 19:49:07 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:07 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:07 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:07 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:07 testmac kernel: e1000_update_adaptive
Feb 9 19:49:09 testmac kernel: e1000_check_for_link
Feb 9 19:49:09 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:09 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:09 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:09 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:09 testmac kernel: e1000_update_adaptive
Feb 9 19:49:10 testmac kernel: NETDEV WATCHDOG: eth1: transmit timed out
Feb 9 19:49:10 testmac kernel: e1000_reset_hw
Feb 9 19:49:10 testmac kernel: Masking off all interrupts
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: Issuing a global reset to MAC
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: Masking off all interrupts
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: e1000_init_hw
Feb 9 19:49:10 testmac kernel: e1000_id_led_init
Feb 9 19:49:10 testmac kernel: e1000_set_media_type
Feb 9 19:49:10 testmac kernel: Initializing the IEEE VLAN
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: e1000_init_rx_addrs
Feb 9 19:49:10 testmac kernel: Programming MAC Address into RAR[0]
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: Clearing RAR[1-15]
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: Zeroing the MTA
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: e1000_setup_link
Feb 9 19:49:10 testmac kernel: e1000_read_eeprom
Feb 9 19:49:10 testmac kernel: e1000_acquire_eeprom
Feb 9 19:49:10 testmac kernel: e1000_release_eeprom
Feb 9 19:49:10 testmac kernel: After fix-ups FlowControl is now = 3
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: e1000_setup_copper_link
Feb 9 19:49:10 testmac kernel: e1000_phy_hw_reset
Feb 9 19:49:10 testmac kernel: Resetting Phy...
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: e1000_detect_gig_phy
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_set_phy_type
Feb 9 19:49:10 testmac kernel: PHY ID 0x1410C50 detected
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: Phy ID = 1410c50
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_write_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_write_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_write_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_write_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_phy_reset
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_write_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_write_phy_reg_ex
Feb 9 19:49:10 testmac kernel: Reconfiguring auto-neg advertisement params
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: e1000_phy_setup_autoneg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: autoneg_advertised 2f
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: Advertise 10mb Half duplex
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: Advertise 10mb Full duplex
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: Advertise 100mb Half duplex
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: Advertise 100mb Full duplex
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: Advertise 1000mb Full duplex
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: e1000_write_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_write_phy_reg_ex
Feb 9 19:49:10 testmac kernel: Auto-Neg Advertising de1
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: e1000_write_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_write_phy_reg_ex
Feb 9 19:49:10 testmac kernel: Restarting Auto-Neg
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_write_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_write_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: Unable to establish link!!!
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: Initializing the Flow Control address, type and timer regs
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: e1000_reset_adaptive
Feb 9 19:49:10 testmac kernel: e1000_phy_get_info
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: PHY info is only valid if link is up
Feb 9 19:49:10 testmac kernel:
Feb 9 19:49:10 testmac kernel: e1000_config_collision_dist
Feb 9 19:49:10 testmac kernel: e1000_check_for_link
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_config_dsp_after_link_change
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_update_adaptive
Feb 9 19:49:10 testmac kernel: e1000_check_for_link
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_config_dsp_after_link_change
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_update_adaptive
Feb 9 19:49:10 testmac kernel: e1000_check_for_link
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_config_dsp_after_link_change
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_update_adaptive
Feb 9 19:49:10 testmac kernel: e1000_check_for_link
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_config_dsp_after_link_change
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:10 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:10 testmac kernel: e1000_update_adaptive
Feb 9 19:49:12 testmac kernel: e1000_check_for_link
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:12 testmac kernel: e1000_config_dsp_after_link_change
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:12 testmac kernel: e1000_update_adaptive
Feb 9 19:49:12 testmac kernel: e1000_check_for_link
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:12 testmac kernel: e1000_config_dsp_after_link_change
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:12 testmac kernel: e1000_update_adaptive
Feb 9 19:49:12 testmac kernel: e1000_check_for_link
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:12 testmac kernel: e1000_config_dsp_after_link_change
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:12 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:12 testmac kernel: e1000_update_adaptive
Feb 9 19:49:14 testmac kernel: e1000_check_for_link
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: e1000_config_dsp_after_link_change
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: e1000_update_adaptive
Feb 9 19:49:14 testmac kernel: e1000_check_for_link
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: e1000_check_downshift
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: e1000_config_dsp_after_link_change
Feb 9 19:49:14 testmac kernel: e1000_config_mac_to_phy
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: e1000_config_collision_dist
Feb 9 19:49:14 testmac kernel: e1000_config_fc_after_link_up
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: Flow Control = FULL.^M
Feb 9 19:49:14 testmac kernel:
Feb 9 19:49:14 testmac kernel: e1000_get_speed_and_duplex
Feb 9 19:49:14 testmac kernel: 1000 Mbs,
Feb 9 19:49:14 testmac kernel: Full Duplex^M
Feb 9 19:49:14 testmac kernel:
Feb 9 19:49:14 testmac kernel: e1000_force_mac_fc
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: e1000_get_speed_and_duplex
Feb 9 19:49:14 testmac kernel: 1000 Mbs,
Feb 9 19:49:14 testmac kernel: Full Duplex^M
Feb 9 19:49:14 testmac kernel:
Feb 9 19:49:14 testmac kernel: e1000: eth1 NIC Link is Up 1000 Mbps Full Duplex
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:14 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:14 testmac kernel: e1000_update_adaptive
Feb 9 19:49:16 testmac kernel: e1000_phy_get_info
Feb 9 19:49:16 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:16 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:16 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:16 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:16 testmac kernel: e1000_phy_m88_get_info
Feb 9 19:49:16 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:16 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:16 testmac kernel: e1000_check_polarity
Feb 9 19:49:16 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:16 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:16 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:16 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:16 testmac kernel: e1000_read_phy_reg
Feb 9 19:49:16 testmac kernel: e1000_read_phy_reg_ex
Feb 9 19:49:16 testmac kernel: e1000_check_for_link