1.\" $OpenBSD: puc.4,v 1.52 2016/01/15 18:57:29 deraadt Exp $ 2.\" $NetBSD: puc.4,v 1.7 1999/07/03 05:55:23 cgd Exp $ 3.\" 4.\" Copyright (c) 1998 Christopher G. Demetriou. All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following 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.\" 3. All advertising materials mentioning features or use of this software 15.\" must display the following acknowledgement: 16.\" This product includes software developed by Christopher G. Demetriou 17.\" for the NetBSD Project. 18.\" 4. The name of the author may not be used to endorse or promote products 19.\" derived from this software without specific prior written permission 20.\" 21.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 22.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 23.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 24.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 25.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 26.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31.\" 32.Dd $Mdocdate: January 15 2016 $ 33.Dt PUC 4 34.Os 35.Sh NAME 36.Nm puc 37.Nd PCI universal communications card driver 38.Sh SYNOPSIS 39.Cd "puc* at pci?" 40.Cd "puc* at cardbus?" 41.Cd "lpt* at puc?" 42.Cd "com* at puc?" 43.Sh DESCRIPTION 44The 45.Nm 46driver provides support for PCI communications cards containing 47simple communications ports, such as NS16550-family 48.Pf ( Nm com ) 49serial ports and standard PC-like 50.Pf ( Nm lpt ) 51parallel ports. 52The driver is called 53.Dq universal 54because the interfaces to these devices aren't nearly as well 55defined and standard as they should be. 56.Pp 57The driver currently supports the following cards: 58.Pp 59.Bl -tag -width Ds -offset indent -compact 60.It Tn "AT&T/Lucent Venus Modem (found on IBM 33L4618, Actiontec 56K)" 61.It Tn "Avlab Low Profile PCI 4S Quartet (4 port serial)" 62.It Tn "Avlab PCI 2S (2 port serial)" 63.It Tn "Boca Research Turbo Serial 654 (4 port serial)" 64.It Tn "Boca Research Turbo Serial 658 (8 port serial)" 65.It Tn "Brainboxes Instashield IS-200 with BB16PCI958 (2 port serial)" 66.It Tn "Cronyx Omega-PCI (8 port serial)" 67.It Tn "Decision Computer Inc PCCOM PCI 2 Port (2 port serial)" 68.It Tn "Decision Computer Inc PCCOM PCI 4 Port (4 port serial)" 69.It Tn "Decision Computer Inc PCCOM PCI 8 Port (8 port serial)" 70.It Tn "Digi International Digi Neo 4 (4 port serial)" 71.It Tn "Digi International Digi Neo 8 (8 port serial)" 72.It Tn "Dolphin Peripherals 4014 (dual parallel)" 73.It Tn "Dolphin Peripherals 4035 (dual serial)" 74.It Tn "Exsys EX-41098 (4 port serial)" 75.It Tn "IBM 4810 SurePOS 300 Series SCC (4 port serial)" 76.It Tn "Koutech IOFLEX-2S (dual serial)" 77.It Tn "Kouwell Model-223 (2 port serial, 1 port parallel)" 78.It Tn "Lava Computers 2SP-PCI (parallel port)" 79.It Tn "Lava Computers 2SP-PCI and Quattro-PCI (dual serial)" 80.It Tn "Lava Computers Octopus-550" 81.It Tn "Lava LavaPort-650" 82.It Tn "MosChip MCS9865 (1, 2 and 4 port serial)" 83.It Tn "Moxa Technologies Co., Ltd. PCI I/O Card 4S (4 port serial)" 84.It Tn "Moxa Technologies Co., Ltd. C104H/PCI (4 port serial)" 85.It Tn "Moxa Technologies Co., Ltd. CP104/PCI (4 port serial)" 86.It Tn "Moxa Technologies Co., Ltd. C168H/PCI (8 port serial)" 87.It Tn "Moxa Technologies Co., Ltd. CP168U/PCI (8 port serial)" 88.It Tn "NEC PK-UG-X008 (serial)" 89.It Tn "NEC PK-UG-X001 K56flex PCI (modem)" 90.It Tn "NetMos 1P (1 port parallel)" 91.It Tn "NetMos 2S1P (2 port serial and 1 port parallel)" 92.It Tn "NetMos 2S (2 port serial)" 93.It Tn "NetMos 4S (4 port serial)" 94.It Tn "NetMos 6S (6 port serial)" 95.It Tn "Oxford OX16PCI952 (2 port serial, 1 port parallel)" 96.It Tn "Oxford OX16PCI954 (4 port serial, 1 port parallel)" 97.It Tn "PLX 9016 (8 port serial)" 98.It Tn "QEMU PCI Serial" 99.It Tn "QEMU PCI Serial 2x" 100.It Tn "QEMU PCI Serial 4x" 101.It Tn "SIIG Cyber 2P1S PCI (dual parallel and single serial)" 102.It Tn "SIIG Cyber 2S1P PCI (dual serial and single parallel)" 103.It Tn "SIIG Cyber 4S PCI (quad serial)" 104.It Tn "SIIG Cyber I/O PCI (single serial and single parallel)" 105.It Tn "SIIG Cyber Parallel Dual PCI (dual parallel)" 106.It Tn "SIIG Cyber Parallel PCI (single parallel)" 107.It Tn "SIIG Cyber Serial Dual PCI (dual serial)" 108.It Tn "SIIG Cyber Serial PCI (single serial)" 109.It Tn "SIIG Cyber 8S PCI 16C850" 110.It Tn "SUNIX 400x (1 port parallel)" 111.It Tn "SUNIX 401x (2 port parallel)" 112.It Tn "SUNIX 402x (1 port serial)" 113.It Tn "SUNIX 403x (2 port serial)" 114.It Tn "SUNIX 405x (4 port serial)" 115.It Tn "SUNIX 406x (8 port serial)" 116.It Tn "SUNIX 407x (2 port serial and 1 port parallel)" 117.It Tn "SUNIX 408x (2 port serial and 2 port parallel)" 118.It Tn "SUNIX 409x (4 port serial and 2 port parallel)" 119.It Tn "SUNIX 5008 (1 port parallel)" 120.It Tn "SUNIX 5016 (16 port serial)" 121.It Tn "SUNIX 5027 (1 port serial)" 122.It Tn "SUNIX 5037 (2 port serial)" 123.It Tn "SUNIX 5056 (4 port serial)" 124.It Tn "SUNIX 5066 (8 port serial)" 125.It Tn "SUNIX 5069 (1 port serial and 1 port parallel)" 126.It Tn "SUNIX 5079 (2 port serial and 1 port parallel)" 127.It Tn "SUNIX 5099 (4 port serial and 1 port parallel)" 128.It Tn "Syba Tech Ltd. PCI-4S2P-550-ECP (4 port serial and 2 port parallel)" 129.It Tn "US Robotics 3CP5609 PCI (modem)" 130.It Tn "VScom PCI 800 (8 port serial, probably OEM)" 131.It Tn "VScom PCI 011H (1 port parallel)" 132.It Tn "VScom PCI 100H (1 port serial)" 133.It Tn "VScom PCI 110H (1 port serial and 1 port parallel)" 134.It Tn "VScom PCI 200H (2 port serial)" 135.It Tn "VScom PCI 210H (2 port serial and 1 port parallel)" 136.It Tn "VScom PCI 400H (4 port serial)" 137.It Tn "VScom PCI 410H (4 port serial and 1 port parallel)" 138.It Tn "VScom PCI 800H (8 port serial)" 139.It Tn "VScom PCI 100L (1 port serial)" 140.It Tn "VScom PCI 200L (2 port serial)" 141.It Tn "VScom PCI 210L (2 port serial and 1 port parallel)" 142.It Tn "VScom PCI 400L (4 port serial)" 143.It Tn "VScom PCI 400S (4 port serial)" 144.It Tn "VScom PCI 800L (8 port serial)" 145.El 146.Pp 147The driver does not support these cards: 148.Pp 149.Bl -tag -width Ds -offset indent -compact 150.It Tn "Dolphin Peripherals 4006 (single parallel)" 151.It Tn "Dolphin Peripherals 4025 (single serial)" 152.It Tn "Dolphin Peripherals 4078 (dual serial and single parallel)" 153.El 154.Pp 155but support for them (and for similar cards) should be trivial to add. 156.Pp 157The 158.Ar port 159locator is used to identify the port (starting from 0) on the 160communications card that a subdevice is supposed to attach to. 161Typically, the numbering of ports is explained in a card's 162hardware documentation, and the port numbers used by the driver 163are the same as (or one off from, e.g., the manual uses ports 164numbered starting from 1) those described in the documentation. 165.Sh SEE ALSO 166.Xr cardbus 4 , 167.Xr com 4 , 168.Xr intro 4 , 169.Xr lpt 4 , 170.Xr pci 4 171.Sh HISTORY 172The 173.Nm 174driver first appeared in 175.Nx 1.4 . 176.Ox 177support was added in 178.Ox 2.7 . 179CardBus support was added in 180.Ox 4.0 . 181.Sh AUTHORS 182The 183.Nm 184driver was written by 185.An Chris Demetriou . 186.Sh BUGS 187The current design of this driver keeps any 188.Nm com 189ports on these cards from easily being used as console. 190Of course, because boards with those are PCI boards, they also suffer 191from dynamic address assignment, which also means that they 192can't easily be used as console. 193.Pp 194Some of the cards supported by this driver have jumper-selectable 195.Nm com 196port clock multipliers, which are unsupported by this driver. 197Those can be easily accommodated with driver flags, or by 198using a properly scaled baud rate when talking to the card. 199.Pp 200Some of the cards supported by this driver, e.g., the VScom PCI-800, 201have software-selectable 202.Nm com 203port clock multipliers, which are unsupported by this driver. 204Those can be accommodated using internal driver flags, or by using 205a properly scaled baud rate when talking to the card. 206.Pp 207Some ports use an 208.Nm lpt 209driver other than the machine-independent driver. 210Those ports will not be able to use 211.Nm lpt 212ports attached to 213.Nm 214devices. 215