USB device manufacturers need to support the Universal Serial Bus (USB) specification. The USB interface is implemented in two levels: The lower level of the USB protocol is implemented via a Serial Interface Engine ... layer of the protocol is implemented via the device firmware. Firmware consists of software programs and data ...