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: