Why does my USB-C capture card detect as USB 2.0 or 3.0 depending on the C plug orientation?

I have purchased an HDMI capture card (not a name brand, one of the alphabet soup products on Amazon). It shipped with an USB B 3.0 - USB-C cable in the box. Recently I have noticed quite a lot of MJPEG artifacts in the captured video which turned out to be caused by the card switching to USB 2.0 data rates.

Turns out, the cable has an arrow and text UP molded into the USB-C plug side. Quick check in macOS System Information shows that the device is detected with different data rates depending on the plug orientation.

The device does not work with a C-to-C (SuperSpeed 20 Gbps) cable at all when plugged into my laptop directly. It does work with a cheap IKEA USB 2.0 only A-to-C cable (at 2.0 speeds obviously, since there are only 4 pins present on the A side).

What could be the possible cause of such odd speed downgrade? Is this something that a person with some soldering experience could fix, like a missing resistor/connection/pad? I have not yet attempted opening the case.

• Possible causes: The alphabet soup manufacturer didn't follow the instructions for wiring up the USB C connector. It's not likely to be just a loose connection that needs more solder, but missing traces on the PCB. Not fixable by soldering on jumper wires, because length and impedance matching is rather important to achieving USB SuperSpeed connections. Oct 14 '21 at 16:18
• They haven't even bothered changing the default serial number from 123456789ABCDE so that's... likely Oct 14 '21 at 16:20

Because the manufacturer cheaped out.

Building a USB 2 device with a USB C connector is relatively simple. You just need some resistors to tell the other end what you are doing and then the rest of the device design is the same as any other USB 2 device.

Building a USB 3 device with a USB C connector is harder. In addition to the resistors, it requires active electronics (single chip implementations of this are available, for example the HD3SS3220 from TI) to detect cable orientation and multiplex the appropriate signals to the IC implementing the USB 3 device function.

It sounds like your Device manufacturer has ignored the USB specification and treated a USB C connector like they would a standard or micro Superspeed B connector.

Adding some resistors may fix it so it will work with a C to C cable in the correct orientation, but making it work at USB 3 speeds with cables in either orientation will require an active IC which is not something you can easily mod in.