Subject: Re: Trouble with Socket Dual Serial Port PCMCIA Card
To: None <netbsd-users@netbsd.org>
From: Christos Zoulas <christos@astron.com>
List: netbsd-users
Date: 11/10/2006 17:07:13
In article <20061110194140.b8e7f71a.joerg.bsd@internode.net.au>,
Joerg Niendorf  <joerg.bsd@internode.net.au> wrote:
>Hi folks,
>
>Sorry for cross-posting, but after sending this to the bugs mailing list
>I was advised that this was the more appropriate list. So here it is
>once more:
>
>
>I just spent mega-bucks on a Socket Dual Serial Port PCMCIA Card
>as I don't like those USB<->RS232 converters and this PCMCIA card
>is metioned here: http://www.netbsd.org/Hardware/pcmcia.html
>
>I built the kernel with cbb, cardslot, cardbus, pcmcia, pcmcom and
>com support but unfortunately, the pcmcom driver, which is necessary
>for these dual-port cards, is not being configured. Consequently, no
>serial ports are available.
>
>It looks like the product ID of this card (0xa1) differs from the
>relevant entry in src/sys/dev/pcmcia/pcmciadevs:
>product SOCKET DUAL_RS232  0x0006 Socket Communications Dual RS232
>
>So my card seems to be a newer/different hardware revision.
>
>Is there a way to make this thing work? That would be _really_ great!
>
>Cheers,
>Joerg
>

Try this:
Index: pcmciadevs
===================================================================
RCS file: /cvsroot/src/sys/dev/pcmcia/pcmciadevs,v
retrieving revision 1.219
diff -u -u -r1.219 pcmciadevs
--- pcmciadevs	23 Sep 2006 15:39:51 -0000	1.219
+++ pcmciadevs	10 Nov 2006 17:06:40 -0000
@@ -390,6 +390,7 @@
 product SOCKET DUAL_RS232	0x0006 Socket Communications Dual RS232
 product SOCKET LP_ETHER		0x000d Socket Communications LP-E
 product SOCKET LP_ETHER_CF	0x0075 Socket Communications LP-E CF
+product SOCKET DUAL_RS232_A	0x00a1 Socket Communications Dual RS232_A
 product SOCKET LP_ETH_10_100_CF	0x0145 Socket Communications 10/100 Ethernet
 
 /* SpeedStream */
Index: pcmciadevs.h
===================================================================
RCS file: /cvsroot/src/sys/dev/pcmcia/pcmciadevs.h,v
retrieving revision 1.222
diff -u -u -r1.222 pcmciadevs.h
--- pcmciadevs.h	23 Sep 2006 15:40:16 -0000	1.222
+++ pcmciadevs.h	10 Nov 2006 17:06:41 -0000
@@ -1,4 +1,4 @@
-/*	$NetBSD: pcmciadevs.h,v 1.222 2006/09/23 15:40:16 jmcneill Exp $	*/
+/*	$NetBSD$	*/
 
 /*
  * THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.
@@ -542,6 +542,8 @@
 #define	PCMCIA_PRODUCT_SOCKET_LP_ETHER	0x000d
 #define	PCMCIA_CIS_SOCKET_LP_ETHER_CF	{ NULL, NULL, NULL, NULL }
 #define	PCMCIA_PRODUCT_SOCKET_LP_ETHER_CF	0x0075
+#define	PCMCIA_CIS_SOCKET_DUAL_RS232_A	{ NULL, NULL, NULL, NULL }
+#define	PCMCIA_PRODUCT_SOCKET_DUAL_RS232_A	0x00a1
 #define	PCMCIA_CIS_SOCKET_LP_ETH_10_100_CF	{ NULL, NULL, NULL, NULL }
 #define	PCMCIA_PRODUCT_SOCKET_LP_ETH_10_100_CF	0x0145
 
Index: pcmciadevs_data.h
===================================================================
RCS file: /cvsroot/src/sys/dev/pcmcia/pcmciadevs_data.h,v
retrieving revision 1.222
diff -u -u -r1.222 pcmciadevs_data.h
--- pcmciadevs_data.h	23 Sep 2006 15:40:16 -0000	1.222
+++ pcmciadevs_data.h	10 Nov 2006 17:06:42 -0000
@@ -1,4 +1,4 @@
-/*	$NetBSD: pcmciadevs_data.h,v 1.222 2006/09/23 15:40:16 jmcneill Exp $	*/
+/*	$NetBSD$	*/
 
 /*
  * THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.
@@ -1079,6 +1079,13 @@
 	    "Socket Communications LP-E CF",	}
 	,
 	{
+	    PCMCIA_VENDOR_SOCKET, PCMCIA_PRODUCT_SOCKET_DUAL_RS232_A,
+	    PCMCIA_CIS_SOCKET_DUAL_RS232_A,
+	    0,
+	    "Socket Communications",
+	    "Socket Communications Dual RS232_A",	}
+	,
+	{
 	    PCMCIA_VENDOR_SOCKET, PCMCIA_PRODUCT_SOCKET_LP_ETH_10_100_CF,
 	    PCMCIA_CIS_SOCKET_LP_ETH_10_100_CF,
 	    0,
Index: pcmcom.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pcmcia/pcmcom.c,v
retrieving revision 1.28
diff -u -u -r1.28 pcmcom.c
--- pcmcom.c	12 Oct 2006 01:31:50 -0000	1.28
+++ pcmcom.c	10 Nov 2006 17:06:42 -0000
@@ -107,6 +107,8 @@
 const struct pcmcia_product pcmcom_products[] = {
 	{ PCMCIA_VENDOR_SOCKET, PCMCIA_PRODUCT_SOCKET_DUAL_RS232,
 	  PCMCIA_CIS_INVALID },
+	{ PCMCIA_VENDOR_SOCKET, PCMCIA_PRODUCT_SOCKET_DUAL_RS232_A,
+	  PCMCIA_CIS_INVALID },
 };
 const size_t pcmcom_nproducts =
     sizeof(pcmcom_products) / sizeof(pcmcom_products[0]);