Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Apr 1999 21:17:34 -0500 (EST)
From:      Bill Paul <wpaul@skynet.ctr.columbia.edu>
To:        jbarbee@singular.com (John Barbee)
Cc:        questions@freebsd.org
Subject:   Re: !!! pn0: watchdog timeout
Message-ID:  <199904020217.VAA12556@skynet.ctr.columbia.edu>
In-Reply-To: <4.1.19990401153009.00a23610@server7.singular.com> from "John Barbee" at Apr 1, 99 03:36:42 pm

next in thread | previous in thread | raw e-mail | index | archive | help
Of all the gin joints in all the towns in all the world, John Barbee had 
to walk into mine and say:

> I just sent a message not too long ago about weird watchdog timeout messages.
> 
> I thought those were just harmless messages but I was wrong.
> Whenever someone from any windows machine tries to copy files onto an SMB
> share of this machine, they get an error box that says, "couldn't complete
> due to a network error."  At the very same time, these watchdog messages
> show up.

The watchdog timeout means that after the PNIC (that's the name of the
ethernet chip, BTW) was told to transmit a packet, it never generated
an interrupt confirming that the packet was sent. The driver sets a
timeout of 5 seconds after it issues a transmit commant, and if the
chip doesn't interrupt before then, it issues the message and resets
the chip
 
> What is going on?  Is the the ethernet card's driver bad or is the watchdog
> feature interfering with the operating system?

First of all, you didn't tell me what version of FreeBSD you have, you
didn't say in what kind of machine the card is installed, and you didn't
say exactly what brand/model of ethernet card you have. It's important 
that you do so because I can't see your machine from here. The
cause of the errors could be one of a few things:

- The PCI BIOS in your machine assigned the ethernet card the same IRQ
  as some other device in the system, and this is causing the driver to
  miss interrupts somehow. PCI devices are supposed to be able to share
  IRQs correctly, but it's possible there's a bug somewhere else that's
  causing this to fail. If you type '/sbin/dmesg | more' you should see
  what IRQs were assigned to which devices. If the pn0 device has the
  same IRQ as some other device, you should try to convince the BIOS to
  assign it a different one.

- You have crummy or incorrectly terminated cables. There's a right
  way to terminate ethernet cables and there's an amazing amount of
  people in the world who don't know what it is. If you're using
  100Mbps (you didn't say!) then use category 5 cabling.

- You have the pn0 interface set for a mode that doesn't match the
  hub or host that it's plugged into. You can set the modes like
  this:

	# ifconfig pn0 media 10baseT/UTP mediaopt half-duplex
	# ifconfig pn0 media 100baseTX mediaopt half-duplex
	# ifconfig pn0 media 10baseT/UTP mediaopt full-duplex
	# ifconfig pn0 media 100baseTX mediaopt full-duplex
	# ifconifg pn0 media autoselect

  The speed and suplex setting _MUST_ _MATCH_ that of the device on
  the other end of the cable. If you have two hosts plugged in back
  to back with a crossover cable, then the autonegotiation can choose
  the wrong mode sometimes. Force both sides to match. If the card is
  plugged into a hub (i.e. a repeated) then it should be set for
  10Mbps half-duplex (or maybe 100Mbps half-duplex if it's a fast
  ethernet hub). If it's plugged into a switch, then the autoneg
  should select the right mode. If it doesn't manually program the
  switch and the card to agree.

-Bill

-- 
=============================================================================
-Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
=============================================================================
 "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness"
=============================================================================


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904020217.VAA12556>