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.
Note that SNMP v3 support from PaperCut version 19.0, does not add SNMP v3 support for the Print Provider and hence there is no SNMP v3 error notifications support in 19.0 (this will be done in a later release).
Q What do these
pc-event-monitor processes do?
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