throbber
Universal Serial Bus Specification Revision 2.0
`
`Feature selectors are used when enabling or setting 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
`
`Feature Selector
`
`Recipient
`
`Value
`
`DEVICE_REMOTE_WAKEUP
`
`ENDPOINT _HALT
`
`TEST_MODE
`
`Device
`
`Endpoint
`
`Device
`
`1
`
`0
`
`2
`
`If an unsupported or invalid request is made to a USB device, the device responds by returning ST ALL in
`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 ST ALL at the earlier of the Data or Status stage. Receipt of an unsupported or invalid
`request does NOT cause the optional Halt feature on the control 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.
`
`bmRequestType
`
`bRequest
`
`wValue
`
`wlndex
`
`wLength
`
`Data
`
`000000008
`000000018
`000000108
`
`CLEAR_FEATURE
`
`Feature
`Selector
`
`Zero
`Interface
`Endpoint
`
`Zero
`
`None
`
`Feature selector values in wValue must be appropriate to the recipient. Only device feature selector values
`may be used when the recipient is 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 when the recipient is an
`endpoint.
`
`Refer to Table 9-6 for a definition of which feature selector values are defined for which recipients.
`
`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 behavior is not specified.
`
`Default state:
`
`Device behavior when this request is received while the device is in the Default state
`is not specified.
`
`Address state:
`
`This request is valid when the device is 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 device is in the Configured state.
`
`Note: The Test_ Mode feature cannot be cleared by the ClearFeature() request.
`
`252
`
`ZTE/SAMSUNG 1008-0280
`IPR2018-00111
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`9.4.2 Get Configuration
`This request returns the current device configuration value.
`
`bmRequestType
`
`bRequest
`
`wValue
`
`wlndex
`
`wLength
`
`Data
`
`100000008
`
`GET _CONFIGURATION
`
`Zero
`
`Zero
`
`One
`
`Configuration
`Value
`
`If the returned value is zero, the device is not configured.
`
`lfwValue, wfndex, or wLength are not as specified above, then the device behavior is not specified.
`
`Default state:
`
`Device behavior when this request is received while the device is in the Default state
`is not specified .
`
`Address state:
`
`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 returns the specified descriptor ifthe descriptor exists.
`
`bmRequestType
`
`bRequest
`
`wValue
`
`wind ex
`
`wLength
`
`Data
`
`100000008
`
`GET _DESCRIPTOR
`
`Descriptor
`Type and
`Descriptor
`Index
`
`Zero or
`Language ID
`(refer to
`Section 9.6.7)
`
`Descriptor
`Length
`
`Descriptor
`
`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 number of descriptors of that type implemented by the device.
`
`The wfndex field specifies the Language ID for string descriptors or is reset to zero for other descriptors.
`The wlength field specifies the number of bytes to return. lf the descriptor is longer than the wlength field,
`only the initial 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 payload size or a zero length data packet (refer
`to Chapter 5).
`
`T he 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 which it is not operating
`(including wMaxPacketSize for the default endpoint and the number of configurations 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
`IPR2018-00111
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`interfaces in a single request. The first 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. If a 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.
`
`Address state:
`
`This is a valid request when the device is in the Address state.
`
`Configured state:
`
`This is a valid request when the device is in the Configured state.
`
`9.4.4 Get Interface
`This request returns the selected alternate setting for the specified interface.
`
`bmRequestType
`
`bRequest
`
`wValue
`
`wlndex
`
`wlength
`
`Data
`
`100000018
`
`GET_INTERFACE
`
`Zero
`
`Interface
`
`One
`
`Alternate
`Setting
`
`Some USB devices have configurations with interfaces that have mutually exclusive settings. This request
`allows the host to determine the currently selected alternate setting.
`
`If w Value or wLength are not as specified above, then the device behavior is not specified.
`
`lfthe interface specified 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.
`
`Address state:
`
`A Request Error response is given by the device.
`
`Configured state:
`
`This is a valid request when the device is in the Configured state.
`
`9.4.5 Get Status
`This request returns status for the specified recipient.
`
`bmRequestType
`
`bRequest
`
`wValue
`
`wlndex
`
`wlength
`
`Data
`
`100000008
`100000018
`100000108
`
`GET_STATUS
`
`Zero
`
`Zero
`Interface
`Endpoint
`
`Two
`
`Device,
`Interface, or
`Endpoint
`Status
`
`The Recipient bits of the bmRequestType field specify the desired recipient. The data returned is the current
`status of the specified recipient.
`
`254
`
`ZTE/SAMSUNG 1008-0282
`IPR2018-00111
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`IfwValue or wlength are not as specified above, or ifwlndex is non-zero for a device status request, then
`the behavior of the device is not specified.
`
`If an interface or an endpoint is 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.
`
`Address state:
`
`[fan interface or an endpoint other than endpoint zero is specified, then the device
`responds with a Request Error.
`
`Configured state:
`
`lf an interface or endpoint that does not exist is specified, then the device responds
`with a Request Error.
`
`A GetStatus() request to a device returns the information shown in Figure 9-4.
`
`07
`
`I 0 6
`
`I 05
`
`I 04
`
`I 03
`
`I 0 2
`
`Reserved (Reset to zero)
`
`01 5
`
`I 014
`
`I 013
`
`I 012 I 0 11
`
`I 010
`
`Reserved (Reset to zero)
`
`0 1
`
`DO
`
`Remote
`Wakeup
`
`Self
`Powered
`
`09
`
`08
`
`Figure 9-4. Information Returned by a GetStatusO Request to a Device
`
`The Self Powered field indicates whether the device is currently self-powered. If DO is reset to zero, the
`device is bus-powered. IfDO is set to one, the device is self-powered. The Self Powered 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 wakeup is disabled. IfDl is reset to zero, the ability of the
`device to signal remote wakeup is disabled. If D 1 is set to one, the abi lity of the device to signal remote
`wakeup is enabled. The Remote Wakeup field can be modified by the SetFeature() and ClearFeature()
`requests using the DEVICE_ REMOTE_ WAKEUP feature selector. This field is reset to zero when the
`device is reset.
`
`A GetStatus() request to an interface returns the information shown in Figure 9-5.
`
`0 7
`
`06
`
`05
`
`04
`
`03
`
`02
`
`01
`
`DO
`
`Reserved (Reset to zero)
`
`015
`
`0 14
`
`013
`
`0 12
`
`011
`
`010
`
`0 9
`
`0 8
`
`Reserved (Reset to zero)
`
`Figure 9-5. Information Returned by a GetStatus() Request to an Interface
`
`255
`
`ZTE/SAMSUNG 1008-0283
`IPR2018-00111
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`A GetStatus() request to an endpoint returns the information shown in Figure 9-6.
`
`D7
`
`06
`
`D5
`
`D4
`
`D3
`
`D2
`
`D1
`
`Reserved (Reset to zero)
`
`D15
`
`D14
`
`D13
`
`D12
`
`D11
`
`D10
`
`D9
`
`DO
`
`Halt
`
`DB
`
`Reserved (Reset to zero)
`
`Figure 9-6. Information Returned by a GetStatusO Request to an Endpoint
`
`The Halt feature is required to be implemented for all interrupt and bulk endpoint types. If the endpoint is
`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 Setfeature(ENDPOINT _HALT) request. When set by the
`SetFeature() request, the endpoint exhibits the same stall behavior as ifthe field had been set by a hardware
`condition. If 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 feature set, a
`ClearFeature(ENDPOINT_HALT) request always results in the data toggle being reinitialized to DATAO.
`The Halt feature is reset to zero after either a SetConfiguration() or SetJnterface() request even ifthe
`requested configuration or interface is the same as the current configuration or interface.
`
`It is neither required nor recommended that the Halt feature be implemented for the Default Control Pipe.
`However, devices may set the Halt feature of the Default Control Pipe in order to reflect a functional error
`condition. If the feature is set to one, the device will return STALL in the Data and Status stages of each
`standard request to the pipe except GetStatus(), SetFeature{), and ClearFeature() requests. The device need
`not return ST ALL for class-specific and vendor-specific requests.
`
`9.4.6 Set Address
`This request sets the device address for all future device accesses.
`
`bmRequestType
`
`bRequest
`
`wValue
`
`wlndex
`
`wLength
`
`Data
`
`000000008
`
`SET_ADDRESS
`
`Device
`Address
`
`Zero
`
`Zero
`
`None
`
`The wValue field specifies the device address to use for all subsequent accesses.
`
`As noted elsewhere, requests actually may result in up to three stages. In the first stage, the Setup packet is
`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 whether the 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. Ifthere 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 change its 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 ifwlndex or wLength are non-zero, then the behavior
`of the device is not specified.
`
`256
`
`ZTE/SAMSUNG 1008-0284
`IPR2018-00111
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`Device response to SetAddressO with a value of 0 is undefined.
`
`Default state:
`
`If the address specified is non-zero, then the device shall enter the Address state;
`otherwise, the device remains in the Default state (this is not an error condition).
`
`Address state:
`
`If the address specified is zero, then the device shall enter the Default state;
`otherwise, the device remains in the Address state but uses the newly-specified
`address.
`
`Configured state:
`
`Device behavior when this 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.
`
`bmRequestType
`
`bRequest
`
`wValue
`
`wlndex wlength
`
`Data
`
`000000008
`
`SET_ CONFIGURATION Configuration Value
`
`Zero
`
`Zero
`
`None
`
`The lower byte of the wValue 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 placed in its Address state. The upper byte of the wValue field is reserved.
`
`Ifwlndex, wlength, or the upper byte ofwValue 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.
`
`Address state:
`
`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 value is zero, then the device enters the Address state.
`If the specified configuration value matches the configuration value from a
`configuration descriptor, then that configuration is selected and the device remains in
`the Configured state. Otherwise, the device responds with a Request Error.
`
`9.4.8 Set Descriptor
`This request is optional and may be used to update existing descriptors or new descriptors may be added.
`
`bmRequestType
`
`bRequest
`
`wValue
`
`wlndex
`
`wlength
`
`Data
`
`000000008
`
`SET _DESCRIPTOR
`
`Descriptor
`Type and
`Descriptor
`Index
`
`Language ID
`(refer to
`Section 9.6.7)
`or zero
`
`Descriptor
`Length
`
`Descriptor
`
`257
`
`ZTE/SAMSUNG 1008-0285
`IPR2018-00111
`
`

`

`Universal Serial Hus 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 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 set via a
`SetDescriptorQ 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 number of descriptors of that type implemented by the device.
`
`The wlndex field specifies the Language ID for string descriptors or is reset to zero for other descriptors.
`The wLength field specifies the number of 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 device is in the Default state
`is not specified.
`
`Address state:
`
`If supported, this is a valid request when the device is in the Address state.
`
`Configured state:
`
`If supported, this is a valid request when the device is in the Configured state.
`
`9.4.9 Set Feature
`This request is used to set or enable a specific feature.
`
`bmRequestType
`
`bRequest
`
`wValue
`
`wlndex
`
`wLength
`
`Data
`
`000000008
`000000018
`000000108
`
`SET_FEATURE
`
`Feature
`Selector
`
`Test Selector
`
`Zero
`
`None
`
`Zero
`Interface
`Endpoint
`
`Feature selector values in wValue must be appropriate to the recipient. Only device feature selector values
`may be used when the recipient is a device; only interface featu re selector values may be used when the
`recipient is an interface, and only endpoint feature selector values may be used when the recipient is an
`endpoint.
`
`Refer to Table 9-6 for a definition of which feature selector values are defined for which recipients.
`
`The TEST_MODE feature is only defined for a device recipient (i.e., bmRequestType = 0) and the lower
`byte ofwlndex must be zero. Setting the TEST_MODE feature puts the device upstream facing port into
`test mode. The device will respond with a request error if the request contains an invalid test selector. The
`transition to test mode must be complete no later than 3 ms after the completion of the status stage of the
`request. The transition to test mode of an upstream facing port must not happen until after the status stage
`of the request. The power to 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 TEST_MODE
`feature when in the Default, Address or Configured high-speed device states.
`
`A SetFeatureO request that references a feature that cannot be set or that does not exist causes a ST ALL to
`be returned in the Status stage of the request.
`
`258
`
`ZTE/SAMSUNG 1008-0286
`IPR2018-00111
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`Table 9-7. Test Mode Selectors
`
`Value
`
`Description
`
`OOH
`
`01H
`
`02H
`
`03H
`
`04H
`
`05H
`
`Reserved
`
`Test_J
`
`Test_K
`
`Test_SEO_NAK
`
`Test_Packet
`
`Test_Force_Enable
`
`06H-3FH
`
`Reserved for standard test selectors
`
`3FH-BFH
`
`Reserved
`
`COH-FFH
`
`Reserved for vendor-specific test modes.
`
`If the feature selector is TEST_MODE, then the most significant byte of wlndex 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 wfndex must be zero and the bmRequestType 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 device is not specified.
`
`If an endpoint or interface is specified that does not exist, then the device responds with a Request Error.
`
`Default state:
`
`A device must be 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.
`
`Address state:
`
`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 Configured state.
`
`9.4.10 Set Interface
`This request allows the host to select an alternate setting for the specified interface.
`
`bmRequestType
`
`bRequest
`
`wValue
`
`wlndex
`
`wlength
`
`Data
`
`000000018
`
`SET_INTERFACE
`
`Alternate
`Setting
`
`Interface
`
`Zero
`
`None
`
`Some USB devices have configurations with interfaces that have mutually exclusive settings. This request
`allows the host to select the desired alternate setting. If a device only supports a default setting for the
`specified interface, then a STALL may be returned in the Status stage of the request. This request cannot be
`used to change the 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
`IPR2018-00111
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`Default state:
`
`Device behavior when this request is received while the device is in the Default state
`is not specified.
`
`Address state:
`
`The device must respond with a Request Error.
`
`Configured state:
`
`This is a valid request when the device is in the Configured state.
`
`9.4.11 Synch Frame
`This request is used to set and then report an endpoint' s synchronization frame.
`
`bmRequestType
`
`bRequest
`
`wValue
`
`wlndex
`
`wlength
`
`Data
`
`100000108
`
`SYNCH_FRAME
`
`Zero
`
`Endpoint
`
`Two
`
`Frame
`Number
`
`When an endpoint supports isochronous transfers, 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 frame the repeating
`pattern begins. The number of the frame in which the pattern began is returned to the host.
`
`If a high-speed device supports the Synch Frame request, it must internally synchronize itself to the zeroth
`microframe and have a time notion of classic 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 not specified.
`
`If the specified endpoint does not support this request, then the device will respond with a Request Error.
`
`Default state:
`
`Device behavior when this request is received while the device is in the Default state
`is not specified.
`
`Address state:
`
`The device shall respond with a Request Error.
`
`Configured state:
`
`This is a valid request when the device is in the Configured state.
`
`9.5 Descriptors
`USB devices report 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 number of bytes in the descriptor
`followed by a byte-wide field that identifies the descriptor type.
`
`Using descriptors allows concise storage of the attributes of individual 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 references to string descriptors that provide displayable information
`describing a descriptor in human-readable form. The inclusion of string descriptors is optional. However,
`the reference fields within descriptors are mandatory. If a device does not support string descriptors, string
`reference fields must be reset to zero to indicate no string descriptor is available.
`
`If a descriptor returns with a value in 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
`IPR2018-00111
`
`

`

`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. If the class or vendor specific descriptors use the same fonnat as 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.
`
`2. If the class or vendor specific descriptors are independent of configuration information or use a non(cid:173)
`standard format, a GetDescriptor() request specifying the class or vendor specific descriptor type and
`index may be used to retrieve the descriptor from the device. A class or vendor specification will
`define the appropriate way to 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
`A device descriptor describes general information about a USB device. It includes information that applies
`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 DEVICE descriptor of a high-speed capable device has a version number of2.0 (0200H). If the device
`is full-speed only or low-speed only, this version number indicates that it will respond correctly to a request
`for the device_qualifier desciptor (i.e., it will respond with a request error).
`
`The bcdUSB field contains a BCD version number. The value of the bcdUSB field 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 Ox0213 and version 2.0 is represented with a value of Ox0200.
`
`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. If there are specific
`configurations of the 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 bMaxPacketSizeO field must be 64 indicating a 64 byte
`maximum packet. High-speed operation does not allow other maximum packet sizes for the control
`endpoint (endpoint 0).
`
`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 and its interface(s) do not include an endpoint descriptor
`for the Default Control Pipe. Other than the maximum packet size, the characteristics of the Default
`Control Pipe are defined by this specification and are the same for all USB devices.
`
`The bNumConfigurations field identifies the number of configurations the device supports. Table 9-8 shows
`the standard device descriptor.
`
`261
`
`ZTE/SAMSUNG 1008-0289
`IPR2018-00111
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`Table 9-8. Standard Device Descriptor
`
`Offset
`
`Field
`
`Size
`
`Value
`
`Description
`
`0
`
`1
`
`2
`
`bLength
`
`bDescriptorType
`
`bcdUSB
`
`1
`
`1
`
`2
`
`Number
`
`Size of this descriptor in bytes
`
`Constant
`
`DEVICE Descriptor Type
`
`BCD
`
`USB Specification Release Number in
`Binary-Coded Decimal (i.e .. 2.10 is 21 OH).
`This field identifies the release of the USB
`Specification with which the device and its
`descriptors are compliant.
`
`4
`
`bOeviceC!ass
`
`1
`
`Class
`
`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.
`
`5
`
`bDeviceSubClass
`
`1
`
`Subclass
`
`Subclass code (assigned by the USB-IF).
`
`These codes are qualified by the value of
`the bDeviceClass field.
`
`If the bDeviceClass field is reset to zero,
`this field must also be reset to zero.
`
`If the bOeviceClass field is not set to FFH,
`all values are reserved for assignment by
`the USB-IF.
`
`262
`
`ZTE/SAMSUNG 1008-0290
`IPR2018-00111
`
`

`

`Universal Serial Bus Specification Revision 2.0
`
`Table 9-8. Standard Device Descriptor (Continued)
`
`Offset
`
`Field
`
`Size
`
`Value
`
`Description
`
`6
`
`bDeviceProtoco/
`
`1
`
`Protocol
`
`bMaxPacketSizeO
`
`1
`
`Number
`
`7
`
`8
`
`10
`
`12
`
`idVendor
`
`idProduct
`
`bcdDevice
`
`14
`
`iManufacturer
`
`15
`
`iProduct
`
`16
`
`iSeria/Number
`
`17
`
`bNumConfigurations
`
`Protocol code (assigned by the USB-IF).
`These codes are qualified by the value of
`the bDeviceC/ass and the
`bDeviceSubClass fields. 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.
`
`Maximum packet size for endpoint zero
`(only 8, 16, 32, or 64 are valid)
`
`Vendor ID (assigned by the USS-IF)
`
`Product ID (assigned by the manufacturer)
`
`Device release number in binary-coded
`decimal
`
`Index of string descriptor describing
`manufacturer
`
`Index of string descriptor describing
`product
`
`Index of string descriptor describing the
`device's serial number
`
`ID
`
`ID
`
`BCD
`
`Index
`
`Index
`
`Index
`
`2
`
`2
`
`2
`
`1
`
`1
`
`1
`
`1
`
`Number
`
`Number of possible configurations
`
`263
`
`ZTE/SAMSUNG 1008-0291
`IPR2018-00111
`
`

`

`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
`change if 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 shows the fields of the device_qualifier descriptor.
`
`Table 9-9. Device_ Qualifier Descriptor
`
`Offset
`
`Fie ld
`
`Size Value
`
`Description
`
`0
`
`1
`
`2
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`bLength
`
`bDescriptorType
`
`bcdUSB
`
`bDeviceC/ass
`
`bDeviceSubClass
`
`bDeviceProtoco/
`
`bMaxPacketSizeO
`
`bNumContigurations
`
`bReserved
`
`1
`
`1
`
`2
`
`1
`
`1
`
`1
`
`1
`
`1
`
`1
`
`Number
`
`Size of descriptor
`
`Constant Device Qualifier Type
`
`BCD
`
`USB specification version number (e.g.,
`0200H for V2.00 )
`
`Class
`
`Class Code
`
`Subclass Subclass Code
`
`Protocol
`
`Protocol Code
`
`Number Maximum packet size for other speed
`
`Number
`
`Number of Other-speed Configurations
`
`Zero
`
`Reserved for future use, must be zero
`
`The vendor, product, device, manufacturer, product, and serialnumber fields of the standard device
`descriptor are not included i

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