Subject: port-hp300/609: hp300 ethernet driver too noisy
To: None <gnats-admin@sun-lamp.cs.berkeley.edu>
From: Jason R. Thorpe <thorpej@mail.CS.ORST.EDU>
List: netbsd-bugs
Date: 12/03/1994 19:20:08
>Number:         609
>Category:       port-hp300
>Synopsis:       hp300 ethernet driver too noisy
>Confidential:   yes
>Severity:       non-critical
>Priority:       medium
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Dec  3 19:20:04 1994
>Originator:     
>Organization:
--------------------------------------------------------------------------
Jason R. Thorpe               thorpej@cs.orst.edu                 758-2003
OJGSE NERO Project               CSWest Room 5                    737-5567
Shared Computing Environment Group         http://www.cs.orst.edu/~thorpej

>Release:        1.0
>Environment:
	
System: NetBSD helix 1.0 NetBSD 1.0 (HELIX) #48: Sun Nov 27 19:46:19 PST 1994 thorpej@helix:/usr/src/sys/arch/hp300/compile/HELIX hp300


>Description:
	When a machine is plugged into a heavily used network, one can
	often see lots of these on the console:

		le0: FRAM
		le0: CRC
		le0: FRAM
		le0: CRC
		le0: FRAM
		le0: CRC
		le0: FRAM
		le0: CRC
		le0: FRAM
		le0: CRC

	These are rather annoying.

	It seems to me that these are really diagnostic messages, and
	should be treated as such.

	The problem is especially prevalent on a slower machine, such as
	an hp360, that is doing something that requires lots of access
	to the network, like timeservice.

>How-To-Repeat:
	Self explanitory.  Just use the le driver.

>Fix:
	Apply the following patch to .../hp300/dev/if_le.c.  It wraps the
	offending printf's in #ifdef DIAGNOSTIC...


*** distribution/if_le.c	Sat Dec  3 18:14:14 1994
--- if_le.c	Sat Dec  3 18:18:01 1994
***************
*** 668,673 ****
--- 668,674 ----
  	/* Process all buffers with valid data. */
  	do {
  		if (cdm->flags & (LE_FRAM | LE_OFLO | LE_CRC | LE_RBUFF)) {
+ #ifdef DIAGNOSTIC
  			if ((cdm->flags & (LE_FRAM | LE_OFLO | LE_ENP)) == (LE_FRAM | LE_ENP))
  				printf("le%d: FRAM\n", unit);
  			if ((cdm->flags & (LE_OFLO | LE_ENP)) == LE_OFLO)
***************
*** 676,681 ****
--- 677,683 ----
  				printf("le%d: CRC\n", unit);
  			if (cdm->flags & LE_RBUFF)
  				printf("le%d: RBUFF\n", unit);
+ #endif
  		} else if (cdm->flags & (LE_STP | LE_ENP) != (LE_STP | LE_ENP)) {
  			do {
  				cdm->mcnt = 0;
>Audit-Trail:
>Unformatted: