From nobody  Sun May 11 23:52:48 1997
Received: (from nobody@localhost)
          by hub.freebsd.org (8.8.5/8.8.5) id XAA03063;
          Sun, 11 May 1997 23:52:48 -0700 (PDT)
Message-Id: <199705120652.XAA03063@hub.freebsd.org>
Date: Sun, 11 May 1997 23:52:48 -0700 (PDT)
From: fredriks@mcs.com
To: freebsd-gnats-submit@freebsd.org
Subject: de driver doesn't support newer SMC 9332 ethernet cards
X-Send-Pr-Version: www-1.0

>Number:         3579
>Category:       kern
>Synopsis:       de driver doesn't support newer SMC 9332 ethernet cards
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    peter
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon May 12 00:00:01 PDT 1997
>Closed-Date:    Sat Mar 24 23:14:15 PST 2001
>Last-Modified:  Sat Mar 24 23:21:37 PST 2001
>Originator:     Lars Fredriksen
>Release:        current
>Organization:
>Environment:
FreeBSD fredriks-1.pr.mcs.net 3.0-CURRENT FreeBSD 3.0-CURRENT #2: Mon May 12 01:25:52 CDT 1997     root@fredriks-1.pr.mcs.net:/usr/local/os_src/src/sys/compile/LUDVIG.30.GUS.PRO  i386
>Description:
The current if_de.c checks the ethernet hardware addresses in order
to differentiate between vndors. It seems that SMC now has another
ethernet address besides 00:00:c0. The SMC 9332BDT card that I just got
has an ethernet address of 00:e0:29. I patched up if_de.c to check for
this address, and it now detects and configures the card correctly.
>How-To-Repeat:

>Fix:
patch to dc21040.h
*** dc21040.h.orig      Mon May 12 00:46:43 1997
--- dc21040.h   Mon May 12 01:23:29 1997
***************
*** 269,274 ****
--- 269,276 ----
  #define       TULIP_OUI_SMC_0                 0x00
  #define       TULIP_OUI_SMC_1                 0x00
  #define       TULIP_OUI_SMC_2                 0xC0
+ #define       TULIP_OUI_SMC_3                 0xE0
+ #define       TULIP_OUI_SMC_4                 0x29
  
  /*
   * There are the definitions used for the DEC DE500


patch to if_de.c:
*** if_de.c.orig        Mon May 12 01:36:11 1997
--- if_de.c     Mon May 12 01:36:31 1997
***************
*** 3290,3299 ****
            sc->tulip_flags |= TULIP_SHAREDINTR;
        }
      } else if (sc->tulip_hwaddr[0] == TULIP_OUI_SMC_0
!              && sc->tulip_hwaddr[1] == TULIP_OUI_SMC_1
!              && sc->tulip_hwaddr[2] == TULIP_OUI_SMC_2) {
        tulip_identify_smc_nic(sc);
      }
  
      if (sc->tulip_boardidbuf[0] != '\0')
        sc->tulip_boardid = sc->tulip_boardidbuf;
--- 3290,3302 ----
            sc->tulip_flags |= TULIP_SHAREDINTR;
        }
      } else if (sc->tulip_hwaddr[0] == TULIP_OUI_SMC_0
!              && ((sc->tulip_hwaddr[1] == TULIP_OUI_SMC_1
!              && sc->tulip_hwaddr[2] == TULIP_OUI_SMC_2)
!              ||  (sc->tulip_hwaddr[1] == TULIP_OUI_SMC_3
!              && sc->tulip_hwaddr[2] == TULIP_OUI_SMC_4))) {
        tulip_identify_smc_nic(sc);
      }
+ 
  
      if (sc->tulip_boardidbuf[0] != '\0')
        sc->tulip_boardid = sc->tulip_boardidbuf;
fredriks-1# 


Keep in  mind that these patches are cut-pasted. If you want the real
file, send me e-mail.

Lars


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->peter 
Responsible-Changed-By: phk 
Responsible-Changed-When: Wed Apr 29 07:16:54 PDT 1998 
Responsible-Changed-Why:  
->peter 
State-Changed-From-To: open->closed 
State-Changed-By: peter 
State-Changed-When: Sat Mar 24 23:14:15 PST 2001 
State-Changed-Why:  
The if_de.c driver has supported this card for quite some time. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=3579 
>Unformatted:
