Date: Thu, 07 Nov 2002 15:29:16 +0100 From: "Lutz Rabing" <rabing@omc.net> To: freebsd-hardware@freebsd.org Subject: AMDtek 983B based NIC (dc driver) Message-ID: <3DCA86CC.16148.176AF5E@localhost>
next in thread | raw e-mail | index | archive | help
hi, we have several DFI mainboards with the AMDtek 983B onboard ethernet controller. The DC driver (as of 4.7-STABLE) does not work with it. The following patch (from Ted Stockwell) works fine with our DFI boards. Could anyone commit this to STABLE? lutz rabing **************************************************************************************** *** if_dc.c Fri Aug 16 06:45:38 2002 --- /root/if_dc.c Thu Nov 7 14:24:28 2002 *************** *** 183,188 **** --- 183,190 ---- "Accton EN1217 10/100BaseTX" }, { DC_VENDORID_ACCTON, DC_DEVICEID_EN2242, "Accton EN2242 MiniPCI 10/100BaseTX" }, + { DC_VENDORID_ACCTON, DC_DEVICEID_EN5251B, + "AMDtek 983B 10/100BaseTX" }, { DC_VENDORID_CONEXANT, DC_DEVICEID_RS7112, "Conexant LANfinity MiniPCI 10/100BaseTX" }, { 0, 0, NULL } *************** *** 1442,1447 **** --- 1444,1452 ---- if (t->dc_did == DC_DEVICEID_DM9102 && rev >= DC_REVISION_DM9102A) t++; + if (t->dc_did == DC_DEVICEID_EN2242 && + rev >= DC_REVISION_EN5251B) + t++; return(t); } t++; *************** *** 1778,1789 **** sc->dc_pmode = DC_PMODE_MII; break; case DC_DEVICEID_AN985: ! case DC_DEVICEID_EN2242: ! sc->dc_type = DC_TYPE_AN985; ! sc->dc_flags |= DC_TX_USE_TX_INTR; ! sc->dc_flags |= DC_TX_ADMTEK_WAR; ! sc->dc_pmode = DC_PMODE_MII; ! break; case DC_DEVICEID_98713: case DC_DEVICEID_98713_CP: if (revision < DC_REVISION_98713A) { --- 1783,1798 ---- sc->dc_pmode = DC_PMODE_MII; break; case DC_DEVICEID_AN985: ! case DC_DEVICEID_EN2242: /* and DC_DEVICEID_EN5251B: */ ! if (revision < DC_REVISION_EN5251B) { ! sc->dc_type = DC_TYPE_AN985; ! } else { ! sc->dc_type = DC_TYPE_EN5152B; ! } ! sc->dc_flags |= DC_TX_USE_TX_INTR; ! sc->dc_flags |= DC_TX_ADMTEK_WAR; ! sc->dc_pmode = DC_PMODE_MII; ! break; case DC_DEVICEID_98713: case DC_DEVICEID_98713_CP: if (revision < DC_REVISION_98713A) { *************** *** 1905,1910 **** --- 1914,1920 ---- break; case DC_TYPE_AL981: case DC_TYPE_AN985: + case DC_TYPE_EN5152B: dc_read_eeprom(sc, (caddr_t)&eaddr, DC_AL_EE_NODEADDR, 3, 0); break; case DC_TYPE_CONEXANT: **************************************************************************************** *** if_dcreg.h Fri Aug 16 06:45:39 2002 --- /root/if_dcreg.h Thu Nov 7 14:24:28 2002 *************** *** 76,81 **** --- 76,83 ---- #define DC_TYPE_PNICII 0x9 /* 82c115 PNIC II */ #define DC_TYPE_PNIC 0xA /* 82c168/82c169 PNIC I */ #define DC_TYPE_CONEXANT 0xC /* Conexant LANfinity RS7112 */ + #define DC_TYPE_EN5152B 0xD /* Accton EN5251B. Clone of ADMtek 983B */ + #define DC_IS_MACRONIX(x) \ (x->dc_type == DC_TYPE_98713 || \ *************** *** 84,89 **** --- 86,92 ---- #define DC_IS_ADMTEK(x) \ (x->dc_type == DC_TYPE_AL981 || \ + x->dc_type == DC_TYPE_EN5152B || \ x->dc_type == DC_TYPE_AN985) #define DC_IS_INTEL(x) (x->dc_type == DC_TYPE_21143) *************** *** 862,867 **** --- 865,878 ---- */ #define DC_DEVICEID_EN1217 0x1217 #define DC_DEVICEID_EN2242 0x1216 + #define DC_DEVICEID_EN5251B 0x1216 + /* + * The Accton EN5251B is sold as the Siemens Speedstream SS1020 and + * as SMC EN5251BE. + * The EN5251B seems to be a clone of the ADMtek 983 or 983B + */ + #define DC_REVISION_EN5251B 0x11 /* ASSUMING that EN2242's revision differs */ + /* * Conexant vendor ID. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hardware" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DCA86CC.16148.176AF5E>