On Wednesday 12 May 2010 14:28:49 Pontus Lundkvist wrote: > Hi, > > This is just a hack, my first one too. But does seem to work in my > initial tests. I've just added the DEVICE ID and a few "case xxx:".
Its a start, but there are still a few more functions within if_em_hw.c which need adjustment for this chipset. > It is for the Intel 82583V GbE Controller [1], fitted in a small Atom > Pineview-M appliance kind of machine, CAD-0205 [2]. > > Any way, thought I'd share it; as I said, works for me but I have _no_ > idea if it's DoneRight [tm]. > > [1] http://download.intel.com/design/network/datashts/322114.pdf > [2] http://www.portwell.com/products/detail.asp?CUSTCHAR1=CAD-0205 > > Regards, > Pontus > > > Excluding the rebuilt pcidevs headers, not sure what the procedure is. > > Index: pcidevs > =================================================================== > RCS file: /cvs/src/sys/dev/pci/pcidevs,v > retrieving revision 1.1552 > diff -u -r1.1552 pcidevs > --- pcidevs 12 May 2010 16:18:12 -0000 1.1552 > +++ pcidevs 12 May 2010 18:22:23 -0000 > @@ -2404,6 +2404,7 @@ > product INTEL 82599_SFP_EM 0x1507 10GbE SFP EM (82599) > product INTEL 82598_BX 0x1508 10GbE BX (82598) > product INTEL 82576_NS 0x150a PRO/1000 (82576NS) > +product INTEL 82583V 0x150c PRO/1000 (82583V) > product INTEL 82599_KX4_MEZZ 0x1514 10GbE KX4 (82599) > product INTEL 80960RP_ATU 0x1960 80960RP ATU > product INTEL 82840_HB 0x1a21 82840 Host > Index: if_em.c > =================================================================== > RCS file: /cvs/src/sys/dev/pci/if_em.c,v > retrieving revision 1.235 > diff -u -r1.235 if_em.c > --- if_em.c 16 Mar 2010 22:48:43 -0000 1.235 > +++ if_em.c 12 May 2010 18:22:24 -0000 > @@ -126,6 +126,7 @@ > { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82576_SERDES }, > { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82576_QUAD_COPPER }, > { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82576_NS }, > + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82583V }, > { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ICH8_IFE }, > { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ICH8_IFE_G }, > { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ICH8_IFE_GT }, > @@ -395,6 +396,7 @@ > break; > case em_82542_rev2_0: > case em_82542_rev2_1: > + case em_82583: > case em_ich8lan: > /* Adapters that do not support Jumbo frames */ > sc->hw.max_frame_size = ETHER_MAX_LEN; > @@ -748,6 +750,7 @@ > pba = E1000_PBA_12K; /* 12K for Rx, 20K for Tx */ > break; > case em_82574: /* Total Packet Buffer is 40k */ > + case em_82583: > pba = E1000_PBA_30K; /* 30K for Rx, 10K for Tx */ > break; > case em_ich8lan: > Index: if_em_hw.h > =================================================================== > RCS file: /cvs/src/sys/dev/pci/if_em_hw.h,v > retrieving revision 1.36 > diff -u -r1.36 if_em_hw.h > --- if_em_hw.h 2 Mar 2010 22:09:57 -0000 1.36 > +++ if_em_hw.h 12 May 2010 18:22:25 -0000 > @@ -70,6 +70,7 @@ > em_82573, > em_82574, > em_82575, > + em_82583, > em_80003es2lan, > em_ich8lan, > em_ich9lan, > @@ -528,6 +529,7 @@ > #define E1000_DEV_ID_82576_SERDES 0x10E7 > #define E1000_DEV_ID_82576_QUAD_COPPER 0x10E8 > #define E1000_DEV_ID_82576_NS 0x150A > +#define E1000_DEV_ID_82583V 0x150C > #define E1000_DEV_ID_82574L 0x10D3 > #define E1000_DEV_ID_EP80579_LAN_1 0x5040 /* EP80579 LAN */ > #define E1000_DEV_ID_EP80579_LAN_2 0x5044 /* EP80579 LAN */ > Index: if_em_hw.c > =================================================================== > RCS file: /cvs/src/sys/dev/pci/if_em_hw.c,v > retrieving revision 1.46 > diff -u -r1.46 if_em_hw.c > --- if_em_hw.c 2 Mar 2010 22:09:57 -0000 1.46 > +++ if_em_hw.c 12 May 2010 18:22:29 -0000 > @@ -456,6 +456,7 @@ > hw->mac_type = em_82573; > break; > case E1000_DEV_ID_82574L: > + case E1000_DEV_ID_82583V: > hw->mac_type = em_82574; > break; > case E1000_DEV_ID_82575EB_PT: -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
