Hallo,
as far as I understand the USB 3.x spec, a USB 3.x device reports a different bcdUSB if attached to a 2.0 hub (bcdUSB = 0x210) then when attached to a 3.x hub (bcdUSB = 0x300 or 0x310). What's more the bMaxPacketSize0 field is encoded DIFFERENTLY for these two cases (= number in bytes for 2.0 hub and = power of 2 in bytes for 3.x hub).
How does this magic happen ? I mean if I plug this device into a USB 2.0 port, will it return a DIFFERENT device descriptor than when I plug it into a USB 3.0 port ?