Author Topic: Custom Keyboard Cable Problem  (Read 666 times)

0 Members and 1 Guest are viewing this topic.

Offline Jtaks

  • Thread Starter
  • Posts: 2
  • Location: Canada
Custom Keyboard Cable Problem
« on: Sun, 17 May 2020, 13:28:19 »
Hey everyone,

I have a Steel Series 6GV2 that I modified to have a detachable cable. I removed the built in USB cable and attached a female USB C port where that cable was attached. It works great but only with certain cables. I was hoping someone might be able to provide some insight as to which types of cables work because I am at a loss. All cables I have are USB A to C (2.0 I think based on only 4 pins on the A side).

Worked:
- Logitech MX Master 3 mouse cable
- Nintendo Switch Pro controller charging cable

Doesn't work:
- Amazon Basic 2.0
- JianHan USB C Cable (with "reversable" design)

Cheers

Offline Leslieann

  • * Elevated Elder
  • Posts: 2901
Re: Custom Keyboard Cable Problem
« Reply #1 on: Sun, 17 May 2020, 20:21:15 »
Type C broke several prior USB standards.
There are two parts that can trip you up, one of which is a lack of standards and the other is new standards that broke the old ones, USB is a mess, and Type C made things far, far worse and I'm not talking about the whole what thunderbolt standards are supported, that's a whole separate complaint, easily as long as this.


The thing to remember is that type C is a connector, not a standard, as such not all cables are equal. Some Type-C cables not only do not reverse, several have power wires on both sides, but data only one one. Some aren't even USB 3.0 inside, the Type-C extension cable I used to make the pigtail on my keyboard had 4 wires inside (USB 2.0).  Not all are wired the same way either, some will wire the shield into ground, some have a dedicated shield, some have no shield at all. If you take a cable with a proper shield and connect to one that is not, it can cause connection to fail as some use the shield as a second ground. When messing with USB cables, I always tie black and shield together on them to avoid this issue. Not great for the signal, but it eliminates the problem when both need to be connected. If you have an aluminum keyboard, I also like to connect ground to the chassis. It seems to help with reducing static.


Type-C broke USB's simple rules.
Anything plugging into a type A port is fine, but the moment you connect anything to a Type C port all hell breaks loose, you may be using a Type A but it can still trip you up now and certainly will if you ever plug into a Type C port. Type C requires devices to identify themselves as host or sub device and until this happens it won't work. Obviously your computer's port is a host, so why not just assume so, because when charging through the port it's a sub device. I'm still not convinced that this was needed but they did it anyway and so it makes Type C even more complicated than it already was. Luckily it's an easy fix, just a resistor across two pins, but if you aren't aware of it, it can be a surprise.  Now I know I said I don't think this is your problem (and I still don't since you're connecting to a Type A port, but it will be an issue later) but then I re-read and notices you used a Type-C USB port, not a cable. Some of these have the resistor in them for this purpose, but for some reason they're mounted as a host. The video below goes into detail about this whole thing.

One thing to note on this video, he removes the built in resistor that designated it as a host and then installs a different one, watch closely when he removes the pre-installed one there's a set of pads right next to it. If you were making a universal connector that needed to be flipped in this way, wouldn't you make the necessary pads right next to it? I and a bunch of others all noted the same thing, all he (probably) had to do was move the resistor over.

Anyhow, I hope all this helps.
Filco MJ2 L.E. w/hand milled Vortex case, custom feet/paint/winkey blockoff plate, HID Liberator, stainless steel universal plate, 3d printed adapters, Type C, sound dampened,  Thick PBT caps (o-ringed), Cherry Jailhouse Blues w/lubed/clipped Cherry light springs | HMMK TKL | Magicforce 68 | YMDK75 | KBT Race S L.E. | Das Pro (Costar model) | GH60 | IBM Model M (x2)

Offline typo

  • Posts: 1525
Re: Custom Keyboard Cable Problem
« Reply #2 on: Mon, 18 May 2020, 00:34:50 »
since last two do not comply to final standard. You really need to fix your jack right.

Offline Jtaks

  • Thread Starter
  • Posts: 2
  • Location: Canada
Re: Custom Keyboard Cable Problem
« Reply #3 on: Mon, 18 May 2020, 12:45:52 »
That was a good read. Thank you.

The port I installed on the keyboard is the Adafruit USB C Breakout Board - Downstream Connection0. Reading about USB Hardware1 on Wikipedia it sounds like downstream is roughly equivalent to host.

With that I will likely need to make that resistor change you mentioned (please correct me if I am mistaken :D).

Follow up question -- does this mean that the cables that work are likely ignoring the keyboard saying it is a host?

0 https://www.adafruit.com/product/4090
1 https://en.wikipedia.org/wiki/USB_hardware#Connectors

Offline Leslieann

  • * Elevated Elder
  • Posts: 2901
Re: Custom Keyboard Cable Problem
« Reply #4 on: Mon, 18 May 2020, 20:01:03 »
Downstream is sub device (think of a river), the resistors on the Adafruit part tell the host to allow it to give full power.

Sounds like a cable issue or you flipped the data wires, which is easy to do.
Filco MJ2 L.E. w/hand milled Vortex case, custom feet/paint/winkey blockoff plate, HID Liberator, stainless steel universal plate, 3d printed adapters, Type C, sound dampened,  Thick PBT caps (o-ringed), Cherry Jailhouse Blues w/lubed/clipped Cherry light springs | HMMK TKL | Magicforce 68 | YMDK75 | KBT Race S L.E. | Das Pro (Costar model) | GH60 | IBM Model M (x2)