Sierra Wireless / AC775 / Loading an external cisfile as a 'quirck'

Dirk-Willem van Gulik dirkx at webweaving.org
Sat Nov 12 15:45:08 GMT 2005


I've got the (correct) CIS files below for a Sierra Wireeless Airnet 775
(AC775) card. The actual data on the card (see second cut-and-paste) is
wrong (i.e. multi function instead of a modem).

So I am looking for a way to either import a CIS file dynamically; at run
time - or to translate a CIS file in what I assume should be a quirk entry
in the file /sys/dev/pccard/pccard_cis_quirks.c (is that corect) ?

I.e. something akin to:

	#cat SW_775_SER.dat > /dev/pccard0.cis

Looking for a solution on either 5, 6 or CURRENT.

Any hints - or guidance how to best map this into the quirk section - as
the fields are not quite clear to me.

Dw

-- part 1 - supposedly correct CIS file as supplied
for other OS-es.

dirkx at test $ pccardc dumpcisfile SW_775_SER.dat
Configuration data for file SW_775_SER.dat
Tuple #1, code = 0x1 (Common memory descriptor), length = 1
    000:  ff
Tuple #2, code = 0x17 (Attribute memory descriptor), length = 3
    000:  41 00 ff
        Attribute memory device information:
                Device number 1, type EEPROM, WPS = OFF
                Speed = 250nS, Memory block size = 512b, 1 units
Tuple #3, code = 0x20 (Manufacturer ID), length = 4
    000:  92 01 10 07
        PCMCIA ID = 0x192, OEM ID = 0x710
Tuple #4, code = 0x21 (Functional ID), length = 2
    000:  02 00
        Serial port/modem
Tuple #5, code = 0x15 (Version 1 info), length = 49
    000:  07 00 53 69 65 72 72 61 20 57 69 72 65 6c 65 73
    010:  73 00 41 43 37 37 35 00 45 44 47 45 20 4e 65 74
    020:  77 6f 72 6b 20 41 64 61 70 74 65 72 00 52 31 00
    030:  ff
        Version = 7.0, Manuf = [Sierra Wireless], card vers = [AC775]
        Addit. info = [EDGE Network Adapter],[R1]
Tuple #6, code = 0x1a (Configuration map), length = 5
    000:  01 03 00 07 73
        Reg len = 2, config register addr = 0x700, last config = 0x3
        Registers: XX--XXX-
Tuple #7, code = 0x1b (Configuration entry), length = 16
    000:  e0 01 19 78 4d 55 5d 25 a3 60 f8 03 07 30 bc 86
        Config index = 0x20(default)
        Interface byte = 0x1 (I/O)
        Vcc pwr:
                Continuous supply current: 4.5 x 10mA
                Max current average over 1 second: 5 x 10mA
                Max current average over 10 ms: 5.5 x 10mA
                Power down supply current: 2 x 10mA
        Card decodes 3 address lines, 8 Bit I/O only
                I/O address # 1: block start = 0x3f8 block length = 0x8
                IRQ modes: Level
                IRQs:  2 3 4 5 7 9 10 15
Tuple #8, code = 0x1b (Configuration entry), length = 8
    000:  a1 01 08 a3 60 f8 02 07
        Config index = 0x21
        Interface byte = 0x1 (I/O)
        Card decodes 3 address lines, 8 Bit I/O only
                I/O address # 1: block start = 0x2f8 block length = 0x8
Tuple #9, code = 0x1b (Configuration entry), length = 8
    000:  a2 01 08 a3 60 e8 03 07
        Config index = 0x22
        Interface byte = 0x1 (I/O)
        Card decodes 3 address lines, 8 Bit I/O only
                I/O address # 1: block start = 0x3e8 block length = 0x8
Tuple #10, code = 0x1b (Configuration entry), length = 8
    000:  a3 01 08 a3 60 e8 02 07
        Config index = 0x23
        Interface byte = 0x1 (I/O)
        Card decodes 3 address lines, 8 Bit I/O only
                I/O address # 1: block start = 0x2e8 block length = 0x8
Tuple #11, code = 0x1b (Configuration entry), length = 4
    000:  a4 01 08 23
        Config index = 0x24
        Interface byte = 0x1 (I/O)
        Card decodes 3 address lines, 8 Bit I/O only
Tuple #12, code = 0x14 (No link), length = 0
Tuple #13, code = 0xff (Terminator), length = 0

ACtual stuff on the card

root at builld-jv# pccardc dumpcisfile /dev/pccard0.cis
Configuration data for file /dev/pccard0.cis
Tuple #1, code = 0x1 (Common memory descriptor), length = 2
    000:  00 ff
        Common memory device information:
                Device number 1, type No device, WPS = OFF
                Speed = No speed, Memory block size = reserved, 32 units
Tuple #2, code = 0x17 (Attribute memory descriptor), length = 3
    000:  41 00 ff
        Attribute memory device information:
                Device number 1, type EEPROM, WPS = OFF
                Speed = 250nS, Memory block size = 512b, 1 units
Tuple #3, code = 0x20 (Manufacturer ID), length = 4
    000:  92 01 10 07
        PCMCIA ID = 0x192, OEM ID = 0x710
Tuple #4, code = 0x21 (Functional ID), length = 2
    000:  06 00
        Network/LAN adapter
Tuple #5, code = 0x15 (Version 1 info), length = 49
    000:  07 00 53 69 65 72 72 61 20 57 69 72 65 6c 65 73
    010:  73 00 41 43 37 37 35 00 45 44 47 45 20 4e 65 74
    020:  77 6f 72 6b 20 41 64 61 70 74 65 72 00 52 31 00
    030:  ff
        Version = 7.0, Manuf = [Sierra Wireless], card vers = [AC775]
        Addit. info = [EDGE Network Adapter],[R1]
Tuple #6, code = 0x1a (Configuration map), length = 5
    000:  01 03 00 07 73
        Reg len = 2, config register addr = 0x700, last config = 0x3
        Registers: XX--XXX-
Tuple #7, code = 0x1b (Configuration entry), length = 9
    000:  c1 41 19 01 55 66 30 f8 ff
        Config index = 0x1(default)
        Interface byte = 0x41 (I/O)  +RDY/-BSY active
        Vcc pwr:
                Nominal operating supply voltage: 5 x 1V
        Card decodes 6 address lines, full 8/16 Bit I/O
                IRQ modes: Level
                IRQs:  3 4 5 6 7 8 9 10 11 12 13 14 15
Tuple #8, code = 0xff (Terminator), length = 0



More information about the freebsd-hackers mailing list