Subject: Re: 3Com Megahertz 3CCFEM656B
To: None <port-i386@netbsd.org, ksulliva@psc.edu>
From: Matt Ragan <mdr@wayport.net>
List: port-i386
Date: 03/09/2001 09:53:43
Kevin Sullivan wrote:

> Neither 1.5 nor -current seems to have support for the 3Com Megahertz
> 3CCFEM656-B card (cardbus, lan+modem).  I've included the relevent boot
> messages below.  How hard would it be to support this card?
>
> I have to decide whether to keep this card or have work buy me another
> one.  "A bird in the hand..."
>
>         -Kevin
>
> 3Com Corporation, 3CCFEM656B-LAN, LAN, 1 (manufacturer 0x0, product 0x0)
> 3Com product 0x6562 (ethernet network, revision 0x02) at cardbus0 dev 0
> function 0 not configured
> 3Com Corporation, 3CCFEM656B-MDM, MDM, 1 (manufacturer 0x0, product 0x0)
> 3Com product 0x6563 (miscellaneous communications, revision 0x02) at
> cardbus0 dev 0 function 1 not configured
>

This card is essentially a 3C575C with an integrated modem on the card
as
well.  I have one of these kind of working in the system that I'm using
right now.  That is, the LAN side works fine, the modem side, while it
detects, is completely unusable.  Any attempt at accessing it gives:

com3: com_iflush timeout 20
com3: com_iflush timeout 00
com3: com_iflush timeout 08
com3: com_iflush timeout 08
com3: com_iflush timeout 28

Here are the appropriate dmesg lines for the card:

ex0 at cardbus1 dev 0 function 0: 3Com 3c656C Ethernet
ex0: MAC address 00:50:da:ab:94:6d
tqphy0 at ex0 phy 0: 78Q2120 10/100 media interface, rev. 11
tqphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
com3 at cardbus1 dev 0 function 1: 3Com Corporation 3CXFEM656C-MDM
com3: ns8250 or ns16450, no fifo

In order to get the card to probe, I had to edit
/sys/cardbus/cardbusdevs
and add the following two lines:

product 3COM 3C656C_E   0x6564  3CXFEM656C 10/100 Ethernet
product 3COM MODEM56    0x6565  3CXFEM656C 56K Modem

then run a 'make -f Makefile.cardbusdevs' in that directory, then apply
the
following patch to if_ex_cardbus.c in that directory:

*** if_ex_cardbus.c     Fri Mar  9 09:50:12 2001
--- save/if_ex_cardbus.c        Fri Feb 16 14:29:11 2001
***************
*** 152,157 ****
--- 152,165 ----
          EX_CB_CYCLONE,
          "3c575CT Ethernet" },

+       { CARDBUS_PRODUCT_3COM_3C656C_E,
+         EX_CONF_90XB | EX_CONF_PHY_POWER | EX_CONF_EEPROM_OFF |
+           EX_CONF_EEPROM_8BIT,
+         CARDBUS_COMMAND_IO_ENABLE | CARDBUS_COMMAND_MEM_ENABLE |
+             CARDBUS_COMMAND_MASTER_ENABLE,
+         EX_CB_CYCLONE,
+         "3c656C Ethernet" },
+
        { 0,
          0,
          0,