From mi@rtfm.ziplink.net  Sun Jan 26 17:07:43 1997
Received: from rtfm.ziplink.net ([199.232.255.52])
          by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id RAA08868
          for <FreeBSD-gnats-submit@freebsd.org>; Sun, 26 Jan 1997 17:07:41 -0800 (PST)
Received: (from mi@localhost) by rtfm.ziplink.net (8.8.4/8.7.3) id UAA00560; Sun, 26 Jan 1997 20:08:27 -0500 (EST)
Message-Id: <199701270108.UAA00560@rtfm.ziplink.net>
Date: Sun, 26 Jan 1997 20:08:27 -0500 (EST)
From: mi@aldan.ziplink.net
Reply-To: mi@aldan.algebra.com
To: FreeBSD-gnats-submit@freebsd.org
Subject: ep0 in EISA mode hangs if ep0-device (ISA) is enabled
X-Send-Pr-Version: 3.2

>Number:         2598
>Category:       i386
>Synopsis:       ep0 in EISA mode hangs if ep0-device (ISA) is enabled
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    mdodd
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 26 17:10:07 PST 1997
>Closed-Date:    Mon Jul 17 23:35:51 PDT 2000
>Last-Modified:  Mon Jul 17 23:37:04 PDT 2000
>Originator:     Mikhail Teterin
>Release:        FreeBSD 3.0-970118-SNAP i386
>Organization:
>Environment:

	kernel has ep-device built in. The card is set into EISA mode
	(nice feature).

>Description:

	ep-device is recognized as EISA device at the beginning
	Then, it is probed and (obviously) not found on ISA bus.
	Attempts to ifconfig it later (from /etc/netstart or manually)
	hang machine cold...

	Note, this is not something new, it was happening with the August
	snapshot as well.

>How-To-Repeat:

	See Description

>Fix:
	
	Boot into -c, and disable ep0. The card works fine after that.
>Release-Note:
>Audit-Trail:

From: Ted Mittelstaedt <tedm@ipinc.net>
To: "'freebsd-gnats-submit@freebsd.org'" <freebsd-gnats-submit@freebsd.org>,
	"'mi@aldan.algebra.com'" <mi@aldan.algebra.com>
Cc:  
Subject: re: i386/2598: ep0 in eisa mode hangs if ep0-device (isa) is enabled
Date: Tue, 14 Mar 2000 17:44:28 -0800

 The documentation for the ep device driver shows that 3c509 cards are 
 soft-configured
 and that probes to port 110 are used for the driver to communicate with the 
 card.
 
 3c579 EISA cards, by contrast, are configured by the eisa-config program for 
 the
 system, not by the 3c5x9cfg.exe DOS configuration program.  Thus port 110 on
 these cards is not supposed to be there  (because your supposed to use 
 eisa-config
 to config the card)
 
 When the ep driver normally loads it first checks for EISA 3c579 cards, then it 
 checks for
 ISA 3c509 cards.  This probe order is fine since the 3c579 card has no port 
 110, the EISA
 probe will not need to disturb the port.  When the ISA probe is done then port 
 110 is
 twiddled with and the 3c579 card will not be bothered.
 
 In this instance your putting an ISA card into EISA mode.  So when the driver 
 probes it
 EISA-configs the card.  Then later on when the ISA probe is run it attempts to 
 twiddle
 port 110.  If you were using an EISA card this would not be a problem because 
 EISA
 3c579's have no port 110.  Since your using an ISA card in EISA-emulation, 
 there is a port
 110, and this is why the second probe trashes the driver.
 
 If the driver were modded with a crude "don't probe for ISA cards if an ep card 
 is configured
 on EISA" then you would screw all the people running a mix of EISA 3c579 and 
 ISA 3c509
 cards in an EISA box.
 
 Needless to say there is no way the 3c509 can report an "IN EISA emulation 
 mode" during
 an EISA probe because the 3c579 EISA card does not have an ISA-emulation mode 
 and
 thus that message was never put into the EISA-probe.
 
 While there may be a more convoluted way of making the probing work in nice 
 fashion
 for ISA-in-EISA cards like the 3c509 card in EISA mode, it's going to make 
 probe logic
 needlessly complex.  In any case the 3c509 was not originally a true 
 Plug-n-Play ISA
 card, so that's not an option, the ep probe logic is basically doing the user a 
 kindness
 by doing an autoprobe - non Plug-n-Play ISA cards really should be hard-coded 
 in the
 kernel.conf file anyway.
 
 I'd recommend this be a documentation change on the ep manual page, and in the
 hardware.txt, and FAQ, rather than a driver code change.
 
 Ted
 
Responsible-Changed-From-To: freebsd-bugs->mdodd 
Responsible-Changed-By: sheldonh 
Responsible-Changed-When: Wed Mar 15 01:32:58 PST 2000 
Responsible-Changed-Why:  
Matthew, you're Mr ep.  If you decide that we should change the docs 
instead of the driver, let me know and I'll do the graft. 
State-Changed-From-To: open->closed 
State-Changed-By: mdodd 
State-Changed-When: Mon Jul 17 23:35:51 PDT 2000 
State-Changed-Why:  
Fix committed. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=2598 
>Unformatted:
