throbber
Universal Serial Bus Specification Revision 2.0
`
`Feature selectors are used when enabling orsetting features, such as remote wakeup,specific to a device,
`interface, or endpoint. The values for the feature selectors are given in Table 9-6.
`
`Table 9-6. Standard Feature Selectors
`
`
`
`
`
`DEVICE_REMOTE_WAKEUP Device
`
`ENDPOINT_HALT
`
`Endpoint
`
`If an unsupported orinvalid request is made to a USB device, the device responds by returning STALLin
`the Data or Status stage of the request. If the device detects the error in the Setup stage, it is preferred that
`the device returns STALLat the earlier of the Data or Status stage. Receipt of an unsupported or invalid
`request does NOTcause the optional Halt feature on the contro! pipe to be set. If for any reason, the device
`becomes unable to communicate via its Default Control Pipe due to an error condition, the device must be
`reset to clear the condition and restart the Default Control Pipe.
`
`9.4.1 Clear Feature
`
`This request is used to clear or disable a specific feature.
`
` 00000000B
`
`00000001B
`00000010B
`
`CLEAR_FEATURE
`
`Feature
`Selector
`
`Zero
`Interface
`Endpoint
`
`Zero
`
`Feature selector values in w/a/ue must be appropriate to the recipient. Only device feature selector values
`may be used whentherecipientis a device, only interface feature selector values may be used whenthe
`recipient is an interface, and only endpoint feature selector values may be used whentherecipientis an
`endpoint.
`
`Refer to Table 9-6 for a definition of which feature selector values are defined for whichrecipients.
`
`A ClearFeature() request that references a feature that cannot be cleared, that does not exist, or that
`references an interface or endpoint that does not exist, will cause the device to respond with a Request
`Error.
`
`If wLength is non-zero, then the device behavioris not specified.
`
`Default state:
`
`Device behavior when this request is received while the device is in the Default state
`is not specified.
`
`Addressstate:
`
`This request is valid when the deviceis in the Address state; references to interfaces
`or to endpoints other than endpoint zero shall cause the device to respond with a
`Request Error.
`
`Configured state:|This request is valid when the deviceis in the Configuredstate.
`
`Note: The Test_Modefeature cannot be cleared by the ClearFeature() request.
`
`252
`
`ZTE/SAMSUNG 1008-0280
`ZTE/SAMSUNG 1008-0280
`IPR2018-00110
`IPR2018-00110
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`9.4.2 Get Configuration
`This request returns the current device configuration value,
`
`
`100000008~~|GET_CONFIGURATION pe|zw|ow Gantigination
`
`Value
`
`If the returned valueis zero, the device is not configured.
`
`If wValue, wIndex, or wLength are not as specified above, then the device behavioris not specified.
`
`Defaultstate:
`
`Device behavior whenthis request is received while the device is in the Default state
`is not specified.
`
`Addressstate:
`
`The value zero must be returned.
`
`Configured state:|The non-zero bConfigurationValue of the current configuration must be returned.
`
`9.4.3 Get Descriptor
`This request retums the specified descriptor if the descriptor exists.
`
`bmRequestType
`
`bRequest
`
`10000000B
`
`GET_DESCRIPTOR
`
`Section 9.6.7)
`
`windex
`
`Zero or
`Language ID
`(refer to
`
`Descriptor
`Type and
`Descriptor
`Index
`
`Data
`
`Descriptor
`
`Descriptor
`Length
`
`The wValue field specifies the descriptor type in the high byte (refer to Table 9-5) and the descriptor index
`in the low byte. The descriptor index is used to select a specific descriptor (only for configuration and
`string descriptors) when several descriptors of the same type are implemented in a device. For example,a
`device can implement several configuration descriptors. For other standard descriptors that can be retrieved
`via a GetDescriptor() request, a descriptor index of zero must be used. The range of values used for a
`descriptor index is from 0 to one less than the numberofdescriptors of that type implemented by the device.
`
`The w/ndex field specifies the Language ID for string descriptors or is reset to zero for other descriptors.
`The wLengthfield specifies the numberof bytes to return. If the descriptor is longer than the wLength field,
`only theinitial bytes of the descriptor are returned. If the descriptor is shorter than the wLength field, the
`device indicates the end of the control transfer by sending a short packet when further data is requested. A
`short packet is defined as a packet shorter than the maximum payloadsizeor a zero length data packet(refer
`to Chapter5).
`
`The standard request to a device supports three types of descriptors: device (also device_qualifier),
`configuration (also other_speed_configuration), and string. A high-speed capable device supports the
`device_qualifier descriptor to return information about the device for the speed at whichit is not operating
`(including wMaxPacketSize for the default endpoint and the numberofconfigurations for the other speed).
`The other_speed_configuration returns information in the same structure as a configuration descriptor, but
`for a configuration if the device were operating at the other speed. A request for a configuration descriptor
`returns the configuration descriptor, all interface descriptors, and endpoint descriptors for all of the
`
`253
`
`ZTE/SAMSUNG 1008-0281
`ZTE/SAMSUNG 1008-0281
`IPR2018-00110
`IPR2018-00110
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`interfaces in a single request. Thefirst interface descriptor follows the configuration descriptor. The
`endpoint descriptors for the first interface follow the first interface descriptor. If there are additional
`interfaces, their interface descriptor and endpoint descriptors follow the first interface’s endpoint
`descriptors. Class-specific and/or vendor-specific descriptors follow the standard descriptors they extend or
`modify.
`
`All devices must provide a device descriptor and at least one configuration descriptor. Ifa device does not
`support a requested descriptor, it responds with a Request Error.
`
`Default state:
`
`This is a valid request when the device is in the Default state.
`
`Addressstate:
`
`This is a valid request when the deviceis in the Addressstate.
`
`Configured state:
`
`This is a valid request when the deviceis in the Configuredstate.
`
`9.4.4 Get Interface
`
`This request returns the selected alternate setting for the specified interface.
`
`|bmRequestType||pRequest||wWalue
`
`wLength|ata 10000001B
`
`GET_INTERFACE
`
`Zero
`
`Interface
`
`Alternate
`Setting
`
`Some USBdevices have configurations with interfaces that have mutually exclusive settings. This request
`allows the host to determine the currently selected alternate setting.
`
`If wValue or wLength are not as specified above, then the device behavioris not specified.
`
`If the interface specified does not exist, then the device responds with a Request Error.
`
`Default state:
`
`Device behavior whenthis request is received while the device is in the Default state
`is not specified.
`
`Addressstate:
`
`A Request Error responseis given by the device.
`
`Configured state:
`
`This is a valid request when the device is in the Configuredstate.
`
`9.4.5 Get Status
`
`This request returns status for the specified recipient.
`
` 10000000B
`
`GET_STATUS
`
`zero
`
`10000001B
`10000010B
`
`Zero
`Interface
`Endpoint
`
`Device,
`Interface, or
`Endpoint
`Status
`
`The Recipient bits ofthe bmRequestType field specify the desired recipient. The data returnedis the current
`status of the specified recipient.
`
`254
`
`ZTE/SAMSUNG 1008-0282
`ZTE/SAMSUNG 1008-0282
`IPR2018-00110
`IPR2018-00110
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`If wValue or wLength are not as specified above, or if w/ndex is non-zero for a device status request, then
`the behaviorof the device is not specified.
`
`If an interface or an endpointis specified that does not exist, then the device responds with a Request Error.
`
`Default state:
`
`Device behavior when this request is received while the device is in the Default state
`is not specified.
`
`Addressstate:
`
`If an interface or an endpoint other than endpoint zero is specified, then the device
`responds with a Request Error.
`
`Configured state:
`
`‘If an interface or endpoint that does not exist is specified, then the device responds
`with a RequestError.
`
`A GetStatus() request to a device returns the information shownin Figure 9-4.
`
`
`
`Reserved (Resetto zero)
`
`Remote
`Wakeup
`
`Self
`Powered
`
`Reserved (Reset to zero)
`
`Figure 9-4, Information Returned by a GetStatus() Request to a Device
`
`The Se/fPoweredfield indicates whether the device is currently self-powered. If DO is reset to zero, the
`device is bus-powered. If D0is set to one, the device is self-powered. The Se/fPowered field may not be
`changed by the SetFeature() or ClearFeature() requests.
`
`The Remote Wakeup field indicates whether the device is currently enabled to request remote wakeup. The
`default mode for devices that support remote wakeupis disabled. If D1 is reset to zero, the ability of the
`device to signal remote wakeupis disabled. If D1 is set to one, the ability of the device to signal remote
`wakeupis enabled. The Remote Wakeup field can be modified by the SetFeature() and ClearFeature()
`requests using the DEVICEREMOTE_WAKEUPfeature selector. This field is reset to zero when the
`device is reset.
`
`A GetStatus() request to an interface returns the information shownin Figure 9-5.
`
`aeae
`
`
`
`Reserved (Resetto zero)
`
`Reserved (Resetto zero)
`
`Figure 9-5. Information Returned by a GetStatus() Request to an Interface
`
`255
`
`ZTE/SAMSUNG 1008-0283
`ZTE/SAMSUNG 1008-0283
`IPR2018-00110
`IPR2018-00110
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`A GetStatus() request to an endpoint returns the information shownin Figure 9-6.
`
`Reserved (Resetto zero) ee|PeeeeEe
`
`Reserved (Resetto zero)
`
`Figure 9-6. Information Returned by a GetStatus() Request to an Endpoint
`
`The Halt feature is required to be implementedforall interrupt and bulk endpoint types. Ifthe endpointis
`currently halted, then the Halt feature is set to one. Otherwise, the Halt feature is reset to zero. The Halt
`feature may optionally be set with the SetFeatureeENDPOINT_HALT) request. Whenset by the
`SetFeature() request, the endpoint exhibits the samestall behavioras if the field had been set by a hardware
`condition. Jf the condition causing a halt has been removed, clearing the Halt feature via a
`ClearFeature(ENDPOINT_HALT)request results in the endpoint no longer returning a STALL. For
`endpoints using data toggle, regardless of whether an endpoint has the Halt featureset, a
`ClearFeature(ENDPOINT_HALT)request alwaysresults in the data toggle beingreinitialized to DATAO.
`The Halt feature is reset to zero after either a SetConfiguration() or SetInterface() request even if the
`requested configuration or interface is the same as the current configuration or interface.
`
`It is neither required nor recommendedthat the Ha/t feature be implemented for the Default Control] Pipe.
`However, devices may set the Halt feature ofthe Default Control Pipein order to reflect a functional error
`condition. If the feature is set to one, the device will return STALLin the Data and Status stages of each
`standard request to the pipe except GetStatus(), SetFeature(), and ClearFeature() requests. The device need
`not return STALLfor class-specific and vendor-specific requests.
`
`9.4.6 Set Address
`
`This request sets the device address for all future device accesses.
`
`wValue|windex|wLength 00000000B
`
`Device
`Address
`
`Zero
`
`Zero
`
`bmRequestType
`
`bRequest
`
`SET_ADDRESS
`
`The wValue field specifies the device addressto use for all subsequent accesses.
`
`As noted elsewhere, requests actually may result in up to three stages. In thefirst stage, the Setup packetis
`sent to the device. In the optional second stage, data is transferred between the host and the device.
`In the
`final stage, status is transferred between the host and the device. The direction of data and status transfer
`depends on whetherthe host is sending data to the device or the device is sending data to the host. The
`Status stage transfer is always in the opposite direction of the Data stage. If there is no Data stage, the
`Status stage is from the device to the host.
`
`Stages after the initial Setup packet assume the same device address as the Setup packet. The USB device
`does not changeits device address until after the Status stage of this request is completed successfully. Note
`that this is a difference between this request and all other requests. For all other requests, the operation
`indicated must be completed before the Status stage.
`
`If the specified device address is greater than 127, or if windex or wLength are non-zero, then the behavior
`of the device is not specified.
`
`256
`
`ZTE/SAMSUNG 1008-0284
`ZTE/SAMSUNG 1008-0284
`IPR2018-00110
`IPR2018-00110
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`Device response to SetAddress() with a value of 0 is undefined.
`
`Default state:
`
`If the address specified is non-zero, then the device shall enter the Addressstate;
`otherwise, the device remains in the Default state (this is not an error condition).
`
`Addressstate:
`
`If the address specified is zero, then the device shall enter the Default state;
`otherwise, the device remains in the Addressstate but uses the newly-specified
`address.
`
`Configured state:©Device behavior whenthis request is received while the device is in the Configured
`state is not specified.
`
`9.4.7 Set Configuration
`This request sets the device configuration.
`
` 00000000B
`
`SET_CONFIGURATION|Configuration Value
`
`The lower byte of the w Value field specifies the desired configuration. This configuration value must be
`zero or match a configuration value from a configuration descriptor. If the configuration value is zero, the
`device is placedin its Address state. The upper byte of the w Value field is reserved.
`
`If windex, wLength, or the upper byte of w Value is non-zero, then the behavior of this request is not
`specified.
`
`Default state:
`
`Device behavior when this request is received while the device is in the Default state
`is not specified.
`
`Addressstate:
`
`If the specified configuration value is zero, then the device remains in the Address
`state. If the specified configuration value matches the configuration value from a
`configuration descriptor, then that configuration is selected and the device enters the
`Configured state. Otherwise, the device responds with a Request Error.
`
`Configured state:_If the specified configuration valueis zero, then the device enters the Addressstate.
`If the specified configuration value matches the configuration value from a
`configuration descriptor, then that configuration is selected and the device remainsin
`the Configured state. Otherwise, the device responds with a Request Error.
`
`9.4.8 Set Descriptor
`This requestis optional and may be used to update existing descriptors or new descriptors may be added.
`
`Descriptor
`Language ID
`Descriptor
`Length
`(refer to
`Type and
`Descriptor|Section 9.6.7)
`Index
`
`00000000B
`
`SET_DESCRIPTOR
`
`or zero
`
`Descriptor
`
`257
`
`ZTE/SAMSUNG 1008-0285
`ZTE/SAMSUNG 1008-0285
`IPR2018-00110
`IPR2018-00110
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`The wValue field specifies the descriptor type in the high byte (refer to Table 9-5) and the descriptor index
`in the low byte. The descriptor index is used to select a specific descriptor (only for configuration and string
`descriptors) when several descriptors ofthe same type are implemented in a device. For example, a device
`can implement several configuration descriptors. For other standard descriptors that can be set via a
`SetDescriptor() request, a descriptor index of zero must be used. The range of values used for a descriptor
`index is from 0 to one Jess than the numberof descriptors of that type implemented by the device.
`
`The windex field specifies the Language ID forstring descriptors or is reset to zero for other descriptors.
`The wLength field specifies the numberof bytes to transfer from the host to the device.
`
`The only allowed values for descriptor type are device, configuration, and string descriptor types.
`
`If this request is not supported, the device will respond with a Request Error.
`
`Default state:
`
`Device behavior when this request is received while the deviceis in the Default state
`is not specified.
`
`Addressstate:
`
`If supported, this is a valid request when the deviceis in the Address state.
`
`Configured state:_If supported, this is a valid request when the deviceis in the Configured state.
`
`9.4.9 Set Feature
`
`This requestis used to set or enable a specific feature.
`
`
`
`00000000B
`00000001B
`00000010B
`
`SET_FEATURE
`
`Feature
`Selector
`
`Test Selector
`
`Zero
`
`Zero
`Interface
`Endpoint
`
`Feature selector values in wVa/ue must be appropriate to the recipient. Only device feature selector values
`may be used whentherecipientis a device; only interface feature selector values may be used when the
`recipient is an interface, and only endpoint feature selector values may be used whenthe recipient is an
`endpoint.
`
`Refer to Table 9-6 for a definition of which feature selector values are defined for whichrecipients.
`
`The TEST_MODEfeature is only defined for a devicerecipient (i.e., bnRequestType = 0) and the lower
`byte of wIndex must be zero. Setting the TEST_MODEfeature puts the device upstream facing port into
`test mode. The device will respond with a requesterror if the request contains an invalid test selector. The
`transition to test mode must be complete no later than 3 msafter the completion ofthe status stage of the
`request. The transition to test mode of an upstream facing port must not happen until after the status stage
`ofthe request. The powerto the device must be cycled to exit test mode of an upstream facing port of a
`device. See Section 7.1.20 for definitions of each test mode. A device must support the TESTMODE
`feature whenin the Default, Address or Configured high-speed devicestates.
`
`A SetFeature() request that references a feature that cannot beset or that does not exist causes a STALLto
`be returned in the Status stage of the request.
`
`258
`
`ZTE/SAMSUNG 1008-0286
`ZTE/SAMSUNG 1008-0286
`IPR2018-00110
`IPR2018-00110
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`Table 9-7. Test Mode Selectors
`
`OOH
`
`01H
`
`Reserved
`
`Test_J
`
`
`
`3H0 Test_SEO_NAK
`
`Reserved for vendor-specific test modes.
`
`04H
`
`05H
`
`Test_Packet
`
`Test_Force_Enable
`
`O6H-3FH
`
`Reserved for standard test selectors
`
`3FH-BFH
`
`Reserved
`
`COH-FFH
`
`If the feature selector is TESTMODE,then the mostsignificant byte of wJndex is used to specify the
`specific test mode. The recipient of a SetFeature(TEST_MODE...) must be the device; i.e., the lower byte
`of w/ndex must be zero and the bmRequesitType must be set to zero. The device must have its power cycled
`to exit test mode. The valid test mode selectors are listed in Table 9-7. See Section 7.1.20 for more
`information about the specific test modes.
`
`If wLength is non-zero, then the behavior of the deviceis not specified.
`
`If an endpointor interface is specified that does not exist, then the device responds with a RequestError.
`
`Default state:
`
`A device mustbe able to accept a SetFeature(TEST_MODE, TEST_SELECTOR)
`request when in the Default State. Device behavior for other SetFeature requests
`while the device is in the Default state is not specified.
`
`Addressstate:
`
`If an interface or an endpoint other than endpoint zero is specified, then the device
`responds with a Request Error.
`
`Configured state:
`
`This is a valid request when the device is in the Configuredstate.
`
`9.4.10 Set Interface
`
`This request allows the host to select an alternate setting for the specified interface.
`
`bmRequestType
`
`bRequest
`
`wValue|windex|wLength 00000001B
`
`SET_INTERFACE
`
`Alternate
`Setting
`
`Interface
`
`Some USB devices have configurations with interfaces that have mutually exclusive settings. This request
`allowsthe host to select the desired alternate setting. If a device only supports a default setting for the
`specified interface, then a STALL maybe returnedin the Status stage ofthe request. This request cannot be
`used to changethe set of configured interfaces (the SetConfiguration() request must be used instead).
`
`If the interface or the alternate setting does not exist, then the device responds with a Request Error. If
`wLength is non-zero, then the behavior of the device is not specified.
`
`259
`
`ZTE/SAMSUNG 1008-0287
`ZTE/SAMSUNG 1008-0287
`IPR2018-00110
`IPR2018-00110
`
`

`

`
`
`
`Universal Serial Bus Specification Revision 2.0
`
`Defaultstate:
`
`Device behavior whenthis request is received while the deviceis in the Default state
`is not specified.
`
`Addressstate:
`
`The device must respond with a Request Error.
`
`Configured state:
`
`This is a valid request when the device is in the Configuredstate.
`
`9.4.11 Synch Frame
`This requestis used to set and then report an endpoint’s synchronization frame.
`
`
`
`
`10000010B
`
`SYNCH_FRAME
`
`zero
`
`
`
`Two
`
`Frame
`Number
`
`
`
`When an endpoint supports isochronoustransfers, the endpoint may also require per-frame transfers to vary
`in size according to a specific pattern. The host and the endpoint must agree on which framethe repeating
`pattern begins. The numberof the frame in which the pattern began is returned to the host.
`
`If a high-speed device supports the Synch Framerequest, it must internally synchronizeitself to the zeroth
`microframe and have a time notion ofclassic frame. Only the frame number is used to synchronize and
`reported by the device endpoint (i.e., no microframe number). The endpoint must synchronize to the zeroth
`microframe.
`
`This value is only used for isochronous data transfers using implicit pattern synchronization. IfwValue is
`non-zero or wLength is not two, then the behavior of the device is notspecified.
`
`If the specified endpoint does not support this request, then the device will respond with a Request Error.
`
`Default state:
`
`Device behavior whenthis request is received while the deviceis in the Default state
`is not specified.
`
`Addressstate:
`
`The device shall respond with a Request Error.
`
`Configured state:
`
`This is a valid request when the deviceis in the Configuredstate.
`
`9.5 Descriptors
`USBdevicesreport their attributes using descriptors. A descriptor is a data structure with a defined format.
`Each descriptor begins with a byte-wide field that contains the total numberof bytes in the descriptor
`followed by a byte-wide field that identifies the descriptor type.
`
`Using descriptors allows concise storage of the attributes ofindividual configurations because each
`configuration may reuse descriptors or portions of descriptors from other configurations that have the same
`characteristics.
`In this manner, the descriptors resemble individual data records in a relational database.
`
`Where appropriate, descriptors contain referencesto string descriptors that provide displayable information
`describing a descriptor in human-readable form. Theinclusion ofstring descriptors is optional. However,
`the reference fields within descriptors are mandatory. If a device does not support string descriptors, string
`reference fields must bereset to zero to indicate no string descriptor is available.
`
`If a descriptor returns with a valuein its length field that is less than defined by this specification, the
`descriptor is invalid and should be rejected by the host. If the descriptor returns with a value in its length
`
`260
`
`ZTE/SAMSUNG 1008-0288
`ZTE/SAMSUNG 1008-0288
`IPR2018-00110
`IPR2018-00110
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`field that is greater than defined by this specification, the extra bytes are ignored by the host, but the next
`descriptor is located using the length returned rather than the length expected.
`
`A device may return class- or vendor-specific descriptors in two ways:
`
`1.
`
`2.
`
`Ifthe class or vendor specific descriptors use the same formatas standard descriptors(e.g., start with a
`length byte and followed by a type byte), they must be returned interleaved with standard descriptors in
`the configuration information returned by a GetDescriptor(Configuration) request.
`In this case, the
`class or vendor-specific descriptors must follow a related standard descriptor they modify or extend.
`
`Ifthe class or vendor specific descriptors are independent of configuration information or use a non-
`standard format, a GetDescriptor() request specifying the class or vendor specific descriptor type and
`index may be used toretrieve the descriptor from the device. A class or vendorspecification will
`define the appropriate wayto retrieve these descriptors.
`
`9.6 Standard USB Descriptor Definitions
`The standard descriptors defined in this specification may only be modified or extended by revision of the
`Universal Serial Bus Specification.
`
`Note: An extension to the USB 1.0 standard endpoint descriptor has been published in Device Class
`Specification for Audio Devices Revision 1.0. This is the only extension defined outside USB Specification
`that is allowed. Future revisions of the USB Specification that extend the standard endpoint descriptor will
`do so as to not conflict with the extension defined in the Audio Device Class Specification Revision 1.0.
`
`9.6.1 Device
`
`It includes information that applies
`A device descriptor describes general information about a USB device.
`globally to the device and all of the device’s configurations. A USB device has only one device descriptor.
`
`A high-speed capable device that has different device information for full-speed and high-speed must also
`have a device_qualifier descriptor (see Section 9.6.2).
`
`The DEVICEdescriptor of a high-speed capable device has a version numberof 2.0 (0200H). If the device
`is full-speed only or low-speed only,this version numberindicates that it will respond correctly to a request
`for the device_qualifier desciptor(i.e., it will respond with a requesterror).
`
`The bcdUSBfield contains a BCD version number. The value of the bedUSBfield is OxJJMN for version
`JJ.M.N (JJ — major version number, M — minor version number, N — sub-minor version number),e.g.,
`version 2.1.3 is represented with value 0x0213 and version 2.0 is represented with a value of 0x0200.
`
`The bNumConfigurations field indicates the number of configurations at the current operating speed.
`Configurations for the other operating speed are not included in the count. Ifthere are specific
`configurations ofthe device for specific speeds, the bNumConfigurations field only reflects the number of
`configurations for a single speed, not the total number of configurations for both speeds.
`
`If the device is operating at high-speed, the bMaxPacketSize0 field must be 64 indicating a 64 byte
`maximum packet. High-speed operation does not allow other maximum packetsizes for the control
`endpoint (endpoint0).
`
`All USB devices have a Default Control Pipe. The maximum packet size of a device’s Default Control Pipe
`is described in the device descriptor. Endpoints specific to a configuration and its interface(s) are described
`in the configuration descriptor. A configuration andits interface(s) do not include an endpoint descriptor
`for the Default Control Pipe. Other than the maximum packetsize, the characteristics of the Default
`Control Pipe are defined by this specification and are the samefor all USB devices.
`
`The bNumConfigurations field identifies the numberof configurations the device supports. Table 9-8 shows
`the standard device descriptor.
`
`261
`
`ZTE/SAMSUNG 1008-0289
`ZTE/SAMSUNG 1008-0289
`IPR2018-00110
`IPR2018-00110
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`Table 9-8. Standard Device Descriptor
`
`Description
`
`
`
`the USB-IF.
`
`
`
`
`
`
`NumberbLength Size of this descriptor in bytes
`
`bDescriptorType
`
`bedUSB
`
`bDeviceClass
`
`bDevice SubClass
`
`
`
`Constant
`
`DEVICE Descriptor Type
`
`USB Specification Release Number in
`Binary-Coded Decimal (i.¢., 2.10 is 210H),.
`This field identifies the release of the USB
`
`Specification with which the device andits
`descriptors are compliant.
`
`Class code (assigned by the USB-IF).
`
`If this field is reset to zero, each interface
`within a configuration specifies its own
`class information and the various
`
`interfaces operate independently.
`
`If this field is set to a value between 1 and
`
`FEH, the device supports different class
`specifications on different interfaces and
`the interfaces may not operate
`independently. This value identifies the
`class definition used for the aggregate
`interfaces.
`
`If this field is set to FFH, the device class
`is vendor-specific.
`
`SubClass
`
`Subclass code (assigned by the USB-IF).
`
`These codes are qualified by the value of
`the bDeviceClassfield.
`
`If the bDeviceClass field is reset to zero,
`this field must also be reset to zero.
`
`If the bDeviceClassfield is not set to FFH,
`all values are reserved for assignment by
`
`262
`
`ZTE/SAMSUNG 1008-0290
`ZTE/SAMSUNG 1008-0290
`IPR2018-00110
`IPR2018-00110
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`Table 9-8. Standard Device Descriptor (Continued)
`
`Value
`
`Protocol
`
`Description
`
`Protocol code (assigned by the USB-IF).
`These codes are qualified by the value of
`the bDeviceClass and the
`bDeviceSubClassfields.
`
`If a device
`
`supports class-specific protocols on a
`device basis as opposed to an interface
`basis, this code identifies the protocols
`that the device uses as defined by the
`specification of the device class.
`
`If this field is reset to zero, the device
`does not use class-specific protocols on a
`device basis. However, it may use class-
`specific protocols on an interface basis.
`
`If this field is set to FFH, the device uses a
`vendor-specific protocol on a device basis.
`
`bMaxPacketSizeo
`
`Number
`
`Maximum packet size for endpoint zero
`(only 8, 16, 32, or 64 are valid)
`
`Vendor ID (assigned by the USB-IF)
`idVendor
`
`
`idProduct
`
`bedDevice
`
`iManufacturer
`
`iProduct
`
`iSerialNumber
`
`Product ID (assigned by the manufacturer)
`
`
`Device release numberin binary-coded
`decimal
`
`1
`
`1
`
`4
`
`Index
`
`Index
`
`Index of string descriptor describing
`manufacturer
`
`Index of string descriptor describing
`product
`
`Index of string descriptor describing the
`device’s serial number
`
`
`
`
`bNumConfigurations|4|Number|Numberof possible configurations
`
`263
`
`ZTE/SAMSUNG 1008-0291
`ZTE/SAMSUNG 1008-0291
`IPR2018-00110
`IPR2018-00110
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`9.6.2 Device_Qualifier
`The device_qualifier descriptor describes information about a high-speed capable device that would
`changeif the device were operating at the other speed. For example, if the device is currently operating
`at full-speed, the device_qualifier returns information about how it would operate at high-speed and
`vice-versa. Table 9-9 showsthe fields of the device_qualifier descriptor.
`
`Table 9-9, Device_Qualifier Descriptor
`
`
`
`bLength Number|Size of descriptor
`
`
`
`bDescriptorType Constant|Device Qualifier Type
`
`
`
`Reserved for future use, must be zero
`
`
`
`bedUSB
`
`USB specification version number(e.g.,
`BCD
`0200H for V2.00 )
`
`bDeviceClass
`
`Class Code
`
`
`
`bDevice SubClass SubClass|SubClass Code
`
`bDeviceProtocol
`
`Protocol
`
`Protocol Code
`
`
`
`bMaxPacketSize0 Number|Maximum packetsize for other speed
`
`
`
`bNumConfigurations Number|Number of Other-speed Configurations
`
`bReserved
`
`Zero
`
`The vendor, product, device, manufacturer, product, and serialnumberfields of the standard device
`descriptor are not included in this descriptor since that information is constant for a device for all supported
`speeds. The version numberfor this descriptor must be at least 2.0 (0200H).
`
`The host accesses this descriptor using the GetDescriptor() request. The descriptor type in the
`GetDescriptor() request is set to device_qualifier (see Table 9-5).
`
`If a full-speed only device (with a device descriptor version number equal to 0200H)receives a
`GetDescriptor() request for a device_qualifier, it must respond with a request error. The host must not make
`a request for an other_speed_configuration descriptor unlessit first successfully retrieves the
`device_qualifier descriptor.
`
`9.6.3 Configuration
`The configuration descriptor describes information abouta specific device configuration. The descriptor
`contains a bConfigurationValue field with a value that, when used as a parameterto the SetConfiguration()
`request, causes the device to assume the described configuration.
`
`The descriptor describes the numberofinterfaces provided by the configuration. Each interface may
`operate independently. For example, an ISDN device might be configured with two interfaces, each
`providing 64 Kb/s bi-directional channels that have separate data sources or sinks on the host. Another
`configuration might present the ISDN deviceas a single interface, bonding the two channels into one
`128 Kb/s bi-directional channel.
`
`Whenthe host requests the configuration descriptor, all related interface and endpoint descriptors are
`returned (refer to Section 9.4.3).
`
`264
`
`ZTE/SAMSUNG 1008-0292

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket