PCMCIA wireless CDMA card

Russell King rmk+pcmcia at arm.linux.org.uk
Mon Feb 18 16:00:34 EST 2008


On Mon, Apr 16, 2007 at 12:54:58AM -0400, Brian Walsh wrote:
> I have a CDMA wireless card which I am trying to bring up.  However it does
> not seem to be responding properly.  When trying to minicom to the device
> to get an AT response I just get a bunch of garbage in the terminal
> suggesting to me that it is not talking at a valid baud rate.

Right, finally, some news on these cards, thanks should go to Brian
sending me his card (and appologies that I've not looked at it earlier.)
They can be made to work by:

# setserial $SERIAL_DEVICE baud_base 960000

then talk to the card at 230400 and issue standard AT commands.

Alternatively, the patch below sets the UART clock rate automatically.
However, I'm not sure if its worth submitting into the kernel tree or
not - are these cards current technology?

diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c
index 164d2a4..79ce481 100644
--- a/drivers/serial/serial_cs.c
+++ b/drivers/serial/serial_cs.c
@@ -161,6 +161,17 @@ static void quirk_wakeup_oxsemi(struct pcmcia_device *link)
 	outb(12, info->c950ctrl + 1);
 }
 
+/*
+ * "CDMA" "CARD_A".  Seems to have a non-standard clock rate of 15.36MHz
+ * and initially communicates at 230400 baud (confirmed by AT+IPR=?). --rmk
+ */
+static void quirk_setup_oxsemi(struct pcmcia_device *link, struct uart_port *port)
+{
+	if (link->prod_id[0] && strcmp(link->prod_id[0], "CDMA") &&
+	    link->prod_id[1] && strcmp(link->prod_id[1], "CARD_A"))
+		port->uartclk = 15360000;
+}
+
 /* request_region? oxsemi branch does no request_region too... */
 /*
  * This sequence is needed to properly initialize MC45 attached to OXCF950.
@@ -233,6 +244,7 @@ static const struct serial_quirk quirks[] = {
 		.prodid	= ~0,
 		.multi	= -1,
 		.wakeup	= quirk_wakeup_oxsemi,
+		.setup	= quirk_setup_oxsemi,
 	}, {
 		.manfid	= MANFID_POSSIO,
 		.prodid	= PRODID_POSSIO_GCC,


-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:



More information about the linux-pcmcia mailing list