/share/man/man4/cmx.4

https://bitbucket.org/freebsd/freebsd-head/ · Forth · 120 lines · 120 code · 0 blank · 0 comment · 9 complexity · 5c8c8de3d44d22e0ff7feee95382ccc3 MD5 · raw file

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