Subject: kern/7067: ep driver doesn't work with 3Com 3C597 Fast Etherlink TX
To: None <gnats-bugs@gnats.netbsd.org>
From: Martin Husemann <martin@rumolt.teuto.de>
List: netbsd-bugs
Date: 03/01/1999 09:58:17
>Number:         7067
>Category:       kern
>Synopsis:       ep driver does not grok 3Com 3C597 Fast Etherlink TX
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Mar  1 01:05:01 1999
>Last-Modified:
>Originator:     Martin Husemann
>Organization:
	
>Release:        -current as of February 28, 1999
>Environment:
	
System: NetBSD rumolt.teuto.de 1.3J NetBSD 1.3J (RUMOLT) #1: Sun Feb 28 22:31:54 MET 1999 martin@hwart.teuto.de:/usr/src/sys-i4b/arch/i386/compile/RUMOLT i386


>Description:

I have this card in my main fileserver:

ep0 at eisa0 slot 4: 3Com 3Com 3C597 Fast Etherlink TX
ep0: interrupting at irq 10
ep0: address 00:10:4b:24:be:a8, 64KB word-wide FIFO, 3:1 Rx:Tx split
ep0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX (default 10baseT)

Minor nitpick: notice the duplicate 3Com in the first line.

Severe problem: the card doesn't activate its port - the LED on the
hub stays off. As soon as the driver tries to send the first packet (i.e.
when doing an ifconfig the ARP broadcast with the new address) it gets
in an endless loop - locking the system rock solid.

epstart calls epreset which calls epinit (at SPLIMP), which has this code:

	while (bus_space_read_2(iot, ioh, ELINK_STATUS) & S_COMMAND_IN_PROGRESS)
		;

This unbound loop never completes, as the command in progress never completes
because the link is not active.

>How-To-Repeat:

Try to use above mentioned card - fail.

>Fix:

The card works fine with FreeBSD's "vx" driver, so I'll start looking there.
>Audit-Trail:
>Unformatted: