On Fri, Oct 30, 2015 at 11:32:16AM -0400, Dewey Hylton wrote:
> >
> didn't have -current onhand, but was able to perform this function on a 5.8
> system ... i have 3 of these devices i'd really like to get going on
> openbsd. THANKS!

...

> Invalid PHY ID 0xA0044E90

This shouldn't be possible, perhaps something isn't powering up correctly.

You could try the following patch which will force the id to a known one:

Index: if_em_hw.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_em_hw.c,v
retrieving revision 1.88
diff -u -p -r1.88 if_em_hw.c
--- if_em_hw.c  12 Sep 2015 02:38:14 -0000      1.88
+++ if_em_hw.c  31 Oct 2015 04:43:49 -0000
@@ -5369,6 +5369,9 @@ em_match_gig_phy(struct em_hw *hw)
        hw->phy_id |= (uint32_t) (phy_id_low & PHY_REVISION_MASK);
        hw->phy_revision = (uint32_t) phy_id_low & ~PHY_REVISION_MASK;
 
+       if (hw->phy_id == 0xA0044E90)
+               hw->phy_id = I210_I_PHY_ID;
+
        switch (hw->mac_type) {
        case em_82543:
                if (hw->phy_id == M88E1000_E_PHY_ID)
Index: if_em_osdep.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_em_osdep.h,v
retrieving revision 1.12
diff -u -p -r1.12 if_em_osdep.h
--- if_em_osdep.h       5 Oct 2011 02:52:10 -0000       1.12
+++ if_em_osdep.h       29 Oct 2015 03:27:36 -0000
@@ -44,7 +44,8 @@ POSSIBILITY OF SUCH DAMAGE.
 
 #define MSGOUT(S, A, B)                printf(S "\n", A, B)
 #define DEBUGFUNC(F)           DEBUGOUT(F);
-#ifdef DBG
+//#ifdef DBG
+#if 1
        #define DEBUGOUT(S)                     printf(S "\n")
        #define DEBUGOUT1(S,A)                  printf(S "\n",A)
        #define DEBUGOUT2(S,A,B)                printf(S "\n",A,B)

Reply via email to