MOST connectors in the world only allow one mechanical orientation.
Ones that are not orientation specific are usually "concentric" such as the familiar 2.5 / 3.5 / 6mm plugs on earphones and similar. Where these have more than 2 conductors the contacts for the conductors at the inside end of the socket ride over the conductors for the tip end as the plugs are inserted. Care must be taken to ensure that no problems are cause by these spurious short term connections.
AC power connectors in some systems can be polarity insensitive, but this can lead to safety concerns where there is some difference in attribute between the two contacts other than their ability to provide power. eg in many systems the mains power is ground referenced with one conductor essentially at ground potential. Reversing the twocontacts would still lead to a functioning power connection but may bypass protection and safety systems.
BUT the vast majority of plug and socket systems are orientation sensitive.
Consider the plugs for keyboards and mice (DB9, PS/2, now USB), any 3 pin power plug, trailer power connectors, telephone and network connectors (RJ10, RJ11, RJ45, ...), XLR/Cannon and similar audio connectors, video connectors for monitors ("IBM"/Apple/Other), SCART AV connectors, DMI, ...
People are well used to this.
Why should USB be any different?
BUT, full size USB has two power connectors and two signal connectors. Rhe signal connections could easily enough be interchanged.
But interchanging the two power connections involves routing +ve and -ve signals correctly.
This could be done with a diode bridge and two diodes but the voltage drop of about 1.2 Volts represents a loss of about 25% of the Voltage and an immediate 25% power loss. This could be addressed with mechanical automated switching - essentially relays, or with low voltage drop electronic switches (MOSFETs or other) but the cost and complexity is not justified in view of the ease of "just plugging it in correctly".
Im Mini and Micro USB systems with potentially more conductors this could have been addressed by redundant arrangements of contacts but that wastes potential resources (size or contacts) and still only results in two possible alignments, 180 degrees apart rotationally. You still could not insert it aligned long side vertical or at an angle.
Super Solution:
For the ultimate connector consider these two conductor wholly functionally symmetric hemaphroditic connectors.
- Not only can these be orientated in two orientations rotationally but there is no "male" or "female" connector - both 'plug' and 'socket' are identical.
This scheme can be extended to more conductors using a coaxial arrangement. This is a General Radio GR874 connector. If you ever meet something using these you can be fairly sure you are in the presence of greatness :-).
Many many more of the same
The key point is that normally, the interrupt transfers are not considered complete until some data is received. beyondLogic's great USB protocol docs say:
If an interrupt has been queued by the device, the function will send a data packet containing data relevant to the interrupt when it receives the IN Token. [...] If on the other hand an interrupt condition was not present when the host polled the interrupt endpoint with an IN token, then the function signals this state by sending a NAK.
For your specific controller, the table on page 22 in your doc talks about retry counter in 28:27. If you look at the table, you'd notice that "NAK received" does not decrement it! So as long as you set at least one retry, the controller will retry indefinitely on NAKs, without bothering the host.
But there is a much simpler way to check this -- find any Linux system with USB keyboard, and check the interrupt counter:
watch -d -n 0.5 cat /proc/interrupts
On my system, there is a line which says "IR-PCI-MSI 327680-edge xhci_hcd", and it has non-changing number if I am not touching mouse or keyboard. Moving the mouse causes this number to increase. So this is clearly interrupt based.
Best Answer
Yep, this is a tough question. The body of plug (wire side) has 5.2 mm width, and length of 20.65 mm. None of Molex-Amphenol-etc products match it.
The connector seems to be solely manufactured by Foxconn, an old Intel ally and platform manufacturing house. There are some re-sellers like ModDIY.
Or see this e-Bay listing if you need few parts.