From owner-freebsd-hardware Thu Nov 7 6:29:13 2002 Delivered-To: freebsd-hardware@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1DC4E37B401 for ; Thu, 7 Nov 2002 06:29:10 -0800 (PST) Received: from office.omc.net (office.omc.net [212.77.224.22]) by mx1.FreeBSD.org (Postfix) with ESMTP id E9A6A43E6E for ; Thu, 7 Nov 2002 06:29:08 -0800 (PST) (envelope-from rabing@omc.net) Received: from xoffice.omc.net (xoffice.omc.net [212.77.224.172]) by office.omc.net (8.12.5/8.12.5) with ESMTP id gA7ESTJK004630 for ; Thu, 7 Nov 2002 15:28:29 +0100 (CET) (envelope-from rabing@omc.net) Received: from lutz (lutz.omc.net. [212.77.224.50]) by xoffice.omc.net (8.12.6/8.12.3) with ESMTP id gA7EUmgR041151 for ; Thu, 7 Nov 2002 15:30:49 +0100 (CET) (envelope-from rabing@omc.net) From: "Lutz Rabing" Organization: OMCnet IS GmbH To: freebsd-hardware@freebsd.org Date: Thu, 07 Nov 2002 15:29:16 +0100 MIME-Version: 1.0 Subject: AMDtek 983B based NIC (dc driver) Reply-To: rabing@omc.net Message-ID: <3DCA86CC.16148.176AF5E@localhost> X-mailer: Pegasus Mail for Windows (v4.02a) Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Content-description: Mail message body Sender: owner-freebsd-hardware@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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