xref: /dflybsd-src/share/man/man4/cmx.4 (revision c4bf625e67439f34b29bfd33c4e2555ffea63ce9)
1*c4bf625eSHasso Tepper.\"
2*c4bf625eSHasso Tepper.\" Copyright (c) 2006-2007 Daniel Roethlisberger <daniel@roe.ch>
3*c4bf625eSHasso Tepper.\" All rights reserved.
4*c4bf625eSHasso Tepper.\"
5*c4bf625eSHasso Tepper.\" Redistribution and use in source and binary forms, with or without
6*c4bf625eSHasso Tepper.\" modification, are permitted provided that the following conditions
7*c4bf625eSHasso Tepper.\" are met:
8*c4bf625eSHasso Tepper.\" 1. Redistributions of source code must retain the above copyright
9*c4bf625eSHasso Tepper.\"    notice unmodified, this list of conditions, and the following
10*c4bf625eSHasso Tepper.\"    disclaimer.
11*c4bf625eSHasso Tepper.\" 2. Redistributions in binary form must reproduce the above copyright
12*c4bf625eSHasso Tepper.\"    notice, this list of conditions and the following disclaimer in the
13*c4bf625eSHasso Tepper.\"    documentation and/or other materials provided with the distribution.
14*c4bf625eSHasso Tepper.\"
15*c4bf625eSHasso Tepper.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16*c4bf625eSHasso Tepper.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17*c4bf625eSHasso Tepper.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18*c4bf625eSHasso Tepper.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19*c4bf625eSHasso Tepper.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20*c4bf625eSHasso Tepper.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21*c4bf625eSHasso Tepper.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22*c4bf625eSHasso Tepper.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23*c4bf625eSHasso Tepper.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24*c4bf625eSHasso Tepper.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25*c4bf625eSHasso Tepper.\" SUCH DAMAGE.
26*c4bf625eSHasso Tepper.\"
27*c4bf625eSHasso Tepper.\" $FreeBSD: src/share/man/man4/cmx.4,v 1.2 2008/03/06 08:47:16 rink Exp $
28*c4bf625eSHasso Tepper.\" $DragonFly: src/share/man/man4/cmx.4,v 1.1 2008/04/23 08:57:10 hasso Exp $
29*c4bf625eSHasso Tepper.\"
30*c4bf625eSHasso Tepper.Dd July 7, 2007
31*c4bf625eSHasso Tepper.Dt CMX 4
32*c4bf625eSHasso Tepper.Os
33*c4bf625eSHasso Tepper.Sh NAME
34*c4bf625eSHasso Tepper.Nm cmx
35*c4bf625eSHasso Tepper.Nd Omnikey CardMan 4040 smartcard reader device driver
36*c4bf625eSHasso Tepper.Sh SYNOPSIS
37*c4bf625eSHasso Tepper.Cd device cmx
38*c4bf625eSHasso Tepper.Sh DESCRIPTION
39*c4bf625eSHasso TepperThe
40*c4bf625eSHasso Tepper.Nm
41*c4bf625eSHasso Tepperdriver provides support for the PCCARD based
42*c4bf625eSHasso Tepper.Em Omnikey CardMan 4040
43*c4bf625eSHasso Teppersmartcard reader.
44*c4bf625eSHasso TepperThe driver provides a character device special file based
45*c4bf625eSHasso Tepper.Em Chip/Smart Card Interface Devices (CCID)
46*c4bf625eSHasso Tepperinterface.  The driver implements what the vendor calls the
47*c4bf625eSHasso Tepper.Em Synchronious API
48*c4bf625eSHasso Tepperonto the smartcard reader device.
49*c4bf625eSHasso Tepper.Pp
50*c4bf625eSHasso TepperReading and writing is synchronious, meaning that a call to
51*c4bf625eSHasso Tepper.Xr write 2
52*c4bf625eSHasso Tepperdirectly corresponds to a complete CCID command sent to the
53*c4bf625eSHasso Tepperdevice, while the following
54*c4bf625eSHasso Tepper.Xr read 2
55*c4bf625eSHasso Tepperwill return the complete answer from the reader.  There is no
56*c4bf625eSHasso Teppersupport for partial reads or writes.  There is no upper limit on
57*c4bf625eSHasso TepperCCID request or response sizes, but the complete CCID request
58*c4bf625eSHasso Teppermust be sent to the driver in
59*c4bf625eSHasso Tepper.Xr write 2
60*c4bf625eSHasso Tepperand the complete CCID response must fit into the buffer
61*c4bf625eSHasso Teppersupplied to
62*c4bf625eSHasso Tepper.Xr read 2 .
63*c4bf625eSHasso Tepper.Pp
64*c4bf625eSHasso TepperNon-blocking I/O,
65*c4bf625eSHasso Tepper.Xr select 2
66*c4bf625eSHasso Tepperand
67*c4bf625eSHasso Tepper.Xr poll 2
68*c4bf625eSHasso Tepperare supported and work as expected.  An open file descriptor
69*c4bf625eSHasso Tepperwill always be ready for writing, but only ready for reading
70*c4bf625eSHasso Tepperif the device indicates that it has data available.
71*c4bf625eSHasso Tepper.Sh COMPATIBILITY
72*c4bf625eSHasso TepperUserland smartcard code written for the vendor's Linux drivers
73*c4bf625eSHasso Teppershould work with the
74*c4bf625eSHasso Tepper.Nm
75*c4bf625eSHasso Tepperdriver without modification.
76*c4bf625eSHasso Tepper.Sh FILES
77*c4bf625eSHasso Tepper.Bl -tag -width /dev/cmxn -compact
78*c4bf625eSHasso Tepper.It Pa /dev/cmx\fBn\fP
79*c4bf625eSHasso TepperCharacter device special file.
80*c4bf625eSHasso Tepper.\".It Pa /usr/ports/security/openct
81*c4bf625eSHasso Tepper.\"OpenCT, a userspace smartcard daemon containing a
82*c4bf625eSHasso Tepper.\".Em CCID
83*c4bf625eSHasso Tepper.\"driver which directly supports
84*c4bf625eSHasso Tepper.\".Nm
85*c4bf625eSHasso Tepper.\"devices.
86*c4bf625eSHasso Tepper.\".It Pa /usr/ports/devel/pcsc-lite
87*c4bf625eSHasso Tepper.\"PC/SC-Lite, a userspace smartcard daemon.
88*c4bf625eSHasso Tepper.\".It Pa /usr/ports/devel/libccid
89*c4bf625eSHasso Tepper.\"libccid, a generic
90*c4bf625eSHasso Tepper.\".Em CCID
91*c4bf625eSHasso Tepper.\"driver for use by PC/SC-Lite to interface to
92*c4bf625eSHasso Tepper.\".Nm
93*c4bf625eSHasso Tepper.\"devices.
94*c4bf625eSHasso Tepper.El
95*c4bf625eSHasso Tepper.Sh SEE ALSO
96*c4bf625eSHasso Tepper.Xr pccard 4
97*c4bf625eSHasso Tepper.Sh HISTORY
98*c4bf625eSHasso TepperThe
99*c4bf625eSHasso Tepper.Nm cmx
100*c4bf625eSHasso Tepperdriver first appeared in
101*c4bf625eSHasso Tepper.Fx 7.1
102*c4bf625eSHasso Tepperand was imported into
103*c4bf625eSHasso Tepper.Dx 1.13 .
104*c4bf625eSHasso Tepper.Sh AUTHORS
105*c4bf625eSHasso Tepper.An -nosplit
106*c4bf625eSHasso TepperThe
107*c4bf625eSHasso Tepper.Nm
108*c4bf625eSHasso Tepperdriver was written by
109*c4bf625eSHasso Tepper.An Daniel Roethlisberger Aq daniel@roe.ch ,
110*c4bf625eSHasso Tepperoriginally based on the Linux driver v1.1.0 by
111*c4bf625eSHasso Tepper.An Omnikey GmbH Aq www.omnikey.com .
112*c4bf625eSHasso TepperEarly testing and bug fixes by
113*c4bf625eSHasso Tepper.An Marcin Cieslak Aq saper@system.pl .
114*c4bf625eSHasso Tepper.Sh BUGS
115*c4bf625eSHasso Tepper.An -nosplit
116*c4bf625eSHasso TepperThe way the
117*c4bf625eSHasso Tepper.Nm
118*c4bf625eSHasso Tepperdriver talks to the CardMan 4040 is a bit rough.  Due to the
119*c4bf625eSHasso Teppercomplete lack of hardware documentation other than vendor drivers
120*c4bf625eSHasso Tepperfor other operating systems, the gory details of the device's
121*c4bf625eSHasso TepperI/O registers are not understood very well.  There may be error
122*c4bf625eSHasso Tepperconditions which can only be solved by physically reinserting the
123*c4bf625eSHasso Tepperreader.
124