From owner-cvs-all Mon Sep 20 13:26:18 1999 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 8D6F415002; Mon, 20 Sep 1999 13:26:15 -0700 (PDT) (envelope-from wpaul@FreeBSD.org) Received: (from wpaul@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id NAA46396; Mon, 20 Sep 1999 13:26:15 -0700 (PDT) (envelope-from wpaul@FreeBSD.org) Message-Id: <199909202026.NAA46396@freefall.freebsd.org> From: Bill Paul Date: Mon, 20 Sep 1999 13:26:15 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/pci if_xl.c Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk wpaul 1999/09/20 13:26:15 PDT Modified files: sys/pci if_xl.c Log: Close PR #13665. I managed to figure out the problem, no thanks to the submitter, who *still* hasn't bothered to answer me back. The thing which the submitter completely failed to mention is that his 3c900B-TPO card has the transceiver selection in the EEPROM set to "auto." You can tweak the setting using the 3C90XCFG.EXE utility that 3Com provides with the card. I'm not sure if it's supposed to default to auto or if the user fiddled with it. Currently, the xl driver only does autoselection for 10/100 NICs (i.e. those with NWAY autonegotiation capabilities). For the 10baseT, 10base5, 10base2, 10baseFL and 100baseFX cards, the driver sets the default media to whatever the EEPROM transceiver selector says. The problem is that the "auto" selection is mistakenly identified as "10/100 NWAY autoselection mode" and this is not handled correctly: the default media ends up being chosen as 100baseTX, which doesn't work because we've only added 10baseT media types to the ifmedia word. This leads to a panic in ifmedia_set() (something else which the submitter never bothered to mention). A workaround for this is to re-run the 3C90XCFG.EXE utility and change the transceiver selection to something besides "auto." I have also patched the driver to watch for the "auto" setting in the non-miibus case and select a reasonable default based on the card type instead of falling through to 100baseTX and exploding. PR: misc/13665 Revision Changes Path 1.64 +40 -18 src/sys/pci/if_xl.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message