Transcription of Universal Serial Bus Device Class Definition for Printing ...
1 Universal Serial BusDevice Class DefinitionforPrinting DevicesVersion 4, 1997 USB Device Class Definition for Printing DevicesPage iiVersion IPBK evin PackardJeanette PackardTodd PackardErik W. T. TechnologiesKevin Computer ConsultantsJohn Technologies EditorPhoenix TechnologiesCurtis Stevens, Device Class Definition for Printing DevicesVersion iiiUSB Communication Device Class Definition for printer DevicesCopyright 1996 & 1997, USB Implementers rights PROPERTY DISCLAIMERTHIS SPECIFICATION IS PROVIDED AS IS WITH NO WARRANTIES WHATSOEVER INCLUDINGANY WARRANTY OF MERCHANTABILITY, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANYWARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL.
2 SPECIFICATION, OR LICENSE IS HEREBY GRANTED TO REPRODUCE AND DISTRIBUTE THIS SPECIFICATION FORINTERNAL USE ONLY. NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OROTHERWISE, TO ANY OTHER INTELLECTUAL PROPERTY RIGHTS IS GRANTED OR OF THIS SPECIFICATION DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FORINFRINGEMENT OF PROPRIETARY RIGHTS, RELATING TO IMPLEMENTATION OFINFORMATION IN THIS SPECIFICATION. AUTHORS OF THIS SPECIFICATION ALSO DO NOTWARRANT OR REPRESENT THAT SUCH IMPLEMENTATION(S) WILL NOT INFRINGE other product names are trademarks, registered trademarks, or servicemarks of their respective send comments via electronic mail to Device Class Definition for Printing DevicesVersion vTable of Contents1.
3 INTRODUCTION .. Scope .. Purpose .. Related Documents ..12. MANAGEMENT FUNCTIONAL Operational Interfaces .. Status Reporting ..44. REQUESTS .. Standard Requests .. Class -Specific Requests ..55. STANDARD DESCRIPTORS .. Device Configuration Descriptor .. Interface Descriptors .. Endpoint Device Class Definition for Printing DevicesPage viVersion of TablesTABLE 1 - Class -SPECIFIC REQUESTS ..5 TABLE 2 - CAPABILITIES 3 - printer PORT STATUS ..6 TABLE 4 - Device DESCRIPTOR ..7 TABLE 5 - CONFIGURATION DESCRIPTOR.
4 8 TABLE 6 - INTERFACE DESCRIPTOR ..9 TABLE 7 - ENDPOINT 8 - BULK OUT ENDPOINT DESCRIPTOR ..10 TABLE 9 - BULK IN ENDPOINT DESCRIPTOR ..10 USB Device Class Definition for Printing DevicesVersion Universal Serial Bus (USB) is a communications architecture that gives a PC the ability to interconnect avariety of devices via a simple four-wire cable. One such Device is the printer . Traditionally, printers have beeninterfaced using the following technologies: Unidirectional parallel port Bi-directional parallel port Serial port SCSI port Ethernet/LANT here are other, more sophisticated printer interfaces, but the ones previously listed are the most popular.
5 USBoffers a much greater throughput capability than the Serial port and is comparable in speed to the parallel port. Thismakes both parallel and Serial printers good candidates for interfacing with are two different types of bi-directional parallel ports: ECP and EPP. EPP is a standard parallel port based onIEEE-1284 which supports one Device . ECP is a parallel port standard based on both IEEE-1284 and USB addressing techniques very closely mimic the concept of multiple devices . Thisspecification supports printers by defining a way for USB devices to emulate an ECP or EPP parallel document fully describes the printer Class of USB devices , including: The printer Class subclass and protocol.
6 Device , configuration, interface, and endpoint descriptors. The USB standard requests used by printer devices . The USB Class -specific requests and responses used by printer purpose of this document is to describe configuration, interface, and endpoint descriptors as well as acommunications protocol for operating system, BIOS, and peripheral designers implementing support for USBprinters. These definitions allow an operating system designer to design a single software package to support a givenclass or subclass of Device .
7 These definitions also provide a framework for designing the peripherals in each Class DocumentsThe printer Class defines an architecture for delivering existing printer -command sets to a USB printer . Thefollowing documents include relevant USB publications as well as some popular printer PDLs and PCPs: Universal Serial Bus Specification, revision (also referred to as the USB Specification). Inparticular, see Chapter 9, USB Device Framework. This specification is available on the World WideWeb site PostScript language Reference Manual, Second Edition.
8 Addison-Wesley Publishing Company, : 0-201-18127-4. PCL / PJL technical Reference Package. HP part number 5961-0937. Hewlett-Packard Company. 1-800-227-8164 or This specification does not define Page Description Languages (PDL) or printer Control Protocols (PCP).This specification defines interfaces that are intended to support existing PDLs and Device Class Definition for Printing DevicesPage 2 Version Includes: PCL 5 language technical Reference Manual and printer Job language technical ReferenceManual IEEE 1284 IEEE IEEE IEEE OverviewPrinting devices are unique because they convert a Page Description language (PDL) into a human-readable printedpage.
9 Printers require a mechanism for sending these PDLs, in the form of data, to the printer ; and a mechanism forreturning status information from the printer . Conventional parallel printers use a bi-directional printer port tosupport these languages. USB uses a Bulk OUT endpoint to send the data to the printer , and a Bulk IN endpoint forstatus and other data received from the printer . The Bulk IN endpoint is sufficient for status data retrieval because intoday s existing implementations, the parallel status information is retrieved via polling mechanisms in the PDLs allow the printer to return large amounts of data, such as font definitions.
10 If the printer implements thiscapability, it returns the data on the same Bulk IN endpoint which is typically used for status. Some examples ofPDLs are: PostScript and Hewlett Packard Graphics language (HPGL). Examples of printer Control Protocols(PCP) are: Hewlett Packard PJL, IEEE , and Microsoft Windows Printing System (WPS). The USB DeviceClass Definition for Printing devices provides a mechanism for administering all of the previously printers report their capabilities via the Class -specific command GET_DEVICE_ID which returns a Device IDstring that is compatible with IEEE-1284.