System and method to specify device specific user interface information in the firmware of a USB device
First Claim
1. A method comprising:
- receiving, by a USB device, a host-specific device request from an application executing on a computing device coupled to the USB device;
identifying, by the USB device, a host-defined string descriptor defined by the application, the host-defined string descriptor being stored in firmware of the USB device; and
wherein the host-defined string descriptor comprises a custom property section comprised of one or more custom property entries, each custom property entry comprising information that corresponds to a respective custom property for the USB device.
2 Assignments
0 Petitions
Accused Products
Abstract
The described system and procedure provide for storing device-specific UI information into firmware on a USB device. Responsive to receiving a host specific device request, the USB device communicates the device specific information to a requester such as an operating system or other computer program application. Thus, the system and procedure allow OEMs/IHVs to provide additional brand specific information in a USB device in a format that can be determined by an operating system. Moreover, the system and procedure allows OEMs/IHVs to store device-specific UI information in the firmware of a USB device such that installation media does not need to be distributed with each USB device to specify the device-specific information.
-
Citations
28 Claims
-
1. A method comprising:
-
receiving, by a USB device, a host-specific device request from an application executing on a computing device coupled to the USB device; identifying, by the USB device, a host-defined string descriptor defined by the application, the host-defined string descriptor being stored in firmware of the USB device; and wherein the host-defined string descriptor comprises a custom property section comprised of one or more custom property entries, each custom property entry comprising information that corresponds to a respective custom property for the USB device. - View Dependent Claims (2, 21, 22, 23, 24, 25, 26)
-
-
3. A method comprising:
-
querying, by a computing device coupled to a USB device, the USB device with a host-specific device request for a host-defined string descriptor associated with user interface information stored in firmware of the USB device; responsive to the querying, receiving by the computing device, at least a portion of the user interface information; and wherein the host-defined string descriptor comprises a custom property section comprised of one or more custom property entries, each custom property entry comprising information that corresponds to a respective custom property for the USB device. - View Dependent Claims (4, 5, 27)
-
-
6. In a USB device that responds to device requests from a host, the device requests including USB-specific device requests with corresponding USB-specified request codes and device-specific device requests with corresponding device-specified request codes, the USB-specific device requests including a GET_DESCRIPTOR device request with a corresponding GET_DESCRIPTOR request code, a method comprising:
-
receiving a GET_DESCRIPTOR device request that specifies a predetermined index, the GET_DESCRIPTOR device request having been received from an application executing on a remote computing device; responding to the GET_DESCRIPTOR device request by returning a device-specific request code for subsequent use by the USB device to send an extended property descriptor responsive to subsequent receipt of a host-specific device request from the remote computing device, the extended property descriptor specifying user interface information corresponding to the USB device and provided by a vendor as being in a data format compatible with the application; and wherein the user interface information comprises a custom property section comprised of one or more custom property entries, each custom property entry comprising information that corresponds to a respective custom property for the USB device. - View Dependent Claims (7, 8, 28)
-
-
9. A method comprising:
-
communicating, by a component of an operating system, a non-standard USB device request to a device, the non-standard USB device request requesting an extended property from the device, the extended property providing data that is predetermined to be compatible for use by the component or the operating system, the data comprising user interface information associated with the USB device; responsive to the communicating, receiving, by the component, an extended property descriptor from the device, the extended property descriptor comprising at least the extended property; and wherein the extended property descriptor further comprises a custom property section comprised of one or more custom property entries, each custom property entry comprising information that corresponds to a respective custom property for the USB device. - View Dependent Claims (10)
-
-
11. A USB device comprising:
-
a processor; a port coupled to the processor; a memory coupled to the processor; an extended property descriptor stored in the memory, the extended property descriptor identifying a set of user interface information corresponding to the USB device and in a data format predetermined to be compatible for use by a requesting application executing on a remote computing device, the extended property descriptor further comprising a custom property section comprised of one or more custom property entries, each custom property entry comprising information that corresponds to a respective custom property for the USB device; and a control program module stored in the memory, the control program module being configured to send the extended configuration descriptor to a requestor in response to receiving a host-specific device request at the port. - View Dependent Claims (12, 13)
-
-
14. A tangible computer readable storage medium having encoded thereon computer executable instructions utilized by an application program to interact with a USB device, wherein the computer executable instructions are executed on a computer to perform the following method steps:
-
receiving a request from an application program for a property descriptor that specifies user interface information in a data format predetermined to be compatible for use by the application program and corresponding to the USB device; querying the USB device with a host-specific device request to obtain the property descriptor; responsive to the querying, receiving the property descriptor, the property descriptor comprising one or more custom property sections, each custom property section indicating information corresponding to a user interface element for the USB device; providing the property descriptor to the requesting application program; and augmenting, by the application program, a shell or user interface with the user interface information for presentation to a user. - View Dependent Claims (16, 17)
-
-
15. A tangible computer readable storage medium having encoded thereon computer executable instructions utilized by an application program to interact with a USB device, wherein the computer executable instructions are executed on a computer to perform the following method steps:
-
receiving a request from an application program for a property descriptor that specifies user interface information in a data format predetermined to be compatible for use by the application program and corresponding to the USB device; querying the USB device with a host-specific device request to obtain the property descriptor; responsive to the querying, receiving the property descriptor, the property descriptor comprising; (a) a header section indicating the number of custom properties for which mappings exist in the property descriptor; and (b) one or more custom property sections, each custom property section indicating information corresponding to a user interface element for the USB device; providing the property descriptor to the requesting application program; and augmenting, by the application program, a shell or user interface with the user interface information for presentation to a user.
-
-
18. One or more tangible computer-readable media containing a computer-executable program for use in conjunction with a USB device that responds to device requests from the program, the device requests including USB-specific device requests with corresponding USB-specified request codes and device-specific device requests with corresponding device-specified request codes, the program executing on a computer and causing the computer to perform the following method steps:
-
receiving a host-specific request for an extended property descriptor from a requestor, the extended property descriptor indicating one or more user interface elements that correspond to the USB device, the extended property descriptor further comprising a custom property section that corresponds to a user interface element of the one or more user interface elements, the one or more user interface elements being predetermined to be compatible for use by an application executing or for execution on a remote computing device; and responsive to the receiving, communicating the extended property descriptor to the requestor. - View Dependent Claims (19, 20)
-
Specification