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>