ChromeOS Compatible - Multifunction Printer (MFP) Specification v1.0

Version: 1.0.1
Last Updated: 2024-02-02

Legend

Product Verb Development Action
"MUST" Mandatory product requirement
"SHOULD" Optional recommendation
"MAY" Nice to have

Overview

This specification document outlines the scope and specifications for multi-function printer (MFP), single-function printer (SFP), and single-function scanner devices to be ChromeOS compatible.

Standards

Devices must implement the following key standards:

  • IPP Everywhere for printing
  • Mopria eSCL for scanning
  • IPP-USB required for USB-connected devices
  • IPP-Fax for devices that support PC-controlled faxing (future requirement)
  • TLS 1.2 or 1.3 required for network connections

Connection Types

A MFP device can support connections through USB, ethernet, Wi-Fi, or any subset of these. All connection types supported by the device must pass the relevant requirements in this document for certification.

Initial Setup

The user should be able to set up the device via progressive web app (PWA) or Android app on Chromebooks. If these are not available, initial device setup may require use of a mobile phone beyond the Chromebook and the MFP.

Setup over Specific connection types is described below.

USB

No configuration should be necessary for USB. When the device is plugged in, all features accessible over USB must be automatically enabled and detected.

Network

  1. (Preferred) The user performs Initial network configuration by setting ethernet parameters or connecting to a Wi-Fi network on the device front panel. Once the network is configured, printing and scanning should be enabled and discoverable on the network as described in the following sections.
  2. If the device does not have a front panel that is suitable for configuring the initial network connection, the user can set up the device with a ChromeOS-compatible PWA, a ChromeOS-compatible Android app, or a separate mobile phone app.
    1. Basic printing, scanning, and other relevant features must work natively in ChromeOS after initial setup, without requiring ongoing use of the app. See the next section for more details about post-setup app requirements.

Post-Setup Configuration and Maintenance

Basic printing and scanning must work natively in ChromeOS after initial setup without further configuration.

Some MFPs have additional features that may not be enabled by default or need further configuration after installation. Many devices also have features or utilities to perform required maintenance, such as checking supply levels, re-ordering ink and paper, print head alignment, etc. If a device has any features that fall into these categories, the user must be able to configure and use them from ChromeOS in one or more of the following ways:

  1. Device front panel. Since the user may initially configure their device for a connection through USB without setting up the network, it is recommended that at least the network connection be configurable through the device front panel.
  2. The administrator page of the built-in webserver, as specified by the adminurl field of the device's DNS-SD records.
  3. A ChromeOS-compatible PWA, ChromeOS-compatible Android app, or separate mobile phone app.

Printing

If the device supports printing, it must meet all aspects of the printing requirements for a single-function printer. If the device is a dedicated scanner without printing capabilities, it may be certified as long as it meets all the other requirements in this document.

Scanning

The device must be compliant with Mopria's eSCL specification and scanning must be enabled by default. In addition to the requirements from the specification, ChromeOS has some specific expectations that are detailed in the single-function scanner spec.

Faxing

The device may provide fax functionality, although fax support is not required for ChromeOS compatibility. If it does support fax, both sending and receiving faxes must be fully functional from the device front panel. If basic fax functionality requires additional software not available on ChromeOS, the device is not ChromeOS compatible.

Some MFP devices offer additional advanced fax features that require additional software (such as sending a fax directly from the computer or receiving a fax directly to the computer) that does not work in ChromeOS. If the device offers these types of fax features, this does not block certification as long as the feature is clearly marked as "unsupported on ChromeOS" on product packaging.

Future versions of ChromeOS may support IPP-Fax. The MFP device should support IPP-Fax if it allows computer-controlled faxing.

Card readers and USB storage

The MFP device may support storage expansion over card readers, USB storage, or other mechanisms to add storage directly to the MFP. The device is not required to support storage expansion.

If the MFP device does not have any mechanism to attach additional storage or if an MFP supports add-on storage but does not expose it externally (i.e., the storage is used only internally as a print source or scan destination), then this section does not apply.

If the MFP device supports storage expansion and makes that storage visible to a USB-connected computer, it must show up as a standard USB mass storage, MTP, or PTP volume that can be mounted on the Chromebook without any additional software.

If the MFP device supports add-on storage and makes it available over the network, it must offer an SMB share that can be discovered and mounted by the ChromeOS Files app.

  • The device must register a _smb._tcp name for DNS-SD.
  • SMB sharing does not have to be enabled by default. If it is not, the user must be able to enable and configure it through one of the supported post-setup configuration mechanisms described in Post-Setup Configuration and Maintenance above.
  • The device may support Additional network sharing protocols as long as they can be used concurrently with SMB.
  • If SMB is not enabled by default, it must be at least as easy to enable it as any other network sharing mechanism offered by the device.

App-controlled Features

Some devices have a companion app that can control various device features. These apps do not impact certification as long as they are supplemental: If the advertised device features work natively in ChromeOS without the app, the app may provide another avenue to access the device. The app should be distributed in the Play Store as a ChromeOS-compatible Android app, or alternatively should be a ChromeOS-compatible PWA.

If advertised device features cannot work without the app, this must be clearly indicated on product packaging and manuals.

Concurrent Access

The MFP device must not lose user data or crash when the user attempts to access multiple functions concurrently. No specific strategy for preventing or allowing concurrent access is required. For example, if the user tries to print while a scan job is in progress, the device might reasonably:

  • Reject the print job request with a "printer busy" error.
  • Buffer the print job and print it after the scan completes.
  • Print while scanning if the hardware can do both simultaneously.
  • Cancel the scan job with an error if another job (e.g., an incoming fax) is a higher priority.
  • Something else, as long as it is consistent and not surprising to the user.

Examples of Outcomes that would not be reasonable include:

  • Return a truncated scan result without an error or silently drop the scan job to give priority to the print job.
  • Crash the device or the host, or go into a wedged state that requires user intervention for recovery.
  • Accept the print job and drop it.

Other Features

The list of features above is non-exhaustive. The MFP may offer additional features or capabilities. If additional features do not work on ChromeOS, this lack of support must be clearly indicated on product packaging and manuals.

Firmware Updater

Peripherals must be able to be patched, in case vulnerabilities are discovered in the future. A peripheral with known vulnerabilities will be blocked from connecting with a ChromeOS host.

If the device has any network or wireless capabilities, it must have a mechanism for secure firmware updates. If a device only has USB connectivity, it should have a firmware update mechanism.

A device that can update firmware must have at least one mechanism that is compatible with ChromeOS, such as:

  • (Preferred) The device uses its internet connection to check for and automatically install firmware updates.
    • If the device prompts the user before installing an update, it must either do so on the device front panel or through a ChromeOS-compatible Android app.
  • The user downloads a signed firmware file from the manufacturer's website and uploads it using the device's web admin page.
  • USB firmware updates with fwupd and the Linux Vendor Firmware Service. If fwupd is supported, it must meet the public ChromeOS firmware security requirements. This will require additional coordination to ensure that updates are securely shipped to ChromeOS devices.
  • Updates downloaded and installed through a ChromeOS-compatible PWA or Android app.

If a device requires software that does not run on ChromeOS to update its firmware and does not provide any ChromeOS-compatible update mechanism, the device cannot be certified.

Additional Resources

Revision history

Date Version Notes
2024-02-02 1.0.1 Fix links to other specs
2024-02-01 1.0 Initial Partner Site Publication