How to detect if a USB port is 3.0 or 2.0?
To check whether the USB device itself is USB 2.0 or 3.0, use USB Device Tree Viewer (on a computer). Then disconnect all your USB devices on the computer, and reconnect the USB in question. You'll see it appear on the sidebar on the left. Click it. On the right, scroll down about 1/4 of the page. In the section 'Connection Information', look at the Device Bus speed. These are what you should be looking for:
USB 2: Device Bus Speed : 0x02 (High-Speed)
USB 3: Device Bus Speed : 0x03 (Super-Speed)
the device you plug the USB device into should have different signs or colours to show if the actual ports are USB 2 or 3:
USB 3 (the sign on the left image says 'SS' and the usb sign. SS = SuperSpeed.
Sometimes, if you plug the USB3.0 device too slowly, it is recognized as 2.0.
Why ? Because the 3.0 line of pins is in a second row so if the protocol handshake is finished before your device is fully plugged in, it will never get USB3.0 speed.
This is particulary annoying when using USB keys like the Extrem series from sandisk as the plug is on strings and is frequently diving too slowly into the port.