| commit | 0df993caa895d519ec388c2a2bbb7aad7a5b67d4 | [log] [tgz] |
|---|---|---|
| author | Benjamin Gordon <[email protected]> | Wed May 17 15:46:20 2023 |
| committer | Chromeos LUCI <[email protected]> | Thu May 18 21:33:04 2023 |
| tree | 881f116f71e21f471faedcc25685ced23f1ce016 | |
| parent | 7a80df5bd2636d9ef60735ed859b8c156045b19b [diff] |
virtual-usb-printer: Add DIR_METADATA This sets our bug component and dedicated test suite. BUG=b:271011193, b:234625517 TEST=CQ Change-Id: I2b69fc5eed3a4a729f11a5beedc9a28a49ecead6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/virtual-usb-printer/+/4544520 Auto-Submit: Benjamin Gordon <[email protected]> Tested-by: Benjamin Gordon <[email protected]> Reviewed-by: Piotr Pawliczek <[email protected]> Commit-Queue: Piotr Pawliczek <[email protected]>
Virtual USB Printer provides a server which can be used with USBIP in order to emulate a USB printing device and bind it to the system as if it were physically connected to a USB port.
Virtual USB Printer supports both regular USB printers as well as IPP-over-USB devices.
This project was created in order to make on-device tests which check for any regressions in the native USB printing system.
As of https://crrev.com/c/3093381, virtual-usb-printer is built and installed by default on all test images that support it.
If for some reason you need to build it yourself, you can USE=usbip when building packages for your board - i.e.
USE="usbip" ./build_packages --board=$BOARD
virtual-usb-printer relies on usbip to manifest as a virtual USB device. Most test images seem to come with this built-in by default. If you need to build your own kernel with usbip support, make sure to build with CONFIG_USBIP_CORE and CONFIG_USBIP_VHCI_HCD.virtual-usb-printer can behave like
For ease of human operation, start virtual-usb-printer via its Upstart unit. Pass the appropriate arguments to the invocation as needed.
For example, to start and connect the virtual-usb-printer as an IPP-over-USB printer, issue
start virtual-usb-printer USB_DESCRIPTORS=ippusb_printer.json IPP_ATTRIBUTES=ipp_attributes.json
Consult the Upstart config file to see the arguments understood in this context.
virtual-usb-printer sends its output to the system log.The printer's USB descriptors and defined IPP attributes can be configured using a JSON file and are loaded at run-time using command line flags. Example configurations can be found in the config/ directory.
The configuration files can be loaded with the following flags:
--descriptors_path - full path to the JSON file which defines the USB descriptors--attributes_path - full path to the JSON file which defines the supported IPP attributes--record_doc_path - full path to the file used to record documents received from print jobs--output_log_dir - directory path specifying where scan settings will be loggedRefer to these existing tast tests for examples of how to use the virtual-usb-printer to test the Chromium OS printing stack.