PaperCut MF and NG have the ability to detect whether printers are in an error state, like if there is a paper jam for example.
When set-up correctly, PaperCut can leverage this information in several different ways:
- Real-time status reporting on the Dashboard of the Admin web interface.
- Email notifications to administrators.
- Deciding which destination printer to use for a virtual printer in a load balancing setup.
- Preventing users from releasing print jobs to a printer in an error state.
The PaperCut server can gather this information from printers using a couple of different methods depending on the server OS, version, and how the system is configured.
There are two different ways that PaperCut running on Windows can obtain information about a printer’s state.
The first option works out of the box. By default a PaperCut server can interface with the Windows printing system to determine the state of a printer. Windows printing systems have long had the ability to get the current status of a printer and display this to users, as described here: http://support.microsoft.com/kb/160129.
The second option, introduced with PaperCut version 17.4.2, is not on by default but when it is enabled then the PaperCut Print Provider will query a printer using SNMP. This may result in error states being reported more quickly and responsively. For example, you may notice a delay between an error first occurring at a printer and it’s subsequent reporting via the Windows print queue when using the PaperCut TCP/IP Port, instead of the Windows Standard TCP/IP Port with SNMP enabled (this is a requirement for our Hardware Checks feature).
To configure PaperCut to query printers over SNMP to determine the error state, instead of relying on Windows you will need to edit the configuration file for a PaperCut component known as the Print Provider that runs on all PaperCut servers, Secondary Servers, Site Servers, and workstations running the Direct Print Monitor.
- Log into the PaperCut server, Secondary Server, Site Server that you want to manage.
- Navigate to
[application-directory]/providers/print/[platform]/. (On a Windows PaperCut MF Secondary Server this may be located in
C:\Program Files\PaperCut MF\providers\print\win\.)
- Open print-provider.conf with a plaintext editor such as Notepad.
- Find the line starting with
#ErrorPollMethodand update this to
- Save this file.
- For the changes to take effect restart the PaperCut Print Provider service on the Secondary Server or workstation running the Direct Print Monitor with a restart. Alternatively you can open services.msc, right click on the PaperCut Print Provider Service and choose restart.
For Linux, macOS, and iPrint, we use a program called pc-event-monitor which creates processes for monitoring the printer state using the data retrieved from said printers using SNMP. This was added in PaperCut MF and PaperCut NG versions 12.3. The program pc-event-monitor creates a number of different processes on Linux, macOS, and iPrint. The purpose of these processes includes:
- For CUPS (Linux/macOS), they look for new print jobs and make “pre-notification” calls in order to advise the
pc-clientthat a new job has been detected before print job analysis has been completed (i.e. before the print job has finished spooling)
- For CUPS (Linux/macOS), they monitor the
/etc/cups/printers.conffile for changes when printers are added or removed
- For iPrint, they monitor the
iprint/padbtxt.xmlfile for changes when printers are added/removed
- Determines if a held job has been released yet
- Monitors the SNMP error data for printers
- If any printer goes into an error state, then a separate process to monitor the printer is created, and will continue to run until the printer exits said error state
- While support for SNMPv3? in PaperCut was introduced in version 19.0, this still does not include SNMPv3? error notifications. However, there is an intention to add this in a future release.
Keywords: virtual printer errors, snmp, cups, out of paper