| CPC G06F 13/4282 (2013.01) [G06F 13/382 (2013.01); G06F 2213/0042 (2013.01)] | 20 Claims |

|
1. An apparatus for performing an operation in relation to a USB device, the apparatus comprising:
a USB controller configured for communication with a computing resource, the computing resource including a processing resource and a memory, wherein the memory stores an operating system (OS) and a computer program which is configured to run on top of the OS, and wherein, when executed by the processing resource, the computer program causes the processing resource to perform the steps comprising:
configuring a USB interface in at the USB controller so as to open one or more pipes between the USB controller and one or more corresponding USB endpoints of a USB device according to a required USB endpoint configuration of the USB device that is required for performing an operation in relation to the USB device;
performing the operation in relation to the USB device;
unconfiguring the configured USB interface, while maintaining a connection to the USB device, in the USB controller so as to close the one or more pipes between the USB controller and the one or more corresponding USB endpoints of the USB device, reading, from the USB device, a USB device descriptor; and
using the USB device descriptor to select the information relating to the USB device and/or the information relating to the operation to be performed in relation to the USB device from accumulated information relating to a plurality of known USB devices stored in the memory of the computing resource or from a database such as a database located remotely from the computing resource.
|