From owner-freebsd-current Fri Mar 22 6:33:26 2002 Delivered-To: freebsd-current@freebsd.org Received: from mongrel.pacific.net.au (mongrel.pacific.net.au [61.8.0.107]) by hub.freebsd.org (Postfix) with ESMTP id 7085737B400 for ; Fri, 22 Mar 2002 06:33:21 -0800 (PST) Received: from dungeon.home (ppp65.dyn249.pacific.net.au [203.143.249.65]) by mongrel.pacific.net.au (8.9.3/8.9.3/Debian 8.9.3-21) with ESMTP id BAA08243 for ; Sat, 23 Mar 2002 01:31:59 +1100 X-Authentication-Warning: mongrel.pacific.net.au: Host ppp65.dyn249.pacific.net.au [203.143.249.65] claimed to be dungeon.home Received: from dungeon.home (localhost [127.0.0.1]) by dungeon.home (8.11.6/8.11.1) with ESMTP id g2MEXqZ16447; Sat, 23 Mar 2002 00:33:52 +1000 (EST) (envelope-from mckay) Message-Id: <200203221433.g2MEXqZ16447@dungeon.home> To: freebsd-current@freebsd.org Cc: mckay@thehub.com.au Subject: if_dc broken in -current Date: Sat, 23 Mar 2002 00:33:52 +1000 From: Stephen McKay Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG It's been quite a while since I updated my -current box, but when I did, I was surprised to find that my DE500 network card (21143 chip) had stopped working. The switch showed no link. Ifconfig showed "no carrier". After some fiddling, I reverted revision 1.56 (removal of mii_pollstat call) of sys/pci/if_dc.c and the DE500 went back to normal. It auto-negotiated 100Mbit full duplex, and now works fine. I expect the problem is actually in mii/dcphy.c but since I have very little understand of how this mii stuff is supposed to work, I have to leave that to others. If no one is available to give me a hand here, I'll have to go with plan B which is to simply back out rev 1.56 of if_dc.c. (That's not such a bad plan really, just slightly inefficient.) On a different dc driver note, I'm interested in knowing if anyone is using either a PNIC or Davicom with -current. There is a slight difference between -current and -stable, and the code in -current caused problems with PNIC and Davicom cards when it was briefly in -stable. I'm assuming that nobody is using such cards, and the little bit of code is going to annoy a few people when they try the 5.0 prerelease. I'd like to fix this before it causes too much trouble. For those who are curious, the troublesome piece of code is lines 1339 and 1340 (in rev 1.69): if (isr & DC_ISR_TX_IDLE && (isr & DC_ISR_RX_STATE) == DC_RXSTATE_STOPPED) which waits for confirmation that the transmitter and receiver are both idle before some configuration registers are fiddled with. With PNIC and Davicom cards, one or the other of these conditions never occurs. Or at least that was the trouble when this was in -stable, back in August. Could this problem have "magically" gone away? Stephen. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message