*BSD News Article 87343


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.mel.connect.com.au!munnari.OZ.AU!news.ecn.uoknor.edu!feed1.news.erols.com!arclight.uoregon.edu!news.bc.net!unixg.ubc.ca!not-for-mail
From: amor@geop.ubc.ca (John Amor)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Problem with new SMC9332 with 21140A
Date: 24 Jan 1997 01:37:03 GMT
Organization: Earth & Ocean Sciences, UBC
Lines: 70
Message-ID: <5c93nv$7am$2@nntp.ucs.ubc.ca>
Reply-To: amor@geop.ubc.ca
NNTP-Posting-Host: moho.geop.ubc.ca
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:34450

  I am installing FreeBSD-2.2beta on a new 180 pro with a
SMC-9332-BDT ethernet card.
I have applied the following patchs(additions) to the if_de.c 
code so that it would properly identify the card. 
  This works and the card appears to work, however it loses
lots of packets (~20%) on a ping test. Ftping files in works
great but the reverse seems a bit sticky (slowwww)but does finally
succeed.
  The form of the patchs were suggest by Raul Zighelboim
<mango@communique.,net> on jan 4/97. His patch was 
for 2.1.6 and the names were slightly changed to match 2.2.
 (I actually havent seen the 2.1.6 code)

I am not a system's programer so perhaps someone could point out 
what the problem might be. Or if there is a better patch.

Thanks,
ja
----------------------------------------------------------------------------
   John Amor -- Systems Manager --   Geophysical Research Processing Facility
  amor@eos.ubc.ca    (604) 822-6933    Department of Earth and Ocean Sciences
 http://www.geop.ubc.ca/~amor/amor.html  University of British Columbia, Canada


---------------   + lines added, no other changes 
if_de.c
========
    TULIP_21140_DEC_EB,		/* Digital Semicondutor 21140 Evaluation Board */
    TULIP_21140_DEC_DE500,	/* Digital DE500-?? 10/100 */
    TULIP_21140_SMC_9332,	/* SMC 9332 */
+    TULIP_21140A_SMC_9332BDT,  /* SMC 9332BDT with 21140A */
    TULIP_21140_COGENT_EM100,	/* Cogent EM100 100 only */
    TULIP_21140_ZNYX_ZX34X,	/* ZNYX ZX342 10/100 */
=========
+static const tulip_boardsw_t tulip_21140A_smc9332bdt_boardsw = {
+    TULIP_21140A_SMC_9332BDT,
+    "SMC 9332BDT ",
+    tulip_21140_smc9332_media_probe,
+    tulip_21140_mii_media_preset,
+    tulip_21140_mii_probe,
+};

static const tulip_boardsw_t tulip_21140_smc9332_boardsw = {
    TULIP_21140_SMC_9332,
    "SMC 9332 ",
    tulip_21140_smc9332_media_probe,
    tulip_21140_smc9332_media_select,
    tulip_21140_nomii_media_preset,
};
=========
     if (sc->tulip_chipid == TULIP_21140) {
	sc->tulip_boardsw = &tulip_21140_smc9332_boardsw;
	return;
    }

+    if (sc->tulip_chipid == TULIP_21140A) {
+       sc->tulip_boardsw = &tulip_21140A_smc9332bdt_boardsw;
+       return;
+    }

    id1 = sc->tulip_rombuf[0x60] | (sc->tulip_rombuf[0x61] << 8);
    id2 = sc->tulip_rombuf[0x62] | (sc->tulip_rombuf[0x63] << 8);
    ei  = sc->tulip_rombuf[0x66] | (sc->tulip_rombuf[0x67] << 8);
=========