Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
PCCARD.CONF(5)            FreeBSD File Formats Manual           PCCARD.CONF(5)

     pccard.conf - pccardd(8) configuration file

     The pccard.conf file is the configuration file for the pccardd(8) PC-CARD
     slot management daemon.  It provides information to allow card
     identification, and the matching of drivers (along with driver resources)
     to the PC-CARD cards.

     There are four basic elements within the configuration file; An optional
     resource pool preceding the other sections, and one or more card
     identifiers, and device instances.  The latter two may appear in any
     order, and may be interspersed as desired.

     The /etc/pccard.conf file is included from the file
     /etc/defaults/pccard.conf, which contains the default resource pool
     settings and pccard identifiers database.  The user specific
     configuration can be specified in /etc/pccard.conf when the user wishes
     to override these defaults and/or add additional entries.

     Each PC-CARD card contains configuration tuples that provide the
     manufacturer and card version; these are used to identify the card
     specification in the configuration file, and from this find a driver that
     can be used to interface to the particular card.  There is a many-to-one
     mapping between cards to drivers i.e a single driver may interface to
     multiple types of cards.  To aid this, card parameters may be specified
     separately from the driver to initialize the card or extract (in the case
     of a network card) an Ethernet address.

     Once a driver is allocated to a card, it stays allocated to that
     particular card.  However, multiple instances of the same type of driver
     can be configured, so that if two cards are plugged in that map to a
     similar type of driver, other driver instances of the same name can be

     The insert and remove commands allow a shell command line to be executed.
     The command to be executed is the rest of the line after the keyword.
     The line can be continued using a backslash.  A simple macro substitution
     allows the current kernel device name ($device) and network card Ethernet
     address ($ether) to be inserted into the command line.  pccardd(8) uses
     the system(3) subroutine to execute the command line.

     pccardd(8) will use syslog to announce the insertion and removal of
     cards.  It uses either the string set by the logstr command, or the
     manufacturer and card version strings if none has been set.

     Numeric values may be expressed as octal, hex or decimal.  If a decimal
     number has k or K appended to it, the value is multiplied by 1024.  Names
     may be quoted using double quotes if spaces are required.  A hash
     character comments out the rest of the line.

   Resource pool
     The (optional) section specifies a pool of system resources such as ISA
     bus memory address space, Input/Output ports and interrupt request
     numbers.  This resource pool is used to allocate address space and
     interrupt numbers dynamically according to the requirements specified in
     each driver description.

     The syntax of the resources is as follows:

           io start - end ...
           memory address size ...
           irq irq-number ...

     Each of the statements define I/O, memory or IRQ blocks that can be used
     to allocate to drivers when they are initialized.

     The syntax of the debuglevel parameter:

           debuglevel level

     Multiple lines of any of the above statements may be present to allow
     separate blocks of each resource to be defined.

   Card Identifiers
     The syntax for card identifiers is:

           card manufacturer version [add_info1 [add_info2 ]]
           config index driver interrupt [flags]
           ether offset
           reset time
           iosize size
           memsize size
           insert command
           remove command
           logstr string

     The first line is mandatory; the latter statements are optional and can
     appear in any order.  There may be multiple config lines.  The card
     parameters are the Manufacturer name, card version and additional
     information add_info1, add_info2 that is used to match the values from
     the card's CIS memory.  These parameters can be described in extended
     regular expression regex(3) if the string is enclosed by '/' like "/.*/".
     Each of the expressions is evaluated with a character '^' at top.

     The config parameters select the particular card's configuration index
     from the range available in the card's CIS, the driver that is to be
     associated with this configuration, and the interrupt level (if any) to
     be assigned.  An optional set of flags may be assigned.  In index,
     specify either ``auto'' or ``default'' or the range available in the
     card's CIS.  ``auto'' allows to allocate resources automatically with
     information from the CIS and status of using I/O resources.

     The optional ether keyword is used when network cards have their physical
     Ethernet address located within the attribute memory of the card.  The
     parameter of this statement indicates the offset within the attribute
     memory of the Ethernet address.  This value can be used within
     insert/remove commands using the $ether macro.

     The optional reset keyword specifies reset duration at a card insertion
     in time milliseconds.  Default is 100msec.

     iosize and memsize keywords are used with cards whose resources such as
     I/O ports and shared memory block are not specified in the CIS tuple.

     The insert and remove sections allow shell commands to be specified that
     are executed when the card is inserted or removed.  Multiple insert and
     remove commands are allowed, and they are executed in the order they are

     The logstr command allows the user to set the string to be logged when
     this card is inserted or removed.  If logstr isn't specified, then the
     manufacturer and card version strings from the CIS are used to synthesize
     the string issued.

   Wildcard entries
     Following two wildcard entries of card identifiers are available for
     generic type of the cards:

           generic serial
           generic fixed_disk

     The keyword serial matches ``Functional ID: Serial port/modem'' and
     fixed_disk matches ``Fixed disk card''.  The syntax is the same as for
     card identifiers but uses ``generic'' instead of ``card'' in the first
     line.  These are defined at the bottom of pccard.conf so unmatched cards
     use the generic entries.  The alias ``function'' can be used instead of
     ``generic'', this is supported due to historical reasons.

     A typical configuration file may look like this:

     # Sample configuration file.
     # Pool parameters.
     io 0x280 - 0x2F0 0x300 - 0x360
     irq 5 6 8 9 10 15
     memory 0xd4000 96k
     memory 0xc4000 32k
     # Card database.
     card "RPTI LTD." "EP400"  # NE2000 clone
            ether 0x110
            config 0x21 "ed0" 5
            insert ifconfig $device physical $ether
            insert ifconfig $device bean
            remove ifconfig $device down

     card "XYZZY" "FAX/1.0"
            config 0x30 "sio1" 11
            insert echo start getty
            remove echo stop getty

     /etc/defaults/pccard.conf  The pccardd(8) default configuration file.
     /etc/pccard.conf           The user configuration file.


FreeBSD 11.0-PRERELEASE        November 2, 1994        FreeBSD 11.0-PRERELEASE


Want to link to this manual page? Use this URL:

home | help