PaperCut provides accurate tracking of printer usage by analyzing the printer spool file on the server. Before the job is sent to the printer, PaperCut determines the job attributes including the page count, color/grayscale, duplex, paper-size, etc. There are some cases where the pages printed can differ from PaperCutís up-front analysis. Hardware checking can be used to confirm with the printer how many pages were printed.
Hardware checks can improve log accuracy, but it does slow down printing a little by causing a delay between print jobs. To explain why this is the case we first explain how hardware checking works.
How does hardware checking work?
The Printer SNMP standard allows querying of printer status and page count information over SNMP. PaperCut makes use of this information to verify the number of pages printed for each print job. This works as follows:
- Before the print job is sent to the printer PaperCut confirms the printer is idle (i.e. not printing).
- A snapshot of the page counters is retrieved using SNMP.
- PaperCut waits for the job to complete by querying the printer status and page counts. If the printer is in error (e.g. out of paper), then PaperCut will continue to wait until the printer error is resolved and the job completes printing.
- Once the job is completed and the printer is idle, another snapshot of the page counts is taken.
- The total pages printed is calculated using the differences between the initial and the post-job snapshot.
How does hardware checking affect printing speed?
Hardware checking affects printing speed by introducing a delay between print jobs while it is waiting for the previous job to complete printing (Step 3 above). PaperCut detects a job has completed by querying the SNMP status and waiting for the device to go into an “idle” state. PaperCut waits to see a few seconds of consistent idle state before taking a snapshot of the page counts and releasing the next job. We wait this time because some printers briefly indicate they are idle whilst still printing a job. PaperCut needs to be 100% sure the previous job has finished before continuing.
This process of waiting for the printer to become idle introduces 2 types of delays:
- The delay whilst waiting for the printer to become idle.
- The delay caused by not allowing the next job to spool while the previous job is being completed. With hardware checking disabled, this process allows the printer to start processing the next job before the previous job is completed.
What options do I have to improve printing speed?
Enabling hardware checking will slow down printing to a degree. So there is a compromise between improved logging accuracy and the speed of printing. Each site needs to evaluate this compromise to determine if hardware checking meets their needs. Hardware checks can be disabled if printing speed is a priority.
Some sites choose to enable hardware checking to more closely match PaperCut logs with the devices meter/billing counters. If this is the only reason, we generally recommend against this as there will always be some level of discrepancy between these counters as discussed here.
There is some possibility to reduce the amount of time PaperCut waits for a job to become idle (Step 3 above). This can be configured if your printers reliably indicate their idle/printing status. PaperCut support can assist with this configuration, but these configuration changes will need to be done with testing of the printers at the site.
Keywords: snmp, hardware check, hardware validation, printer port, slow printing, delayed printing