puc(4)

puc4

Pci “universal” communications driver

Usage

device pci device puc device uart device ppc

Overview

The puc driver acts as a shim to connect PCI multi-port serial and parallel adapters to the uart(4) and ppc(4) driver.

Hardware

The puc driver supports the following PCI/PCIe multi-port serial and parallel adapters:

  • Advantech 2-port PCI PCI-1602/1603 Rev A/B1

  • Applied Micro Circuits PCI 8 Port UART

  • Avlab Technology PCI IO 2S

  • Avlab Low Profile PCI 4 Serial

  • Boca Research PCI Turbo Serial 658/654

  • Brainboxes:

    • Instashield PCIe IX-400, IX-200, IX-100

    • Instashield PCI IS-400, IS-200

    • PX Series PCIe RS232/RS422/RS485/LPT

    • UC Series Universal PCI RS232/RS422/RS485/LPT

    • UP Series PCI Dual RS232

  • Comtrol RocketPort 550 PCI 16/8/4 port

  • Decision Computer PCCOM PCI 8/4/2 port

  • Digi Neo PCIe 4 and 8 Port (with and without RJ45)

  • Digi Neo PCI 4 and 8 Port

  • Dolphin Peripherals PCI 4035/4014

  • Exar:

    • XR17C/D152

    • XR17C154

    • XR17C158

    • XR17V258IV

    • XR17V352

    • XR17V354

    • XR17V358

  • Feasso PCI FPP-02 2S1P

  • HP Diva Serial [GSP] Multiport UART:

    • Tosca Console

    • Tosca Secondary

    • Maestro SP2

    • Superdome Console

    • Keystone SP2

    • Everest SP2

  • I-O DATA RSA-PCI2/R

  • IBM SurePOS 300 Series (481033H) serial ports

  • IC Book Labs:

    • Dreadnought x16 Pro/Lite

    • Ironclad x8 Pro

    • Gunboat x4 Pro/Lite/Low Profile

    • Gunboat x2 Low Profile

  • Kuroutoshikou SERIAL4P-LPPCI2

  • Lava Computers:

    • Dual Serial PCI

    • Quattro-PCIe

    • Quattro-PCI

    • Octopus-550 PCI

  • Moxa Technologies:

    • Smartio CP-102E/PCIe

    • Smartio CP-102EL/PCIe

    • Smartio C104H/PCI

    • Smartio CP-104UL/PCI

    • Smartio CP-104JU/PCI

    • Smartio CP-104EL/PCIe

    • Smartio CP-104EL-A/PCIe

    • CP-112UL PCI

    • Industio CP-114

    • Smartio CP-114EL/PCIe

    • Smartio CP-118EL-A/PCIe

    • C168H/PCI

    • C168U/PCI

    • CP-168EL/PCIe

    • Smartio CP-168EL-A/PCIe

  • NetMos NM9815 Dual 1284 Printer port PCI

  • NetMos NM9835 2/1 port UART + 1284 Printer PCI

  • NetMos NM9845 4/6 port UART + 1284 Printer PCI

  • NetMos NM9865 4/3/2 port UART + 1/2 port 1284 Printer PCI

  • Oxford Semiconductor based boards:

    • OX16PCI952 UART (with and without Parallel port)

    • OX16PCI954 UART

    • OX9160/OX16PCI954 UARTs

    • OX16PCI958 UART

  • Perle Ultraport4 Express PCIe Serial

  • Perle Speed8/Speed4/Speed2 LE PCI Serial

  • Quatech:

    • DSC-300/200/100 PCI

    • DSCLP-300/200/100 PCI

    • ESC-100/100D/100M PCI

    • QSC-300/200/100 PCI

    • QSCLP-100 PCI

  • SIIG Cyber Series of UART and parallel port boards:

    • Cyber 2S and 2SP1 PCI 16550

    • Cyber 4 and 4S PCI 16C650 (10x family and 20x family)

    • Cyber I/O PCI (10x family and 20x family)

    • Cyber Parallel Dual PCI (10x family and 20x family)

    • Cyber Serial Dual PCI (10x family and 20x family)

    • Cyber 2S1P PCI (10x family and 20x family)

    • PS8000 8S PCI 16C650 (20x family)

    • Quartet Serial 850 PCI

  • Sun 1040 PCI Quad Serial

  • Sunix MIO5xxxx 4/2/1 port UART and 1284 Printer

  • Sunix SUN1889/1888 PCI dual port serial

  • Sunix SER5xxxx 8/4/2 port serial

  • Syba Tech Ltd PCI-4S2P-550-ECP

  • Systembase SB16C1054/8 4/8 port serial

  • Titan PCI-800H/PCI-200H

  • VScom:

    • PCIex-800H

    • PCI-200HV2

    • 200Li uPCI

    • PCI-800L, PCI-200L, and PCI-100L

    • PCI-800, PCI-400, and PCI-200

Files

sys/dev/puc/pucdata.c

list of supported devices

Releases

63 releases since FreeBSD 4.6-RELEASE; the text changed 37 times.

  1. 4.6–4.10
  2. 4.11
  3. 5.0–5.1
  4. 5.2–6.3
  5. 6.4
  6. 7.0
  7. 7.1
  8. 7.2
  9. 7.3
  10. 7.4
  11. 8.0
  12. 8.1
  13. 8.2
  14. 8.3
  15. 8.4
  16. 9.0
  17. 9.1
  18. 9.2
  19. 9.3
  20. 10.0
  21. 10.1
  22. 10.2
  23. 10.3
  24. 10.4
  25. 11.0
  26. 11.1
  27. 11.2
  28. 11.3
  29. 11.4
  30. 12.0
  31. 12.1
  32. 12.2
  33. 12.3
  34. 12.4
  35. 13.0–13.2
  36. 13.3–14.2
  37. 14.3–14.5
  38. 15.0–16.0

History

This driver took the idea from the NetBSD puc driver. It uses a substantial amount of the same data.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.