CCIDADM(8) Maintenance Procedures CCIDADM(8)


ccidadm - CCID administration utility


ccidadm list
ccidadm atr [-pvx] [device]
ccidadm reader [device]


The ccidadm utility can be used to list the CCID controllers and their
slots known to the ccid(4D) driver, query the features and capabilities of
a CCID controller, and print the ATR of an ICC (integrated circuit card)
that is inserted in a slot on an CCID controller.

The information returned by the hardware is printed by ccidadm in a human-
readable form where applicable.


ccidadm expects the following kinds of arguments:

Any command ccidadm understands. See section COMMANDS for more

device Specifies a CCID reader or a slot, either as absolute path to the
device node or in a short-hand form. The short-hand form consists
of the reader instance, specified by the driver name "ccid"
followed by the instance number of the reader, and optionally a
slot instance separated by a "/", consisting of the word "slot"
followed by the slot number. Here's an example for slot 1 on ccid
reader 5: "ccid5/slot1"


ccidadm list
Lists the CCID controllers and their slots known to the system and prints
their product name, device node, card state, and the transport protocol
in use.

ccidadm atr [-pvx] [device]
Prints the ATR of an ICC that is inserted in the specified slot. If a
device is specified it must refer to a certain slot. If no device is
specified the command will print the ATR of all inserted slots in the
system. A human-readable summary of the ATR data is printed when no
flags are given. The following options can be used to alter the output
of the atr command:

-v Verbose output, the individual bytes of the ATR are printed and
decoded in a human-readable form. Additionally the historic data
in the ATR is printed as a hexadecimal dump.

-x The complete ATR is printed as a hexadecimal dump.

ccidadm reader [device]
Print the capabilities of the specified CCID reader. Specifying slot
number is not required but can optionally be specified. If no device is
given, the command will print the capabilities of all attached CCID


The ccidadm utility exits 0 on success, 1 on any error opening or accessing
the device, and 2 if no command or an unknown command are given.


Example 1: List all CCID devices

# ccidadm list
Yubikey 4 OTP+U2F+CCID ccid0/slot0 activated APDU (T=1) supported
Yubikey 4 OTP+U2F+CCID ccid1/slot0 unactivated APDU supported
Smart Card Reader USB ccid2/slot0 missing TPDU unsupported
Smart Card Reader USB ccid3/slot0 unactivated TPDU unsupported

Example 2: Get the ATR of a Yubikey

# ccidadm atr ccid0/slot0
ATR for ccid0/slot0 (18 bytes):
ICC supports protocol(s): T=1
Card protocol is negotiable; starts with default T=1 parameters
Reader will run ICC at ICC's Di/Fi values
T=1 properties that would be negotiated:
+ Fi/Fmax Index: 1 (Fi 372/Fmax 5 MHz)
+ Di Index: 3 (Di 4)
+ Checksum: LRC
+ Extra Guardtime: 0
+ BWI: 1
+ CWI: 5
+ Clock Stop: 0 (disallowed)
+ IFSC: 254
+ CCID Supports NAD: no

Example 2: Get capabilities of a Smart Card Reader

# ccidadm reader ccid3
Reader ccid3, CCID class v1.0 device:
Product: Smart Card Reader USB
Serial: <unknown>
Slots Present: 1
Maximum Busy Slots: 1
Supported Voltages:
+ 5.0 V
+ 3.0 V
+ 1.8 V
Supported Protocols:
+ T=0
+ T=1
Default Clock: 3.69 MHz
Maximum Clock: 3.69 MHz
Supported Clock Rates: 1
Default Data Rate: 9.92 Kbps
Maximum Data Rate: 318 Kbps
Supported Data Rates: 19
Maximum IFSD (T=1 only): 254
Synchronous Protocols Supported:
+ 2-Wire Support
+ 3-Wire Support
+ I2C Support
Device Features:
+ Automatic ICC clock frequency change
+ Automatic baud rate change
+ Automatic PPS made by CCID
+ CCID can set ICC in clock stop mode
+ NAD value other than zero accepted
+ TPDU support
Maximum Message Length: 271 bytes


The command line interface of ccidadm is Evolving. The output of ccidadm
is Not-an-Interface and may change any time.


ccid(4D), cfgadm(8)

OmniOS September 12, 2020 OmniOS