.\" $NetBSD: puc.4,v 1.43.2.2 2024/12/06 20:28:17 snj Exp $ .\" .\" Copyright (c) 1998 Christopher G. Demetriou .\" 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, 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. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the .\" NetBSD Project. See http://www.NetBSD.org/ for .\" information about NetBSD. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. .\" .\" <> .\" .Dd November 11, 2024 .Dt PUC 4 .Os .Sh NAME .Nm puc .Nd PCI .Dq universal communications card driver .Sh SYNOPSIS .Cd "puc* at pci? dev ? function ?" .Cd "com* at puc? port ?" .Cd "lpt* at puc? port ?" .Sh DESCRIPTION The .Nm driver provides support for PCI communications cards containing simple communications ports, such as NS16550-family .Pf ( Nm com ) serial ports and standard PC-like .Pf ( Nm lpt ) parallel ports. The driver is called .Dq universal because the interfaces to these devices aren't nearly as well defined and standard as they should be. .Pp The driver currently supports the following cards: .Pp .Bl -tag -width Dv -offset indent -compact .It Tn "ADDI-DATA APCI-7800 (8 port serial)" .It Tn "Actiontec 56K PCI Master" .It Tn "Advantech PCI-1604UP (2 port serial)" .It Tn "Advantech PCI-1610 (4 port serial)" .It Tn "Advantech PCI-1612 (4 port serial)" .It Tn "Advantech PCI-1620 (8 port serial)" .It Tn "ASIX AX9910 (4 port serial)" .It Tn "Avlab Low Profile PCI 4S Quartet (4 port serial)" .It Tn "Avlab Low Profile PCI 4 Serial (4 port serial)" .It Tn "Avlab PCI 2S (2 port serial)" .It Tn "Boca Research Turbo Serial 654 (4 port serial)" .It Tn "Boca Research Turbo Serial 658 (8 port serial)" .It Tn "Brainboxes UC card range" .It Tn "Brainboxes UP card range" .It Tn "Brainboxes PX card range" .It Tn "Chase Research / Perle PCI-FAST4 (4 port serial)" .It Tn "Chase Research / Perle PCI-FAST8 (8 port serial)" .It Tn "Comtrol RocketPort 550/4 series (4 port serial)" .It Tn "Comtrol RocketPort 550/8 series (8 port serial)" .It Tn "Comtrol RocketPort 550/16 series (16 port serial)" .It Tn "Decision Computer Inc PCCOM PCI 2 Port (2 port serial)" .It Tn "Decision Computer Inc PCCOM PCI 4 Port (4 port serial)" .It Tn "Decision Computer Inc PCCOM PCI 8 Port (8 port serial)" .It Tn "Digi International Digi Neo 4 (4 port serial)" .It Tn "Digi International Digi Neo 8 (8 port serial)" .It Tn "Dolphin Peripherals 4014 (dual parallel)" .It Tn "Dolphin Peripherals 4035 (dual serial)" .It Tn "Dolphin Peripherals 4036 (dual serial)" .It Tn "EXAR XR17D152 (2 port serial)" .It Tn "EXAR XR17D154 (4 port serial)" .It Tn "EXAR XR17D158 (8 port serial)" .It Tn "EXAR XR17V354 (4 port serial)" .It Tn "Exsys EX-41098 (4 port serial)" .It Tn "IBM 4810 SurePOS 300 Series SCC (4 port serial)" .It Tn "InnoSys Keyspan SX Pro (4 port serial)" .It Tn "IntaShield IS-100 (single serial)" .It Tn "IntaShield IS-200 (dual serial)" .It Tn "IntaShield IS-300 (single serial only)" .It Tn "IntaShield IS-400 (4 port serial)" .It Tn "IntaShield IX-100 (single serial)" .It Tn "IntaShield IX-200 (dual serial)" .It Tn "IntaShield IX-400 (4 port serial)" .It Tn "Intel chipset internal Serial over LAN" .It Tn "I-O DATA RSA-PCI (2 port serial)" .It Tn "I-O DATA RSA-PCI2 (2 port serial)" .It Tn "I-O DATA RSA-PCI2/P4 (4 port serial)" .It Tn "I-O DATA RSA-PCI2/P8 (8 port serial)" .It Tn "Lava Computers 2SP-PCI (single parallel)" .It Tn "Lava Computers Octopus (8 port serial)" .It Tn "Lava Computers Quatro-PCI (4 port serial)" .It Tn "Lava Computers dual serial" .It Tn "Lava Computers SSERIAL-PCI (single serial)" .It Tn "Middle Digital, Inc. Weasel serial port" .It Tn "Moxa Technologies SmartIO C104H/PCI (4 port serial)" .It Tn "Moxa Technologies SmartIO C168EL-A/PCIe (8 port serial)" .It Tn "Moxa Technologies SmartIO C168EL/PCIe (8 port serial)" .It Tn "Moxa Technologies SmartIO C168H/PCI (8 port serial)" .It Tn "Moxa Technologies SmartIO C168U/PCI (8 port serial)" .It Tn "Moxa Technologies SmartIO CP-114/PCI (4 port serial)" .It Tn "Moxa Technologies SmartIO CP-102/PCI (2 port serial)" .It Tn "Moxa Technologies SmartIO CP-104-EL/PCIe (4 port serial)" .It Tn "Moxa Technologies SmartIO CP-104-V2/PCI (4 port serial)" .It Tn "Moxa Technologies SmartIO CP-104/PCI (4 port serial)" .It Tn "Multi-Tech ISI5634PCI/4 (4 port serial)" .It Tn "NEC PK-UG-X001 K56flex PCI Modem" .It Tn "NEC PK-UG-X008" .It Tn "NetMos 1P PCI (single parallel)" .It Tn "NetMos 2S1P PCI 16C650 (dual serial and single parallel)" .It Tn "NetMos 4S1P PCI NM9845 (4 port serial and single parallel)" .It Tn "NetMos NM9805 1284 (single parallel)" .It Tn "NetMos NM9815 Dual 1284 (dual parallel)" .It Tn "NetMos NM9835 series (up to dual serial and single parallel)" .It Tn "NetMos NM9845 series (up to 6 serial and 1 parallel)" .It Tn "NetMos NM9855 series (up to 4 serial and 1 parallel)" .It Tn "NetMos NM9865 series (up to 4 serial and 2 parallel)" .It Tn "NetMos NM9900 PCIe (4 port or 8 port serial)" .It Tn "NetMos NM9901 PCIe (1 serial or 1 parallel)" .It Tn "NetMos NM9904 PCIe (4 port serial)" .It Tn "NetMos NM9912 PCIe (2 serial or 1 parallel)" .It Tn "NetMos NM9922 PCIe (2 port serial)" .It Tn "Oxford Semiconductor OX16PCI952 (dual serial and single parallel)" .It Tn "Oxford Semiconductor OX16PCI954 (4 port serial)" .It Tn "Oxford Semiconductor OX16PCI958 (8 port serial)" .It Tn "Oxford Semiconductor OXPCIe952 (2 port serial, legacy mode)" .It Tn "Oxford Semiconductor OXPCIe954 (4 port serial)" .It Tn "Oxford Semiconductor OXmPCI952 (2 port serial)" .It Tn "Oxford Semiconductor Exsys EX-41098 (4 port serial)" .It Tn "Perle Systems PCI-RAS 4 modem ports" .It Tn "Perle Systems PCI-RAS 8 modem ports" .It Tn "Perle Systems PCI-RASV92 4 modem ports" .It Tn "Perle Systems PCI-RASV92 8 modem ports" .It Tn "SIIG Cyber 2P1S PCI series (dual parallel and single serial)" .It Tn "SIIG Cyber 2S1P PCI series (dual serial and single parallel)" .It Tn "SIIG Cyber 4 PCI 16550 (4 port serial)" .It Tn "SIIG Cyber 4S PCI series (quad serial)" .It Tn "SIIG Cyber I/O PCI series (single serial and single parallel)" .It Tn "SIIG Cyber Parallel Dual PCI series (dual parallel)" .It Tn "SIIG Cyber Parallel PCI series (single parallel)" .It Tn "SIIG Cyber Serial Dual PCI series (dual serial)" .It Tn "SIIG Cyber Serial PCI series (single serial)" .It Tn "SIIG PS8000 PCI 8S series (8 port serial)" .It Tn "SUNIX 400x (1 port parallel)" .It Tn "SUNIX 401x (2 port parallel)" .It Tn "SUNIX 402x (1 port serial)" .It Tn "SUNIX 403x (2 port serial)" .It Tn "SUNIX 405x (4 port serial)" .It Tn "SUNIX 406x (8 port serial)" .It Tn "SUNIX 407x (2 port serial and 1 port parallel)" .It Tn "SUNIX 408x (2 port serial and 2 port parallel)" .It Tn "SUNIX 409x (4 port serial and 2 port parallel)" .It Tn "SUNIX 5008 (1 port parallel)" .It Tn "SUNIX 5016 (8 port serial)" .It Tn "SUNIX 5027 (1 port serial)" .It Tn "SUNIX 5037 (2 port serial)" .It Tn "SUNIX 5056 (4 port serial)" .It Tn "SUNIX 5066 (8 port serial)" .It Tn "SUNIX 5069 (1 port serial and 1 port parallel)" .It Tn "SUNIX 5079 (2 port serial and 1 port parallel)" .It Tn "SUNIX 5099 (4 port serial and 1 port parallel)" .It Tn "Syba Tech Ltd. PCI-4S" .It Tn "Syba Tech Ltd. PCI-4S2P-550-ECP" .It Tn "SystemBase SB16C1050PCI (2 port serial)" .It Tn "SystemBase SB16C1054PCI (4 port serial)" .It Tn "SystemBase SB16C1058PCI (8 port serial)" .It Tn "US Robotics (3Com) 3CP5609 PCI 16550 Modem" .It Tn "VScom PCI-010HV2 (1 port parallel)" .It Tn "VScom PCI-010L (1 port parallel)" .It Tn "VScom PCI-011H (1 port parallel)" .It Tn "VScom PCI-100H (1 port serial)" .It Tn "VScom PCI-100L (1 port serial)" .It Tn "VScom PCI-110L (1 port serial and 1 port parallel)" .It Tn "VScom PCI-200 (dual serial)" .It Tn "VScom PCI-200H (dual serial)" .It Tn "VScom PCI-200HV2 (dual serial)" .It Tn "VScom PCI-200L (dual serial)" .It Tn "VScom PCI-200Li (dual serial)" .It Tn "VScom PCI-210L (2 port serial and 1 port parallel)" .It Tn "VScom PCI-400 (4 port serial)" .It Tn "VScom PCI-400L (4 port serial)" .It Tn "VScom PCI-800 (8 port serial)" .It Tn "VScom PCI-800H (8 port serial)" .It Tn "VScom PCI-800L (8 port serial)" .El .Pp The driver does not support the cards: .Pp .Bl -tag -width Fl -offset indent -compact .It Tn "Dolphin Peripherals 4006 (single parallel)" .It Tn "Dolphin Peripherals 4025 (single serial)" .It Tn "Dolphin Peripherals 4078 (dual serial and single parallel)" .El .Pp but support for them (and for similar cards) should be trivial to add. .Pp The .Ar port locator is used to identify the port (starting from 0) on the communications card that a subdevice is supposed to attach to. Typically, the numbering of ports is explained in a card's hardware documentation, and the port numbers used by the driver are the same as (or one off from, e.g. the manual uses ports numbered starting from 1) those described in the documentation. .Sh SEE ALSO .Xr com 4 , .Xr lpt 4 , .Xr pci 4 .Sh HISTORY The .Nm driver appeared in .Nx 1.4 . .Sh AUTHORS The .Nm driver was written by .An Chris Demetriou . .Sh BUGS The current design of this driver keeps any .Nm com ports on these cards from easily being used as console. Of course, because boards with those are PCI boards, they also suffer from dynamic address assignment, which also means that they can't easily be used as console. .Pp Some of the cards supported by this driver have jumper-selectable .Nm com port clock multipliers, which are unsupported by this driver. Those can be easily accommodated with driver flags, or by using a properly scaled baud rate when talking to the card. .Pp Some of the cards supported by this driver, e.g. the VScom PCI-800, have software-selectable .Nm com port clock multipliers, which are unsupported by this driver. Those can be accommodated using internal driver flags, or by using a properly scaled baud rate when talking to the card. .Pp Some ports use an .Nm lpt driver other than the machine-independent driver. Those ports will not be able to use .Nm lpt ports attached to .Nm devices.