LinuxCommandLibrary

ippeveps

Manage IPP Everywhere self-setup print services

TLDR

Print a file to stdout (status and progress messages are sent to stderr)

$ ippeveps [path/to/file]
copy

Print a file from stdin to stdout
$ [wget --output-document - https://example.com/file] | ippeveps
copy

SYNOPSIS

ippeveps [-D level] [-d device-id] [-h | --help] [-m model] [-o format] [-p ppd-prefix] [-v] printer-uri

PARAMETERS

-D level
    Sets debug level (0-9, higher is more verbose)

-d device-id
    Uses specified device-id string for model lookup

-h, --help
    Shows command usage and options

-m model
    Uses specified model name instead of auto-detect

-o format
    Sets PPD output format (ppd or ppdc)

-p ppd-prefix
    Sets PPD nickName and modelName prefix

-v
    Shows version information

DESCRIPTION

The ippeveps command is a specialized tool for generating PostScript Printer Description (PPD) files tailored for Epson printers supporting IPP Everywhere (RFC 8011). It queries the target printer's IPP attributes over the network, extracts capabilities like supported media sizes, resolutions, and finishing options, and produces a PPD file compatible with the Epson ESC/P-R raster driver.

This is particularly useful for Linux environments using CUPS, where native Epson drivers may be unavailable or outdated. By creating a custom PPD, users can add full-featured support for modern Epson inkjets without proprietary software. The tool assumes the printer implements IPP Everywhere printer and document attributes, mapping them to PPD keywords for seamless integration.

Output is directed to stdout by default, allowing redirection to a file. It handles device ID parsing for model identification and supports debug logging for troubleshooting connectivity or attribute issues. Primarily used in OpenPrinting workflows to enable driverless printing on Epson hardware.

CAVEATS

Requires network access to an IPP Everywhere-capable Epson printer; fails if printer lacks required attributes or ESC/P-R support. Outputs to stdout; redirect explicitly. No USB/local support.

EXAMPLE USAGE

ippeveps http://printer.example.com/ipp/print > epson-ppd.ppd

Install PPD in CUPS: lpadmin -p PrinterName -v ippeveprinter://... -P epson-ppd.ppd

DEPENDENCIES

Requires libcups, libppd; built from ippeveprinter source on GitHub (msweet/ippeveprinter).

HISTORY

Developed by Michael R. Sweet in 2021-2023 as part of the OpenPrinting IPP Everywhere Printer project (ippeveprinter). Integrated into CUPS filters ecosystem for driverless Epson support.

SEE ALSO

ippeveprinter(8), ippfind(1), ppdmerge(1), rastertopwg(8)

Copied to clipboard