14. SavaPage as Printer
Table of Contents
14.1. IPP Everywhere and AirPrint
14.1.1. Introduction
IPP EverywhereTM is a PWG standard that allows personal computers and mobile devices to find and print to networked (and USB) printers without using vendor-specific software (printer drivers). It is based on IPP/2.0 and Zero-configuration networking (Zeroconf) for automatic printer discovery on Internet Protocol (IP) networks. IPP Everywhere printers accept PWG Raster Format and JPEG (required) and PDF (recommended) print content.
The terms “Zeroconf” and “Bonjour” are often used interchangeably,
although Zeroconf refers to the technology in general and Bonjour
is the Apple branded implementation.
|
SavaPage AirPrint is discussed for each platform separately:
The IPP Printer attributes of SavaPage can be checked with the ipptool
command as follows:
# install ipptool
sudo apt install cups-ipp-utils
# get printer attributes
ipptool -tv ipps://savapage.local:8443/printers/airprint get-printer-attributes.test
Note
The Default Paper
Size is
used as media-default.
14.1.2. Step 1: Check Avahi configuration
To advertise SavaPage as Zeroconf printer, Avahi needs to be installed on your GNU/Linux host.
To service a broad range of devices, both IPv4 and IPv6 should be enabled in the avahi-daemon. This is normally the case, but you can check by editing the Avahi configuration file:
sudo vi /etc/avahi/avahi-daemon.conf
Make sure settings are as follows:
use-ipv4=yes
use-ipv6=yes
If you made changes to the configuration file, restart the daemon as follows:
sudo systemctl restart avahi-daemon.service
14.1.3. Step 2: Create AirPrint Queue
The URL path of Reserved Queue
called /airprint is available by default.
You can create a new SavaPage Queue (see Queues) with another path if you like. It is important though to select Standard or Basic for Authentication, since the queue must be untrusted to enforce either IP Based Authentication or Basic Authentication. This is needed because AirPrint is inherently unauthenticated.
Important
IP addresses from private networks are allowed by default. If you need to allow addresses from public networks, you must override the default setting by adding one or more CIDR sets containing allowed IP ranges (including those from private networks). See Edit Queue.
14.1.4. Step 3: Create Avahi Service File
Copy the
/opt/savapage/server/examples/linux/avahi/savapage.service
file to your personal home directory.
savapage.service is an Avahi service file with annotations
explaining how to adapt it to your own situation. Follow the
$Customize$ annotation to insert your settings.
Copy your tailored service file to Avahi, with this command (assuming the source file resides in your home directory):
sudo cp ~/savapage.service /etc/avahi/services
Check if Avahi has published the SavaPage printer as intended by typing this command:
avahi-browse -a -t
Assuming your GNU/Linux host is called savapage and you named your Avahi
print service SavaPage, you should find entries in the output like this :
+ eth1 IPv6 SavaPage on savapage _ipps._tcp local
+ eth1 IPv4 SavaPage on savapage _ipps._tcp local
+ eth1 IPv6 SavaPage on savapage Internet Printer local
+ eth1 IPv4 SavaPage on savapage Internet Printer local
To check if the SavaPage DNS printer can be found, use this command on a macOS or GNU/Linux workstation :
ippfind _ipp._tcp _ipps._tcp [1]
Assuming your GNU/Linux server host is called savapage in the Avahi service
file, you should see these entries like this as output:
ipp://savapage.local:8631/printers/airprint
ipps://savapage.local:8632/printers/airprint
