diff options
Diffstat (limited to 'share/man/man4/cmx.4')
-rw-r--r-- | share/man/man4/cmx.4 | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/share/man/man4/cmx.4 b/share/man/man4/cmx.4 new file mode 100644 index 0000000..844e6c4 --- /dev/null +++ b/share/man/man4/cmx.4 @@ -0,0 +1,120 @@ +.\" +.\" Copyright (c) 2006-2007 Daniel Roethlisberger <daniel@roe.ch> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice unmodified, this list of conditions, and the following +.\" disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd July 7, 2007 +.Dt CMX 4 +.Os +.Sh NAME +.Nm cmx +.Nd Omnikey CardMan 4040 smartcard reader device driver +.Sh SYNOPSIS +.Cd device cmx +.Sh DESCRIPTION +The +.Nm +driver provides support for the PCCARD based +.Em Omnikey CardMan 4040 +smartcard reader. +The driver provides a character device special file based +.Em Chip/Smart Card Interface Devices (CCID) +interface. The driver implements what the vendor calls the +.Em Synchronous API +onto the smartcard reader device. +.Pp +Reading and writing is synchronous, meaning that a call to +.Xr write 2 +directly corresponds to a complete CCID command sent to the +device, while the following +.Xr read 2 +will return the complete answer from the reader. There is no +support for partial reads or writes. There is no upper limit on +CCID request or response sizes, but the complete CCID request +must be sent to the driver in +.Xr write 2 +and the complete CCID response must fit into the buffer +supplied to +.Xr read 2 . +.Pp +Non-blocking I/O, +.Xr select 2 +and +.Xr poll 2 +are supported and work as expected. An open file descriptor +will always be ready for writing, but only ready for reading +if the device indicates that it has data available. +.Sh FILES +.Bl -tag -width /usr/ports/security/openct -compact +.It Pa /dev/cmx\fBn\fP +Character device special file. +.It Pa /usr/ports/security/openct +OpenCT, a userspace smartcard daemon containing a +.Em CCID +driver which directly supports +.Nm +devices. +.\".It Pa /usr/ports/devel/pcsc-lite +.\"PC/SC-Lite, a userspace smartcard daemon. +.\".It Pa /usr/ports/devel/libccid +.\"libccid, a generic +.\".Em CCID +.\"driver for use by PC/SC-Lite to interface to +.\".Nm +.\"devices. +.El +.Sh COMPATIBILITY +Userland smartcard code written for the vendor's Linux drivers +should work with the +.Nm +driver without modification. +.Sh SEE ALSO +.Xr pccard 4 +.Sh HISTORY +The +.Nm cmx +driver first appeared in +.Fx 7.1 . +.Sh AUTHORS +.An -nosplit +The +.Nm +driver was written by +.An Daniel Roethlisberger Aq daniel@roe.ch , +originally based on the Linux driver v1.1.0 by +.An Omnikey GmbH Aq www.omnikey.com . +Early testing and bug fixes by +.An Marcin Cieslak Aq saper@system.pl . +.Sh BUGS +.An -nosplit +The way the +.Nm +driver talks to the CardMan 4040 is a bit rough. Due to the +complete lack of hardware documentation other than vendor drivers +for other operating systems, the gory details of the device's +I/O registers are not understood very well. There may be error +conditions which can only be solved by physically reinserting the +reader. |