1. A method of configuring a universal serial bus (USB) connection by a peripheral device comprising: sending, at the USB port, first identification data that includes a generic device class code and a vendor identifier; receiving, at the USB port, a query related to the first identification data, the query indicating software associated with the vendor identifier is supported by the sender of the query; responding to the query with device information; simulating a detach and then an attach at the USB port; receiving, at the USB port, a request for device identification; and sending, at the USB port, second identification data that includes an indication that the peripheral device supports at least one function different from the functionality defined by the generic device class code.