Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Aug 2000 15:46:27 +0200 (CEST)
From:      admin@orientasia.uni-bonn.de
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   i386/20803: ep driver finds "shadow" card(s) in addition to 3C509 EtherLink-III PnP
Message-ID:  <200008231346.PAA00666@fs2.orientasia.uni-bonn.de>

next in thread | raw e-mail | index | archive | help

>Number:         20803
>Category:       i386
>Synopsis:       ep0 driver finds additional "shadow" ep cards with ISA 3C509
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 23 06:50:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Philipp Reichmuth
>Release:        FreeBSD 4.1-STABLE i386
>Organization:
Universit„t Bonn - Fachschaft OrientAsia
>Environment:
Intel P120, ASUS P55TP4XE w/Award BIOS, 3Com 3C509 EtherLink III
PnP ethernet adapter(s), in addition: one SMC EtherExpress II network adapter.
In a different report of the same problem, the affected person used a Compaq
Presario machine with a different mainboard.
>Description:
At bootup, the ep driver finds a "shadow" 3Com ethernet card
at port 0x300, irq 10 (even there is no actual card at this address) if at
least one 3Com 3C509 EtherLink III PnP (in my case) is present. This shadow
ep card is then recognized as ep0. The driver fails to read the card's
EEPROM, of course, and leaves the ep0 interface unconfigured The actual card 
is recognized as ep1. If more than one "real" 3Com card is present in the
computer, the driver finds a "shadow" card for each of these, so that with
"n" 3Com EtherLink III cards in the computer, ep[0...n-1] are non-functional
"shadow" cards, while ep[n...2n-1] are the interfaces for the real cards. Tested
for n=1,2,3. If another card (in my case, an SMC EtherExpress II adapter)
occupies port 0x300 and/or irq 10, the ep driver assumes that this card
were a 3Com ethenet device and tries to read configuration data from it,
failing utterly, of course, and the kernel panics off at bootup.

This happens both when simply "device ep" is present in the kernel config file
and when I wire it down specifically to the address it is assigned by the BIOS.
The driver appears to probe anyway. This leads to the conclusion that the
problem is actually on 3Com's side.

The problem was described by at least one other person in response to a
mail of mine to FreeBSD-Questions regarding the problem. He used a Compaq
Presario, so the problem can't be ASUS mainboard-specific; being not familiar
with Compaq BIOSes, however, I can't certify that it might not be 
Award BIOS-specific.
>How-To-Repeat:
Install a 3Com 3C509 ethernet card (if you don't have any, I've got at least
one spare) and include "device ep" in the kernel, remove anything else that
sits on port 0x300 or irq 10, reboot and watch.
>Fix:
Problem can be ignored if no cards are present that require either port 0x300
or irq 10 by simply using higher numbers for the ep interfaces when configuring
them with ifconfig; i.e. for adapter number N in a machine with M 3Com adapters, 
one would have to use ifconfig ep[(M-1)+M]. If other cards occupy either port
0x300 or irq 10, however, there is no real workaround, except, possibly, altering
the other card's address decoding logic by soldering around on the card's PCB,
but I wouldn't recommend this to anyone.


>Release-Note:
>Audit-Trail:
>Unformatted:


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




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