1
\$\begingroup\$

I'm trying to wire a USB Type C receptacle just for USB 2.0. If I wire A1(GND), A6(D+), A7(D-) and A9(VCC), this works, but only for one orientation (as expected). If I use the B-side data pins, that also works for the other orientation. However, as soon as I tie A6 to B6 and/or A7 to B7, it stops working, with Linux reporting device descriptor read errors.

I've tested using A and C break-out boards, all VCC pins are tied, all GND pins are tied and the opposing side data pins are floating. This is a USB A to C cable, so we can ignore CC for now, I'm wondering what the correct way of tying the data pins together is? Should I be tying them up/down? If so, with what resistance?

I couldn't find this addressed searching through the spec or various posts generally on the web. I expect it is, but my knowledge is too lacking to comprehend it.

\$\endgroup\$
4
  • \$\begingroup\$ What length/type of cable are you using to tie them together? \$\endgroup\$ Commented May 17, 2021 at 11:18
  • \$\begingroup\$ You cannot ignore CC pins in any type of cable assembly that contains Type-C connector. Please submit wiring diagram/schematic of what/how you are connecting things. Picture of your wiring technique will also help to answer your question. \$\endgroup\$ Commented May 17, 2021 at 15:59
  • \$\begingroup\$ I'm testing this out on a breadboard for the moment, using male and female type-C breakout boards. A USB A-to-C cable goes from the computer to the female port, I'm using the breadboard to route VCC/D+/D-/GND to the male port, and that goes into an Android phone. This works, but I can't route the female type C to male type C in a way that both input orientations work. Some pictures: photos.app.goo.gl/hR9p5fhr4AqivEGo8 - note, the male connector labels are backwards. \$\endgroup\$
    – Cwiiis
    Commented May 17, 2021 at 23:22
  • \$\begingroup\$ Breadboarding is a very wrong method for USB at 480Mbps. It never works. \$\endgroup\$ Commented May 19, 2021 at 18:02

1 Answer 1

1
\$\begingroup\$

At USB speeds the breadboard and jumper cables will degrade the signal quite considerably.

Try soldering very short wires to connect the A and B side pins directly on the breakout board. Twist the D+ and D- wires together between the connectors, or use a section of USB cable.

If you were planning on using the other USB-C signals, you would typically need a chip called a USB-C mux to handle the reversible connection.

\$\endgroup\$
3
  • \$\begingroup\$ So just so I have it clear, A6/B6 and A7/B7 ought to be able to be connected and it's likely signal degradation that's causing me my issues? I'll try out soldering with very short wires and see how it goes, thanks! \$\endgroup\$
    – Cwiiis
    Commented May 18, 2021 at 14:04
  • \$\begingroup\$ I think so, as long as you're only going to be connecting this to a USB 2 host port: there's only one set of D+/D- wires in the cable, so tying the A/B pins together won't change the circuit as seen from the host -- the issue has to be signal integrity. \$\endgroup\$ Commented May 19, 2021 at 8:29
  • \$\begingroup\$ @Cwiiis usually the cross A6/B6 and A7/B7 is done in nearest proximity to the connector, within 2-3 millimeters (!!!), to avoid stub reflections. \$\endgroup\$ Commented May 19, 2021 at 18:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.