Sierra Wireless / AC775 / Loading an external cisfile as a
'quirck'
Dirk-Willem van Gulik
dirkx at webweaving.org
Tue Nov 15 12:01:49 GMT 2005
After a hint from Warner - with the quirck from OpenBSD, see below; I am
getting the AC775 nicely detected and showing sensible values; but the
attaching of the expected sio(4) driver failes with a:
pccard0: check_cis_quirks
pccard0: using CIS quirks for Sierra Wireless, AC775, EDGE Network Adapter, R1
pccard0: CIS version PC Card Standard 7.0
pccard0: CIS info: Sierra Wireless, AC775, EDGE Network Adapter, R1
pccard0: Manufacturer code 0x192, product 0x710
pccard0: function 1: serial port, ccr addr 700 mask 73
pccard0: function 1, config table entry 32: I/O card; irq mask 3fbc; iomask 0, iospace 3f8-3ff; io8 irqlevel
pccard0: functions scanning
pccard0: Card has 1 functions. pccard_mfc is 0
pccard0: (dirkx) values on Mac/Windows: index 0x20 Vcc 5.0 irq 255 io 0x03f8-3ff
pccard0: I/O rid 0 start 3f8 end 3ff
pccard0: (dirkx) bus_alloc_resource on 452 failed for SYS_RES_IOPORT
pccard0: Allocation failed for cfe 32
pccard0: No config entry could be allocated.
(complete verbose dmesg on http://people.apache.org/~dirkx/ac775/)
on a Soekris, a normal PC and a Sony VAIO. Can anyone give me a hint as to
where to start debugging this ? Is there a subtle netbsd quirck difference
biting me ? Does any of the above values look suspicious ?
Thanks,
Dw
diff pccard_cis_quirks.c.org pccard_cis_quirks.c
> static struct pccard_function pcmcia_sierra_a555_func1 = {
> 1, /* function number */
> PCCARD_FUNCTION_SERIAL,
> 0x24, /* last cfe number */
> 0x700, /* ccr_base */
> 0x73, /* ccr_mask */
> };
>
> static struct pccard_config_entry pcmcia_sierra_a555_func1_cfe0 = {
> 0x20, /* cfe number */
> PCCARD_CFE_IO8 | PCCARD_CFE_IRQLEVEL, PCCARD_IFTYPE_IO,
> 1, /* num_iospace */
> 0, /* iomask */
> { { 0x0008, 0x3f8 } }, /* iospace */
> 0x3fbc, /* irqmask */
> 0, /* num_memspace */
> { }, /* memspace */
> 0, /* maxtwins */
> };
> /* Sierra */
> #define PCMCIA_VENDOR_SIERRA 0x0192
> #define PCMCIA_CIS_SIERRA_AC710 { NULL, NULL, NULL, NULL }
> #define PCMCIA_PRODUCT_SIERRA_AC710 0x0710
> #define PCMCIA_CIS_SIERRA_A550 { NULL, NULL, NULL, NULL }
> #define PCMCIA_PRODUCT_SIERRA_A550 0xa550
> #define PCMCIA_CIS_SIERRA_A555 { NULL, NULL, NULL, NULL }
> #define PCMCIA_PRODUCT_SIERRA_A555 0xa555
> #define PCMCIA_CIS_SIERRA_A710 { NULL, NULL, NULL, NULL }
> #define PCMCIA_PRODUCT_SIERRA_A710 0xa710
>
183a214,225
> { PCMCIA_VENDOR_SIERRA, PCMCIA_PRODUCT_SIERRA_A550,
> PCMCIA_CIS_INVALID,
> &pcmcia_sierra_a555_func1, &pcmcia_sierra_a555_func1_cfe0 },
> { PCMCIA_VENDOR_SIERRA, PCMCIA_PRODUCT_SIERRA_A555,
> PCMCIA_CIS_INVALID,
> &pcmcia_sierra_a555_func1, &pcmcia_sierra_a555_func1_cfe0 },
> { PCMCIA_VENDOR_SIERRA, PCMCIA_PRODUCT_SIERRA_A710,
> PCMCIA_CIS_INVALID,
> &pcmcia_sierra_a555_func1, &pcmcia_sierra_a555_func1_cfe0 },
> { PCMCIA_VENDOR_SIERRA, PCMCIA_PRODUCT_SIERRA_AC710,
> PCMCIA_CIS_INVALID,
> &pcmcia_sierra_a555_func1, &pcmcia_sierra_a555_func1_cfe0 },
More information about the freebsd-hackers
mailing list