Subject: kern/23710: 3Com 3CCFEM656 Cardbus Combo card is not recognized
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <dheeraj@ece.gatechc.edu>
List: netbsd-bugs
Date: 12/10/2003 13:08:43
>Number:         23710
>Category:       kern
>Synopsis:       3Com 3CCFEM656 Cardbus Combo card is not recognized
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Wed Dec 10 13:09:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Dheeraj Reddy
>Release:        NetBSD 1.6ZG
>Organization:
--
>Environment:
$ uname -a
NetBSD vagisha 1.6ZG NetBSD 1.6ZG (VAGISHA) #0: Fri Dec  5 20:53:00 EST 2003  root@vagisha:/usr/obj/sys/arch/i386/compile/VAGISHA i386
>Description:
The 3Com 3CCFEM656 Cardbus combo cards are not recognized even though it is supported by the ex and the com driver. The attached patch adds relevant definitions so that the card is recognized.
>How-To-Repeat:
Insert an 3CCFEM656 combo card into the type II slot.

>Fix:
$ cat /tmp/patch                                                               
--- if_ex_cardbus.c.~1.28.~     2003-11-02 04:56:38.000000000 -0500
+++ if_ex_cardbus.c     2003-12-06 12:45:41.000000000 -0500
@@ -152,7 +152,13 @@
              CARDBUS_COMMAND_MASTER_ENABLE,
          EX_CB_CYCLONE,
          "3c575CT Ethernet" },
-
+       { CARDBUS_PRODUCT_3COM_3C656_E,
+         EX_CONF_90XB | EX_CONF_PHY_POWER | EX_CONF_EEPROM_OFF |
+         EX_CONF_EEPROM_8BIT | EX_CONF_INV_LED_POLARITY,
+         CARDBUS_COMMAND_IO_ENABLE | CARDBUS_COMMAND_MEM_ENABLE |
+         CARDBUS_COMMAND_MASTER_ENABLE,
+         EX_CB_CYCLONE,
+         "3c656 Ethernet" },
        { 0,
          0,
          0,
--- com_cardbus.c.~1.9.~        2002-10-02 12:33:41.000000000 -0400
+++ com_cardbus.c       2003-12-06 14:54:13.000000000 -0500
@@ -91,7 +91,9 @@
        { CARDBUS_VENDOR_XIRCOM, CARDBUS_PRODUCT_XIRCOM_MODEM56,
          CARDBUS_BASE0_REG, CARDBUS_MAPREG_TYPE_IO },
        { CARDBUS_VENDOR_INTEL, CARDBUS_PRODUCT_INTEL_MODEM56,
-         CARDBUS_BASE0_REG, CARDBUS_MAPREG_TYPE_IO }
+         CARDBUS_BASE0_REG, CARDBUS_MAPREG_TYPE_IO },
+       { CARDBUS_VENDOR_3COM, CARDBUS_PRODUCT_3COM_MODEM56,
+         CARDBUS_BASE0_REG, CARDBUS_MAPREG_TYPE_IO },
 };
 
 static const int ncsdevs = sizeof(csdevs) / sizeof(csdevs[0]);
--- cardbusdevs.~1.27.~ 2003-10-24 13:04:16.000000000 -0400
+++ cardbusdevs 2003-12-06 03:14:42.000000000 -0500
@@ -79,7 +79,8 @@
 product 3COM 3C575TX   0x5057  3c575-TX
 product 3COM 3C575BTX  0x5157  3CCFE575BT
 product 3COM 3C575CTX  0x5257  3CCFE575CT
-product 3COM 3C656_E   0x6560  3CCFEM656 10/100 Ethernet
+product 3COM 3C656_E   0x6560  3CCFEM656 10/100 Ethernet dhee
+product 3COM MODEM56   0x6561  3CCFEM656 56k Modem  dhee
 product 3COM 3C656B_E  0x6562  3CCFEM656B 10/100 Ethernet
 product 3COM 3C656C_E  0x6564  3CXFEM656C 10/100 Ethernet
 
$ 
------------------

Ethernet is working fine and the com device shows up. i haven;t been able to test the modem completely although it dials fine.
>Release-Note:
>Audit-Trail:
>Unformatted: