Subject: kern/23193: add support for Intel EtherExpress(TM) PRO/100 LAN/Modem PC Card Adapter
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <GBC01623@nifty.com>
List: netbsd-bugs
Date: 10/19/2003 16:56:05
>Number:         23193
>Category:       kern
>Synopsis:       add support for Intel EtherExpress(TM) PRO/100 LAN/Modem PC Card Adapter
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          support
>Submitter-Id:   net
>Arrival-Date:   Sun Oct 19 16:57:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Koizumi Noriyuki
>Release:        Add support for Intel EtherExpress(TM) PRO/100 LAN/Modem PC Card Adapter
>Organization:
>Environment:
NetBSD libretto 1.6ZD NetBSD 1.6ZD (LIBRETTO) #27: Mon Oct 20 01:34:47 JST 2003  koizumi@desktop:/usr/src/sys/arch/i386/compile/LIBRETTO i386
>Description:
Add support for Intel EtherExpress(TM) PRO/100 LAN/Modem PC Card Adapter.

I think that this card is the same as that of Xircom RealPort 10/100 Ethernet + Modem. 

This PC card is also ethernet work, but modem don't work.
See, xi(4).

pcmcia0: CIS version PC Card Standard 5.0
pcmcia0: CIS info: Intel, EtherExpress(TM) PRO/100 LAN/Modem PC Card Adapter, PRO/100 M16B, 1.00
pcmcia0: Manufacturer code 0x89, product 0x110a
pcmcia0: function 0: serial port, ccr addr ff80 mask 67
pcmcia0: function 0, config table entry 39: I/O card; irq mask 8ebc; iomask a, iospace 2e8-2ef; mwait_required rdybsy_active io8 io16 irqshare irqpulse irqlevel powerdown
pcmcia0: function 0, config table entry 31: I/O card; irq mask 8ebc; iomask a, iospace 3e8-3ef; mwait_required rdybsy_active io8 io16 irqshare irqpulse irqlevel powerdown
pcmcia0: function 0, config table entry 23: I/O card; irq mask 8ebc; iomask a, iospace 2f8-2ff; mwait_required rdybsy_active io8 io16 irqshare irqpulse irqlevel powerdown
pcmcia0: function 0, config table entry 15: I/O card; irq mask 8ebc; iomask a, iospace 3f8-3ff; mwait_required rdybsy_active io8 io16 irqshare irqpulse irqlevel powerdown
pcmcia0: function 0, config table entry 63: I/O card; irq mask 8ebc; iomask 3, iospace 0-7; mwait_required rdybsy_active io8 io16 irqshare irqpulse irqlevel powerdown
pcmcia0: function 1: network adapter, ccr addr 0 mask 0
xi0 at pcmcia0 function 0: Intel EtherExpress(TM) PRO/100 LAN/Modem PC Card Adapter
xi0: Ethernet address 00:a0:c9:87:10:d8
icsphy0 at xi0 phy 0: ICS1890 10/100 media interface, rev. 3
icsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto

# ifconfig xi0 192.168.10.9 netmask 255.255.255.240 media 100baseTX
# ping -n 192.168.10.1
PING 192.168.10.1 (192.168.10.1): 56 data bytes
64 bytes from 192.168.10.1: icmp_seq=0 ttl=30 time=1.942 ms
64 bytes from 192.168.10.1: icmp_seq=1 ttl=30 time=1.159 ms
64 bytes from 192.168.10.1: icmp_seq=2 ttl=30 time=1.170 ms
64 bytes from 192.168.10.1: icmp_seq=3 ttl=30 time=1.162 ms
^C

>How-To-Repeat:

>Fix:
This is the patch.

Index: src/sys/dev/pcmcia/if_xi.c
===================================================================
RCS file: /cvs/NetBSD/cvsroot/src/sys/dev/pcmcia/if_xi.c,v
retrieving revision 1.31
diff -c -3 -r1.31 if_xi.c
*** src/sys/dev/pcmcia/if_xi.c	23 Jun 2003 11:01:59 -0000	1.31
--- src/sys/dev/pcmcia/if_xi.c	10 Oct 2003 19:21:13 -0000
***************
*** 271,276 ****
--- 271,279 ----
  	{ PCMCIA_VENDOR_XIRCOM,		0x1147,
  	  0,				XIFLAGS_MOHAWK | XIFLAGS_DINGO | XIFLAGS_MODEM,
  	  PCMCIA_STR_XIRCOM_REM56 },
+ 	{ PCMCIA_VENDOR_INTEL,		0x1146,
+ 	  0,				XIFLAGS_MOHAWK | XIFLAGS_DINGO | XIFLAGS_MODEM,
+ 	  PCMCIA_STR_INTEL_EEPRO100_M16B },
  	{ 0,				0,
  	  0,				0,
  	  NULL },
***************
*** 349,356 ****
  	void *aux;
  {
  	struct pcmcia_attach_args *pa = aux;
! 	
! 	if (pa->manufacturer == PCMCIA_VENDOR_XIRCOM &&
  	    pa->product == 0x110a)
  		return (2); /* prevent attach to com_pcmcia */
  	if (pa->pf->function != PCMCIA_FUNCTION_NETWORK)
--- 352,360 ----
  	void *aux;
  {
  	struct pcmcia_attach_args *pa = aux;
! 
! 	if ((pa->manufacturer == PCMCIA_VENDOR_XIRCOM ||
! 	     pa->manufacturer == PCMCIA_VENDOR_INTEL ) &&
  	    pa->product == 0x110a)
  		return (2); /* prevent attach to com_pcmcia */
  	if (pa->pf->function != PCMCIA_FUNCTION_NETWORK)
***************
*** 364,370 ****
  	   pa->product == PCMCIA_PRODUCT_INTEL_EEPRO100)
  		return (1);
  
! 	if (pa->manufacturer == PCMCIA_VENDOR_XIRCOM &&
  	    ((pa->product >> 8) == XIMEDIA_ETHER ||
  	    (pa->product >> 8) == (XIMEDIA_ETHER | XIMEDIA_MODEM)))
  		return (1);
--- 368,375 ----
  	   pa->product == PCMCIA_PRODUCT_INTEL_EEPRO100)
  		return (1);
  
! 	if ((pa->manufacturer == PCMCIA_VENDOR_XIRCOM ||
! 	     pa->manufacturer == PCMCIA_VENDOR_INTEL) &&
  	    ((pa->product >> 8) == XIMEDIA_ETHER ||
  	    (pa->product >> 8) == (XIMEDIA_ETHER | XIMEDIA_MODEM)))
  		return (1);
Index: src/sys/dev/pcmcia/pcmciadevs
===================================================================
RCS file: /cvs/NetBSD/cvsroot/src/sys/dev/pcmcia/pcmciadevs,v
retrieving revision 1.186
diff -c -3 -r1.186 pcmciadevs
*** src/sys/dev/pcmcia/pcmciadevs	16 Sep 2003 08:26:37 -0000	1.186
--- src/sys/dev/pcmcia/pcmciadevs	10 Oct 2003 18:35:38 -0000
***************
*** 224,229 ****
--- 224,230 ----
  /* Intel Products */
  product INTEL PRO_WLAN_2011	0x0001 Intel PRO/Wireless 2011 LAN PC Card
  product INTEL EEPRO100		0x010a Intel EtherExpress PRO/100
+ product INTEL EEPRO100_M16B	0x110a Intel EtherExpress(TM) PRO/100 LAN/Modem PC Card Adapter
  
  /* I-O DATA */
  product IODATA PCLATE		0x2216 I-O DATA PCLA/TE

>Release-Note:
>Audit-Trail:
>Unformatted: