Troubleshooting PaperCut’s Hardware Page Count
Out of the box, PaperCut NG/MF will analyze the spool files of print jobs as they pass through a print server to determine the total number of color or grayscale pages, but what if the copier jams and the document is only partly printed? The result might be end-users frustrated at lost credit, because of a mechanical problem which is out of their control.
The solution to this problem is PaperCut’s Hardware Page Count feature (also sometimes called Hardware Checks or Hardware Validation) which lets PaperCut query the printer over SNMP to get precise information about how many pages have been printed. When enabled, this makes it possible to determine if a print job has been truncated because of a paper jam, power outage, or any number of other reasons making it ideal for situations when users expect a refund if their document is only partly printed.
This article builds on the section in the manual called troubleshooting Hardware Page Count. Below are the problems we’ve seen with Hardware Page Count.
Did you remember to enable “Validate Page Count” on the printer in question?
Hardware Page Count is not enabled by default. To turn on this feature in PaperCut you must navigate to the printer you want to configure, then enable the tickbox for the
Validate page counts after printing option on every printer that you want to monitor. This setting can then be copied to other printers in PaperCut. Be wary about configuring this setting on your Template Printer as it’s easy to forget that you still need to configure the printer to use the PaperCut TCP/IP Port. The steps to enable this feature are explained thoroughly here in the manual.
Did you remember to configure the printer to use a PaperCut TCP/IP port?
This step is for Windows print queues only. On Windows print servers specifically, PaperCut needs to use a custom port called the PaperCut TCP/IP Port to manage these print jobs. Follow the instructions in the manual to set up the PaperCut TCP/IP Port for a certain printer, or use our PowerShell script to automatically convert all printers to use the PaperCut TCP/IP Port.
This PaperCut TCP/IP Port is not required for anything other than PaperCut Hardware Page Checking feature.
Is SNMP enabled and configured correctly?
The SNMP Community String or Name is like a “shared secret” or password, that is necessary to query a device using SNMP. Most network devices that support SNMP have a default community string “public” however many security conscious organizations disable SNMP or change the community string from the default. For PaperCut’s Hardware Page Count feature to work, SNMP must be enabled on the printer and must be configured so that it knows the correct SNMP community string to communicate with the printer. The steps to enable this feature are also explained thoroughly in the manual.
Please note that PaperCut only supports SNMPv1/2 for Hardware Page Count and SNMPv3 is not supported for this feature at this time.
Some slowness is expected (5 seconds in between each print job) when this feature is enabled for PaperCut to accurately record how many pages have truly printed. Please see the article How Does Hardware Checking Affect Printing Speed for a full discussion.
When Hardware Page Count is enabled, PaperCut will check to see if a printer is in an error state, such as “Paper Jam” or “Door Open”. If the printer reports a critical error then PaperCut will halt printing to that printer until the problem is fixed and printing resumes. This ensures that PaperCut is able to make certain the actual number of pages printed by the previous user.
Be aware that Konica Minolta and Toshiba models work a little differently. Skip to the subsection below for an explanation for these brands of printer.
The problem that arises is that depending on the make, model, and accessories of a particular printer can change the definition of a critical, page-stopping error. For example, an
No Paper error on a one-tray printer might stop printing, but a multi-tray printer may be able to print the document anyway assuming it has the same size paper loaded into another tray. If that happens, printing might halt to a particular printer even though the printer is capable of handling the job.
As you can see in the chart below, PaperCut will ignore certain status messages like
|Ignored Statuses||Critical Statuses|
|Service Requested||No Paper|
|Input Tray Empty||Door Open|
|Low Paper||Input Tray Missing|
|Low Toner||Output Tray Missing|
|No Toner||Input Tray Empty|
|Output Near Full||Jammed|
|Overdue Prevent Maintenance||Offline|
|Marker Supply Missing|
|Output Near Full|
|And any unknown status…|
If printing for a particular printer has stopped, we will ask you to…
- Determine the current state of the printer by running this in a command prompt window:
[app-path]\providers\print\win\pc-print-monitor.exe -h [printer-ip]
[app-path]/providers/print/[platform]/pc-print-monitor -h [printer-ip]
- Please share the output of that command with PaperCut Support Team so that we can track this information and pinpoint the status message.
- Depending on the result, we may ask you to edit the
print-provider.conffile on your print server to uncomment and modify the line
#HWCheckIgnoreErrors=Service Requested|Input Tray Empty|Low Paper|Low Toner|No Toner|Output Near Full|Overdue Prevent Maintenanceto change the list of errors which are ignored. Those changes should take effect immediately without needing to restart the PaperCut Print Provider service or the Windows Print Spooler.
Watch out! Extra care should be taken when PaperCut’s “Printer in Error” feature is enabled as there can be unintended consequences if the error list is modified for both of these features…
How does this work for Konica Minolta and Toshiba printers?
When it comes to Konica Minolta and Toshiba printers, this process is works a little differently. Instead of looking for specific SNMP errors like
No Paper we have a different method to check these makes of printer for suspended jobs to determine if there is a blocking error. The upshot is that PaperCut NG/MF can know for certain if the error is really an error that would block print jobs from releasing. The disadvantage to this method is that at least one print job needs to fail for PaperCut to know if there’s a blocking error.
There are many makes and models of printers and they all have a number of page count metrics which are specific to the particular printer. For example, some older printers simply don’t support reporting counts of color pages. We are able to read the SNMP output for many printers to get this data, but there are a number of printers which don’t advertise this information in a format we are able to interpret. If you are finding that the page count is not being checked for your printer then this might be the problem. For the next steps, please see the article Does my printer support Hardware Page Count with PaperCut?
Some Sharp printers have a setting whereby the SNMP printer state has been disabled. This means the printer’s states of “idle” and “printing” and other error states are not exported by SNMP. PaperCut hardware checking relies on this SNMP information and will have a difficult time operating without it.
A Sharp technician needs to check
simulation 55–03 and
software switch SW9 to see if
bit 5 is set to
0. PaperCut requires this to be disabled and have a value of
0 in order for hardware page checking to work reliably.
Please be aware this setting also has a knock-on effect to a Sharp device’s internal maintenance flag. A maintenance flag simply means a counter has reached a predetermined threshold and a preventative maintenance action should be done, it’s like an oil change for a car. Nothing is actually broken and the unit can continue to work but a technician visit should be scheduled. If the setting is
1 when the maintenance flag happens, the MFP will continue to function. If the setting is
0 when the flag happens, the MFP will be deemed out of service.
To verify if the printing state is exported by SNMP, you can use the
[app-path]\providers\print\[platform]\pc-print-monitor.exe -P -h [printer-ip]
After this, send a print job to the printer. It should change from “idle” to “printing” state when it is printing.
To enable debug logging for this feature, you simply need follow these steps to Enable Debug in the Print Provider. For Windows servers in particular one extra step is required. You must also restart the Windows Print Spooler Service so the PaperCut Port Monitor software (the PaperCut TCP/IP Port) is reloaded or reinitialized.
Still have questions?
Let us know! We love chatting about what’s going on under the hood. Feel free to leave a comment below or visit our Support Portal for further assistance.
Keywords: diagnose diagnosing snmp hardware validation debug troubleshooting problems
Last updated September 1, 2021