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 [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to