Skip to content

TESTING: Printer Support Levels

mounaiban edited this page May 4, 2020 · 3 revisions

Printer Support Levels in Captdriver

Captdriver keeps track of the level of support in its code with a series of support levels, in printer.h. These levels appear to be intended for informing users and developers reviewing and sharing error logs to aid in debugging and diagnostics. They also serve to lock out unsupported printers that are deemed insufficiently supported for end users.

The levels specified are UNSUPPORTED, BROKEN, EXPERIMENTAL, WORKS and FULLY. Their meanings are yet to be explicitly defined at time of writing; an attempt is being made here. To simplify reporting, the support levels are tied to OpenPrinting functionality categories.

Support Level Criteria

The proposed criteria for support levels as of 0.1.4 are as follows:

  • UNSUPPORTED: Driver recognises printer, but no meaningful output is possible at the current level of completeness without precise manipulation of the printer using debugging tools.

    This is the only level which Captdriver prevents printing via CUPS.

  • BROKEN: Special level to report a significant loss of functionality for a printer that has occurred since a previous commit. It should only be used for comparing levels of support during the course of development.

    Once lost functionality is restored and verified, the printer should be re-assigned to an appropriate support level. This level should not be used for tagged releases.

  • EXPERIMENTAL: Meaningful output is possible from conventional applications, but not to the level of performance and reliability that is deemed suitable for end-user daily use. This level is generally meant to be assigned to printers that pass a small majority of the Essential Tests.

  • WORKING: Accurate output, with a level of performance and reliability suitable for end-user daily use is possible, despite some missing features. This level should only be assigned to printers that pass all of the Essential Tests.

    Printers that fail any Essential Test may be assigned to this level by user ballot.

  • FULLY: Short for fully working. Captdriver can be a substitute for the original drivers for the printer. All advertised features of the printer are supported, to a level of performance and reliability that matches or exceeds the original drivers.

    This level should only be assigned to printers that pass all components of the Essential and Device-Specific Extended Tests, or by user ballot.

OpenPrinting Categories

The proposed mapping of Captdriver support levels to OpenPrinting categories is as follows:

Level OpenPrinting Category
UNSUPPORTED Paperweight
EXPERIMENTAL Partially
BROKEN no equivalent category
WORKING Mostly
FULLY Mostly or Perfectly, depending on user experience

Buggy Original Drivers and Firmware

If the original driver for a particular printer is affected by issues preventing reliable operation, it may be necessary to exceed the capabilities of the original driver to qualify for the WORKING and FULLY levels.

Testing criteria for the FULLY level may be relaxed if a printer suffers a firmware bug that prevents an advertised feature from working properly and updates are no longer available. The issue is must be clearly documented and end users adequately informed.

References

find_ops(). printer.c. Captdriver source tree.

About the data. Printer Compatibility Database. OpenPrinting. https://openprinting.org/database

Bookmarks

Installation Guide

Targeted Printers

Essential Test Suite

Unofficial Introduction to CAPT (Executive Summary)

Support Levels

Rootless Write Access To USB Devices

Miscellaneous Tips

Wishlists

Other Canon Printer-Related Projects

SPECS: 0xA1A1 Command and Response Format

Home Page

Search for pages starting with

  • SPECS for notes on the operation of the CAPT data formats and communications protocol
  • TESTING for guidelines on testing Captdriver
  • TIPS for potentially helpful information on studying the project or the CAPT format-protocol
Clone this wiki locally