NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/38382: support for Sierra Wireless Aircard 850



>Number:         38382
>Category:       kern
>Synopsis:       support for Sierra Wireless Aircard 850
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Mon Apr 07 12:45:00 +0000 2008
>Originator:     Jean-Yves Moulin
>Release:        NetBSD-current  4.99.58
>Organization:
>Environment:
NetBSD dodo.baaz.fr 4.99.58 NetBSD 4.99.58 (NIGLO) #25: Sat Mar  8 17:53:41 CET 
2008  jym%dodo.baaz.fr@localhost:/usr/obj/sys/arch/i386/compile/DODO i386

>Description:
"Sierra Wireless Aircard 850" (GPRS/EDGE/USDPA) pcmcia card is not supported on 
NetBSD.
>How-To-Repeat:
Boot NetBSD and insert Aircard 850.
>Fix:
Add quirks to pcmcia_cis_quirks.c:

--- /usr/src-NetBSD-current/sys/dev/pcmcia/pcmcia_cis_quirks.c  2007-02-10 
04:16:07.000000000 +0100
+++ /usr/src-NetBSD-modified/sys/dev/pcmcia/pcmcia_cis_quirks.c 2008-03-31 
15:46:13.000000000 +0200
@@ -216,6 +216,27 @@
        .irqmask = 0x86bc,              /* irqmask */
 };

+
+
+static const struct pcmcia_function pcmcia_sierra_ac850_func0 = {
+       .number = 0,                    /* function number */
+       .function = PCMCIA_FUNCTION_SERIAL,
+       .last_config_index = 0x24,      /* last cfe number */
+       .ccr_base = 0x700,              /* ccr_base */
+       .ccr_mask = 0x73,               /* ccr_mask */
+};
+
+static const struct pcmcia_config_entry pcmcia_sierra_ac850_cfe0 = {
+       .number = 0x22,         /* cfe number */
+       .flags = PCMCIA_CFE_IO8 | PCMCIA_CFE_IRQLEVEL,
+       .iftype = PCMCIA_IFTYPE_IO,
+       .num_iospace = 1,       /* num_iospace */
+       .iomask = 0,            /* iomask */
+       .iospace = { { .length = 0x0008, .start = 0x3e8 } },    /* iospace */
+       .irqmask = 0x3fbc,      /* irqmask */
+};
+
+
 static const struct pcmcia_cis_quirk pcmcia_cis_quirks[] = {
        { PCMCIA_VENDOR_3COM, PCMCIA_PRODUCT_3COM_3CXEM556,
          PCMCIA_CIS_INVALID,
@@ -251,6 +272,10 @@
          PCMCIA_CIS_INVALID,
          &pcmcia_necinfrontia_ax420n_func0,
          &pcmcia_necinfrontia_ax420n_func0_cfe0 },
+       { PCMCIA_VENDOR_SIERRA, PCMCIA_PRODUCT_SIERRA_AC850,
+         PCMCIA_CIS_INVALID,
+         &pcmcia_sierra_ac850_func0,
+         &pcmcia_sierra_ac850_cfe0 },
 };

 static const int pcmcia_cis_nquirks =
--- /usr/src-NetBSD-current/sys/dev/pcmcia/pcmciadevs   2007-09-22 
21:59:55.000000000 +0200
+++ /usr/src-NetBSD-modified/sys/dev/pcmcia/pcmciadevs  2008-03-31 
15:55:00.000000000 +0200
@@ -79,6 +79,7 @@
 vendor PSION                   0x016c  Psion
 vendor COMPAQ2                 0x0183  Compaq
 vendor KINGSTON                        0x0186  Kingston
+vendor SIERRA                  0x0192  Sierra Wireless
 vendor DAYNA                   0x0194  Dayna Corporation
 vendor RAYTHEON                        0x01a6  Raytheon
 vendor IODATA                  0x01bf  I-O DATA
@@ -379,6 +380,9 @@
 /* Sharp Products */
 product        SHARP   PALDIO611S      0x0000  PALDIO 611S PC CARD

+/* Sierra Wireless */
+product SIERRA AC850           0x0710 AC850
+
 /* Simple Technology Products */
 product SIMPLETECH COMMUNICATOR288 0x0100 Simple Technology 28.8 Communicator
 /* Simpletech ID also used by Symbol */
--- /usr/src-NetBSD-current/sys/dev/pcmcia/pcmciadevs.h 2007-09-22 
22:01:21.000000000 +0200
+++ /usr/src-NetBSD-modified/sys/dev/pcmcia/pcmciadevs.h        2008-03-31 
15:54:45.000000000 +0200
@@ -86,6 +86,7 @@
 #define        PCMCIA_VENDOR_PSION     0x016c  /* Psion */
 #define        PCMCIA_VENDOR_COMPAQ2   0x0183  /* Compaq */
 #define        PCMCIA_VENDOR_KINGSTON  0x0186  /* Kingston */
+#define        PCMCIA_VENDOR_SIERRA    0x0192  /* Sierra Wireless */
 #define        PCMCIA_VENDOR_DAYNA     0x0194  /* Dayna Corporation */
 #define        PCMCIA_VENDOR_RAYTHEON  0x01a6  /* Raytheon */
 #define        PCMCIA_VENDOR_IODATA    0x01bf  /* I-O DATA */
@@ -530,6 +531,10 @@
 #define        PCMCIA_CIS_SIMPLETECH_SPECTRUM24        { NULL, NULL, NULL, 
NULL }
 #define        PCMCIA_PRODUCT_SIMPLETECH_SPECTRUM24    0x801

+/* Sierra Wireless Products */
+#define        PCMCIA_CIS_SIERRA_AC850 { NULL, NULL, NULL, NULL }
+#define        PCMCIA_PRODUCT_SIERRA_AC850     0x0710
+
 /* Standard Microsystems Corporation Products */
 #define        PCMCIA_CIS_SMC_8016     { NULL, NULL, NULL, NULL }
 #define        PCMCIA_PRODUCT_SMC_8016 0x0105



Home | Main Index | Thread Index | Old Index