Skip to content

TESTING: Printer Support Levels

mounaiban edited this page May 21, 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 to aid users and developers in troubleshooting problems. They also serve to lock out printers whose support has been deemed inadequate for end users.

The levels specified are UNSUPPORTED, BROKEN, EXPERIMENTAL, WORKS and FULLY. As their meanings are yet to be explicitly defined at time of writing, an attempt will be made here.

Support Level Criteria

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

  • UNSUPPORTED: Driver recognises printer, but meaningful output is either impossible or only possible with effortful manipulation of the printer.

    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

To simplify sharing of test results between developers and with other projects, the support levels are tied to OpenPrinting functionality 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 consensus

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 must then 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