PaperCut MF and PaperCut NG track the error status of your printers. This printer error state is used by the application for various features, such as:
Error notification emails to administrators.
Deciding which destination printer to use for a virtual printer in a load balancing setup.
Informing users if they try and release a job to a printer in error during Secure Print Release.
Real-time status reporting on the Dashboard of the Admin web interface.
Under Windows, there is good support for printer errors due to the appropriate Microsoft APIs, as described here:
http://support.microsoft.com/kb/160129, as well as driver support for the proactive monitoring of printers.
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.
As of version 17.4.2 of PaperCut MF and PaperCut NG, the Print Provider on Windows print servers can be reconfigured to also use SNMP to check for printer error states, instead of solely relying on updates from the Windows print queue. In some circumstances, 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 try it out, the ErrorPollMethod=snmp option can be enabled, as found in the [app-path]\providers\print\win\print-provider.conf configuration file on your Windows print server.
Q What do these pc-event-monitor processes do?
The 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-client that 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.conf file for changes when printers are added or removed
For iPrint, they monitor the iprint/padbtxt.xml file for changes when printers are added/removed
Determining if a held job has been released yet
Monitoring of 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
Keywords: virtual printer errors, snmp, cups, out of paper