Date: Thu, 15 Mar 2001 11:03:43 -0600 From: Jonathan Lemon <jlemon@flugsvamp.com> To: Peter Wemm <peter@netplex.com.au>, Ollivier Robert <roberto@eurocontrol.fr> Cc: Jonathan Lemon <jlemon@flugsvamp.com>, cnielsen@pobox.com, net@FreeBSD.ORG Subject: Re: Intel PRO/100+ PCI problem Message-ID: <20010315110343.B82645@prism.flugsvamp.com> In-Reply-To: <200103151320.f2FDKwh83702@mobile.wemm.org> References: <200103151147.f2FBlZh83021@mobile.wemm.org> <200103151320.f2FDKwh83702@mobile.wemm.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Mar 15, 2001 at 05:20:58AM -0800, Peter Wemm wrote:
> > fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0xff20-0xff3f mem 0xff800000-0xf
> f8fffff,0xffbde000-0xffbdefff irq 2 at device 6.0 on pci0
> > fxp0: using memory space register mapping
> > fxp0: Ethernet address 00:a0:c9:49:aa:d3
> > fxp0: PCI IDs: 8086 1229 0000 0000
> > nsphy0: <DP83840 10/100 media interface> on miibus0
> > nsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> > bpf: fxp0 attached
> >
> > This actually does have the NatSemi phy on it and it is correctly detected.
> > Unfortunately, I just locked that machine up with SMPng. oops. I can't
> > verify that it works just yet.. We have another old machine with a NS
> > phy on it (pII based instead of PPro based) and are working on it now.
>
> It appears that the nsphy version is unable to actually transmit packets.
> It is recieving OK, just not sending. (or, the other machines are unable
> to see it, maybe the switch is dropping the packets as "damaged" or
> something?)
Try this following patch to mii/nsphy.c. It appears that we need to
toggle some undocumented bits in order to get this PHY to work with
the fxp driver.
--
Jonathan
Index: nsphy.c
===================================================================
RCS file: /ncvs/src/sys/dev/mii/nsphy.c,v
retrieving revision 1.7
diff -u -r1.7 nsphy.c
--- nsphy.c 2001/02/07 19:57:16 1.7
+++ nsphy.c 2001/03/15 17:14:51
@@ -264,17 +264,20 @@
*/
reg |= PCR_FLINK100;
-#if 0
/*
* Mystery bits which are supposedly `reserved',
* but we seem to need to set them when the PHY
- * is connected to some interfaces!
+ * is connected to some interfaces:
+ *
+ * 0x0400 is needed for fxp
+ * (Intel EtherExpress Pro 10+/100B, 82557 chip)
+ * (nsphy with a DP83840 chip)
+ * 0x0100 may be needed for some other card
*/
reg |= 0x0100 | 0x0400;
-#endif
-/*
+
PHY_WRITE(sc, MII_NSPHY_PCR, reg);
-*/
+
switch (IFM_SUBTYPE(ife->ifm_media)) {
case IFM_AUTO:
/*
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010315110343.B82645>
