Subject: kern/8188: Add support for 3CXEM556B-INT
To: None <gnats-bugs@gnats.netbsd.org>
From: None <GBC01623@nifty.ne.jp>
List: netbsd-bugs
Date: 08/10/1999 23:20:55
>Number:         8188
>Category:       kern
>Synopsis:       Add support for 3CXEM556B-INT
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Tue Aug 10 23:20:01 1999
>Last-Modified:
>Originator:     Noriyuki KOIZUMI
>Organization:
>Release:        NetBSD-current 19990808
>Environment:
NetBSD note 1.4J NetBSD 1.4J (GENERIC) #0: Mon Aug  9 14:48:50 JST 1999     koizumi@note:/usr/tmp/sys/arch/i386/compile/GENERIC i386
>Description:
Add support for 3Com/Megahertz 3CXEM556B-INT PC Card.
("3CXEM556B-INT" is International Version)

This card is changed Product-ID from "0x0035" (3CXEM556) to "0x003d"
(3CXEM556B-INT). I think two card is same. (Because I change Product-ID
from "0x0035" to "0x003d" and build new kernel, 3CXEM556B-INT work fine.)

>How-To-Repeat:


>Fix:
diff -x CVS -Ncr pcmcia.orig/com_pcmcia.c pcmcia/com_pcmcia.c
*** pcmcia.orig/com_pcmcia.c    Tue Jun 29 09:05:09 1999
--- pcmcia/com_pcmcia.c Wed Aug 11 00:54:47 1999
***************
*** 347,353 ****
                return ret;
  
        if ((psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3C562) ||
!           (psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3CXEM556)) {
                int reg;
  
                /* turn off the ethernet-disable bit */
--- 347,354 ----
                return ret;
  
        if ((psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3C562) ||
!           (psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3CXEM556) ||
!           (psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3CXEM556B)) {
                int reg;
  
                /* turn off the ethernet-disable bit */
diff -x CVS -Ncr pcmcia.orig/if_ep_pcmcia.c pcmcia/if_ep_pcmcia.c
*** pcmcia.orig/if_ep_pcmcia.c  Tue Jun 29 09:05:09 1999
--- pcmcia/if_ep_pcmcia.c       Wed Aug 11 00:55:41 1999
***************
*** 159,164 ****
--- 159,168 ----
          0,                            0,
          PCMCIA_STR_3COM_3CXEM556 },
  
+       { PCMCIA_PRODUCT_3COM_3CXEM556B,        ELINK_CHIPSET_3C509,
+         0,                            0,
+         PCMCIA_STR_3COM_3CXEM556B },
+ 
        { PCMCIA_PRODUCT_3COM_3C574,    ELINK_CHIPSET_ROADRUNNER,
          ELINK_FLAGS_MII,              0,
          PCMCIA_STR_3COM_3C574 },
***************
*** 231,237 ****
                return (ret);
  
        if ((psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3C562) ||
!           (psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3CXEM556)) {
                int reg;
  
                /* turn off the serial-disable bit */
--- 235,242 ----
                return (ret);
  
        if ((psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3C562) ||
!           (psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3CXEM556) ||
!           (psc->sc_pf->sc->card.product == PCMCIA_PRODUCT_3COM_3CXEM556B)) {
                int reg;
  
                /* turn off the serial-disable bit */
diff -x CVS -Ncr pcmcia.orig/pcmcia_cis_quirks.c pcmcia/pcmcia_cis_quirks.c
*** pcmcia.orig/pcmcia_cis_quirks.c     Tue Dec 29 21:16:03 1998
--- pcmcia/pcmcia_cis_quirks.c  Wed Aug 11 00:57:51 1999
***************
*** 117,122 ****
--- 117,126 ----
          &pcmcia_3cxem556_func0, &pcmcia_3cxem556_func0_cfe0 },
        { PCMCIA_VENDOR_3COM, PCMCIA_PRODUCT_3COM_3CXEM556, PCMCIA_CIS_INVALID,
          &pcmcia_3cxem556_func1, &pcmcia_3cxem556_func1_cfe0 },
+       { PCMCIA_VENDOR_3COM, PCMCIA_PRODUCT_3COM_3CXEM556B, PCMCIA_CIS_INVALID,
 
+         &pcmcia_3cxem556_func0, &pcmcia_3cxem556_func0_cfe0 },
+       { PCMCIA_VENDOR_3COM, PCMCIA_PRODUCT_3COM_3CXEM556B, PCMCIA_CIS_INVALID,
+         &pcmcia_3cxem556_func1, &pcmcia_3cxem556_func1_cfe0 },
        { PCMCIA_VENDOR_INVALID, PCMCIA_PRODUCT_INVALID, PCMCIA_CIS_SVEC_LANCARD
,
          &pcmcia_sveclancard_func0, &pcmcia_sveclancard_func0_cfe0 },
  };
diff -x CVS -Ncr pcmcia.orig/pcmciadevs pcmcia/pcmciadevs
*** pcmcia.orig/pcmciadevs      Sun Aug  8 21:49:57 1999
--- pcmcia/pcmciadevs   Wed Aug 11 01:04:26 1999
***************
*** 75,80 ****
--- 75,81 ----
  product 3COM 3C589            0x0589 3Com 3c589 10Mbps Ethernet
  product 3COM 3C574            0x0574 3Com 3c574-TX 10/100Mbps Ethernet
  product 3COM 3CXEM556         0x0035 3Com/Megahertz 3CXEM556 Ethernet/Modem
+ product 3COM 3CXEM556B                0x003d 3Com/Megahertz 3CXEM556B-INT Ethe
rnet/Modem
  
  /* Compex Products */
  product COMPEX LINKPORT_ENET_B        0x0100 Compex Linkport ENET-B Ethernet
diff -x CVS -Ncr pcmcia.orig/pcmciadevs.h pcmcia/pcmciadevs.h
*** pcmcia.orig/pcmciadevs.h    Sun Aug  8 21:49:57 1999
--- pcmcia/pcmciadevs.h Wed Aug 11 01:05:14 1999
***************
*** 1,4 ****
! /*    $NetBSD: pcmciadevs.h,v 1.44 1999/08/06 06:39:57 cgd Exp $      */
  
  /*
   * THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.
--- 1,4 ----
! /*    $NetBSD$        */
  
  /*
   * THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.
***************
*** 94,99 ****
--- 94,102 ----
  #define       PCMCIA_CIS_3COM_3CXEM556        { NULL, NULL, NULL, NULL }
  #define       PCMCIA_PRODUCT_3COM_3CXEM556    0x0035
  #define       PCMCIA_STR_3COM_3CXEM556        "3Com/Megahertz 3CXEM556 Etherne
t/Modem"
+ #define       PCMCIA_CIS_3COM_3CXEM556B       { NULL, NULL, NULL, NULL }
+ #define       PCMCIA_PRODUCT_3COM_3CXEM556B   0x003d
+ #define       PCMCIA_STR_3COM_3CXEM556B       "3Com/Megahertz 3CXEM556B-INT Et
hernet/Modem"
  
  /* Compex Products */
  #define       PCMCIA_CIS_COMPEX_LINKPORT_ENET_B       { NULL, NULL, NULL, NULL
 }
diff -x CVS -Ncr pcmcia.orig/pcmciadevs_data.h pcmcia/pcmciadevs_data.h
*** pcmcia.orig/pcmciadevs_data.h       Sun Aug  8 21:49:57 1999
--- pcmcia/pcmciadevs_data.h    Wed Aug 11 01:05:14 1999
***************
*** 1,4 ****
! /*    $NetBSD: pcmciadevs_data.h,v 1.44 1999/08/06 06:39:57 cgd Exp $ */
  
  /*
   * THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.
--- 1,4 ----
! /*    $NetBSD$        */
  
  /*
   * THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.
***************
*** 85,90 ****
--- 85,97 ----
            0,
            "3Com Corporation",
            "3Com/Megahertz 3CXEM556 Ethernet/Modem"    },
+       },
+       {
+           PCMCIA_VENDOR_3COM, PCMCIA_PRODUCT_3COM_3CXEM556B,
+           PCMCIA_CIS_3COM_3CXEM556B,
+           0,
+           "3Com Corporation",
+           "3Com/Megahertz 3CXEM556B-INT Ethernet/Modem"       },
        },
        {
            PCMCIA_VENDOR_COMPEX, PCMCIA_PRODUCT_COMPEX_LINKPORT_ENET_B,

>Audit-Trail:
>Unformatted: