Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Feb 1999 16:11:39 -0800
From:      Mike Smith <mike@smith.net.au>
To:        Brian Handy <handy@lambic.physics.montana.edu>
Cc:        mobile@FreeBSD.ORG
Subject:   Re: DE-660 
Message-ID:  <199903010011.QAA15075@dingo.cdrom.com>
In-Reply-To: Your message of "Sun, 28 Feb 1999 16:49:02 MST." <Pine.BSF.4.05.9902281644350.24459-100000@lambic.physics.montana.edu> 

next in thread | previous in thread | raw e-mail | index | archive | help
> If someone would give us unwashed masses a pccardc -dumpcis output, and
> then step through it and tell us what it all meant, then suggest how this
> would impact pccard.conf (amongh whatever else), I would pick up the torch
> and write an entry for the handbook, a manpage for pccardc and maybe even
> get an article into daemonnews on the subject.

dingo:~>pccardc dumpcis
Configuration data for card in slot 0
Tuple #1, code = 0x1 (Common memory descriptor), length = 3
    000:  dc 00 ff
        Common memory device information:
                Device number 1, type Function specific, WPS = ON
                Speed = 100nS, Memory block size = 512b, 1 units

Random facts about a memory region.  Possibly compatability cruft; not 
relevant to us.

Tuple #2, code = 0x17 (Attribute memory descriptor), length = 3
    000:  49 00 ff
        Attribute memory device information:
                Device number 1, type EEPROM, WPS = ON
                Speed = 250nS, Memory block size = 512b, 1 units

Random facts about the EEPROM, probably containing the MAC, etc.  Not 
relevant to us.

Tuple #3, code = 0x15 (Version 1 info), length = 43
    000:  04 01 44 41 4e 50 45 58 00 45 4e 2d 36 32 30 30
    010:  50 32 00 52 65 76 2e 54 31 00 50 43 4d 43 49 41
    020:  20 45 74 68 65 72 6e 65 74 00 ff
        Version = 4.1, Manuf = [DANPEX],card vers = [EN-6200P2]
        Addit. info = [Rev.T1],[PCMCIA Ethernet]

Version information; contains the manufacturer and version fields that 
we match against when searching pccard.conf.

Tuple #4, code = 0x13 (Link target), length = 3
    000:  43 49 53

Tuple magic, ignore.

Tuple #5, code = 0x21 (Functional ID), length = 2
    000:  06 00
        Network/LAN adapter

What sort of card this is.

Tuple #6, code = 0x1a (Configuration map), length = 5
    000:  01 23 f8 03 03
        Reg len = 2, config register addr = 0x3f8, last config = 0x23
        Registers: XX------ 

Configuration magic; not relevant to us.

Tuple #7, code = 0x1b (Configuration entry), length = 17
    000:  e0 81 1d 3f 55 4d 5d 06 86 46 26 fc 24 65 30 ff
    010:  ff
        Config index = 0x20(default)
        Interface byte = 0x81 (I/O)  wait signal supported
        Vcc pwr:
                Nominal operating supply voltage: 5 x 1V
                Minimum operating supply voltage: 4.5 x 1V
                Maximum operating supply voltage: 5.5 x 1V
                Continuous supply current: 1 x 100mA
                Max current average over 1 second: 1 x 100mA, ext = 0x46
                Max current average over 10 ms: 2 x 100mA
        Wait scale Speed = 1.5 x 10 us
        Card decodes 4 address lines, 8 Bit I/O only
                IRQ modes: Level
                IRQ level = 4

Various default information about the card.  This is the template for 
the following configuration entries.

Tuple #8, code = 0x1b (Configuration entry), length = 7
    000:  20 08 ca 60 00 03 1f
        Config index = 0x20
        Card decodes 10 address lines, limited 8/16 Bit I/O
                I/O address # 1: block start = 0x300 block length = 0x20

This is a configuration entry; we currently abuse these to turn the 
config index into an I/O base address/length pair.

Tuple #9, code = 0x1b (Configuration entry), length = 7
    000:  21 08 ca 60 20 03 1f
        Config index = 0x21
        Card decodes 10 address lines, limited 8/16 Bit I/O
                I/O address # 1: block start = 0x320 block length = 0x20
Tuple #10, code = 0x1b (Configuration entry), length = 7
    000:  22 08 ca 60 40 03 1f
        Config index = 0x22
        Card decodes 10 address lines, limited 8/16 Bit I/O
                I/O address # 1: block start = 0x340 block length = 0x20
Tuple #11, code = 0x1b (Configuration entry), length = 7
    000:  23 08 ca 60 60 03 1f
        Config index = 0x23
        Card decodes 10 address lines, limited 8/16 Bit I/O
                I/O address # 1: block start = 0x360 block length = 0x20

More configuration entries.  Each of these base addresses may be 
selected by nominating the config index in pccard.conf

Tuple #12, code = 0x40 (Version 2 Info), length = 56
    000:  00 00 00 00 00 00 00 00 01 54 41 4d 41 52 41 43
    010:  4b 20 4d 49 43 52 4f 45 4c 45 43 54 52 4f 4e 49
    020:  43 53 00 45 74 68 65 72 6e 65 74 20 50 43 4d 43
    030:  49 41 20 43 61 72 64 00

The manufacturer information, etc. in a different format.

Tuple #13, code = 0xff (Terminator), length = 0

That's all she wrote.

Other cards are pretty much similar; the version 1 info and config 
tuples are really all that we do anything with.

-- 
\\  Sometimes you're ahead,       \\  Mike Smith
\\  sometimes you're behind.      \\  mike@smith.net.au
\\  The race is long, and in the  \\  msmith@freebsd.org
\\  end it's only with yourself.  \\  msmith@cdrom.com




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199903010011.QAA15075>