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 configured.
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 [Toc] [Back]
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 [Toc] [Back]
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 parameter 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
listed.
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 [Toc] [Back]
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 of card
identifiers but used ``generic'' instead of ``card'' in the first line.
These are in the last of pccard.conf because unmatched cards with the
other card entries can match these entries secondly. The alias ``function''
can be used instead of ``generic'' because of the historical reason.
A typical configuration file may appear thus:
#
# 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.
pccardd(8)
FreeBSD 5.2.1 November 2, 1994 FreeBSD 5.2.1 [ Back ] |