watchdog timeout problem with freebsd 6.2-stable and v6.4.1 if_em driver

Andrew Snow andrew at modulus.org
Sat Jun 23 03:40:05 UTC 2007


Hi, I have a problem with Pro/1000 cards in Freebsd, as follows:

System: Supermicro 1RU server
CPU: Intel(R) Core(TM)2 CPU          4400  @ 2.00GHz
OS:  FreeBSD 6.2-STABLE (Tue May 29 03:19:28 EST 2007)
	amd64 (64 bit mode, SMP kernel)

Driver: 6.4.1 kernel module (downloaded from Intel's website)

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500em0:
<Intel(R) PRO/1000 Network Connection Version - 6.4.1> port
0x5000-0x501f mem 0xe0300000-0xe031ffff irq 16 at device 0.0 on pci13
em0: Ethernet address: 00:30:48:8b:54:30
em1: <Intel(R) PRO/1000 Network Connection Version - 6.4.1> port
0x6000-0x601f mem 0xe0400000-0xe041ffff irq 17 at device 0.0 on pci14
em1: Ethernet address: 00:30:48:8b:54:31

em0 at pci13:0:0:  class=0x020000 card=0x108c15d9 chip=0x108c8086 rev=0x03
hdr=0x00
     vendor     = 'Intel Corporation'
     device     = 'PRO/1000 PM'
     class      = network
     subclass   = ethernet
em1 at pci14:0:0:  class=0x020000 card=0x109a15d9 chip=0x109a8086 rev=0x00
hdr=0x00
     vendor     = 'Intel Corporation'
     class      = network
     subclass   = ethernet



em1 is connected to another Pro/1000 network card and works properly
without any problems whatsoever!

em0 is connected to a Netgear Gigabit SmartSwitch and all our cables are
Belkin CAT6 cables.  We have TWO identical machines, and they both
suffer the "watchdog timeout" problem as follows:

After medium-heavy traffic, the NIC locks up completely and no traffic
passes for a long time, perhaps longer than half an hour.

Then, it recovers and prints this to syslog:
em0: watchdog timeout -- resetting
em0: link state changed to DOWN
em0: link state changed to UP

The problem was much worse with the supplied drivers of FreeBSD 6.2, any
large packets would trigger it, but upgrading to 6.4.1 helped alot.

The problem still happens with SMP completely disabled.  The only
workaround which is completely successful for me so far is to disable
gigabit and use 100baseTX instead.

The netgear switch is configured for VLANs but VLAN outbound tagging is
not enabled for this switch port and the em0 interface is not configured
for VLANs.


Any ideas?


Thanks,

- Andrew



More information about the freebsd-net mailing list