[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

OpenBSD 3.4 EM driver does not recognise INTEL_82541MT



Hello,

Recently i bought a INTEL_82541MT 1gb network card, but it was not 
recognized on my OpenBSD 3.4 machine (installed from cd).
I Updated the sources but there were no new drivers attached.
Looking at the current list, there is also nothing being mentioned about
the INTEL_82541MT card. Therefor i decided to patch it myself.

Below is the patch i used, very simple but it works, perhaps you want to 
adopt it to support this network card also :-)

Cheers


diff ./if_em.c /usr/src/sys/dev/pci/if_em.c
--- ./if_em.c   Sat Aug 23 20:52:18 2003
+++ /usr/src/sys/dev/pci/if_em.c        Tue Feb 24 19:26:53 2004
@@ -117,6 +117,7 @@
         { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82545EM_SC },
         { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82546EB_SC },
         { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82541EI },
+       { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82541MT },
         { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82540EM_LOM },
         { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82540EP_LOM },
         { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82540EP },
diff ./if_em_hw.c /usr/src/sys/dev/pci/if_em_hw.c
--- ./if_em_hw.c        Fri Jun 13 21:21:21 2003
+++ /usr/src/sys/dev/pci/if_em_hw.c     Tue Feb 24 19:27:16 2004
@@ -235,6 +235,9 @@
          hw->mac_type = em_82546;
          break;
      case E1000_DEV_ID_82541EI:
+    case E1000_DEV_ID_82541MT:
+       hw->mac_type = em_82541;
+       break;
      case E1000_DEV_ID_82541EP:
          hw->mac_type = em_82541;
          break;
@@ -3856,6 +3859,7 @@
      case E1000_DEV_ID_82546EB_COPPER:
      case E1000_DEV_ID_82546EB_QUAD_COPPER:
      case E1000_DEV_ID_82541EI:
+    case E1000_DEV_ID_82541MT:
      case E1000_DEV_ID_82541EP:
      case E1000_DEV_ID_82547EI:
          E1000_WRITE_REG(hw, LEDCTL, hw->ledctl_mode1);
@@ -3898,6 +3902,7 @@
      case E1000_DEV_ID_82546EB_FIBER:
      case E1000_DEV_ID_82546EB_QUAD_COPPER:
      case E1000_DEV_ID_82541EI:
+    case E1000_DEV_ID_82541MT:
      case E1000_DEV_ID_82541EP:
      case E1000_DEV_ID_82547EI:
          /* Restore LEDCTL settings */
@@ -3953,6 +3958,7 @@
      case E1000_DEV_ID_82546EB_COPPER:
      case E1000_DEV_ID_82546EB_QUAD_COPPER:
      case E1000_DEV_ID_82541EI:
+    case E1000_DEV_ID_82541MT:
      case E1000_DEV_ID_82541EP:
      case E1000_DEV_ID_82547EI:
          E1000_WRITE_REG(hw, LEDCTL, hw->ledctl_mode2);
@@ -4007,6 +4013,7 @@
      case E1000_DEV_ID_82546EB_COPPER:
      case E1000_DEV_ID_82546EB_QUAD_COPPER:
      case E1000_DEV_ID_82541EI:
+    case E1000_DEV_ID_82541MT:
      case E1000_DEV_ID_82541EP:
      case E1000_DEV_ID_82547EI:
          E1000_WRITE_REG(hw, LEDCTL, hw->ledctl_mode1);
diff ./if_em_hw.h /usr/src/sys/dev/pci/if_em_hw.h
--- ./if_em_hw.h        Fri Jun 13 21:21:21 2003
+++ /usr/src/sys/dev/pci/if_em_hw.h     Tue Feb 24 19:27:24 2004
@@ -323,6 +323,7 @@
  #define E1000_DEV_ID_82546EB_FIBER       0x1012
  #define E1000_DEV_ID_82546EB_QUAD_COPPER 0x101D
  #define E1000_DEV_ID_82541EI             0x1013
+#define E1000_DEV_ID_82541MT             0x1076
  #define E1000_DEV_ID_82541EP             0x1018
  #define E1000_DEV_ID_82547EI             0x1019
  #define NUM_DEV_IDS 20
diff ./pcidevs /usr/src/sys/dev/pci/pcidevs
--- ./pcidevs   Wed Sep  3 23:23:16 2003
+++ /usr/src/sys/dev/pci/pcidevs        Fri Feb 20 18:31:35 2004
@@ -1115,6 +1115,7 @@
  product INTEL 82540EP_LOM      0x1016  PRO/1000 (82540EP LOM)
  product INTEL 82540EP          0x1017  PRO/1000 (82540EP)
  product INTEL 82541EP          0x1018  PRO/1000 (82541EP)
+product INTEL 82541MT          0x1076  PRO/1000 (82541MT)
  product INTEL 82547EI          0x1019  PRO/1000 (82547EI)
  product INTEL 82546EB_QUAD     0x101d  PRO/1000 (82546EB_QUAD)
  product INTEL 82540EP_LP       0x101e  PRO/1000 (82540EP LP)
diff ./pcidevs.h /usr/src/sys/dev/pci/pcidevs.h
--- ./pcidevs.h Wed Sep  3 23:24:28 2003
+++ /usr/src/sys/dev/pci/pcidevs.h      Tue Feb 24 19:27:44 2004
@@ -1116,6 +1116,7 @@
  #define        PCI_PRODUCT_INTEL_82545EM_SC    0x1011          /* 
PRO/1000MF (PWLA8490MF) */
  #define        PCI_PRODUCT_INTEL_82546EB_SC    0x1012          /* 
PRO/1000MF (PWLA8492MF) */
  #define        PCI_PRODUCT_INTEL_82541EI       0x1013          /* 
PRO/1000 (82541EI) */
+#define PCI_PRODUCT_INTEL_82541MT      0x1076          /* PRO/1000MT 
(82541MT) */
  #define        PCI_PRODUCT_INTEL_82540EM_LOM   0x1015          /* 
PRO/1000MT (LOM) */
  #define        PCI_PRODUCT_INTEL_82540EP_LOM   0x1016          /* 
PRO/1000 (82540EP LOM) */
  #define        PCI_PRODUCT_INTEL_82540EP       0x1017          /* 
PRO/1000 (82540EP) */
diff ./pcidevs_data.h /usr/src/sys/dev/pci/pcidevs_data.h
--- ./pcidevs_data.h    Wed Sep  3 23:24:28 2003
+++ /usr/src/sys/dev/pci/pcidevs_data.h Tue Feb 24 19:27:54 2004
@@ -2691,6 +2691,10 @@
             "PRO/1000 (82541EI)",
         },
         {
+           PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82541MT,
+           "PRO/1000 (82541MT)",
+       },
+       {
             PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82540EM_LOM,
             "PRO/1000MT (LOM)",
         },



-- 
--

Kind regards,

Remko Lodder
Elvandar.org/DSINet.org
www.mostly-harmless.nl Dutch community for helping newcomers on the 
hackerscene