4

I've searched for a USB-C hub, but I couldn't find any. There are hubs that have C upstream and A downstream or even the one attached to a MacBook that has C up, A down and something that looks like another C down, but in reality it's only for charging. Bottom line: they don't offer anything I could not get by using a C->A adapter and a regular, non-C hub.

What I mean by a "USB-C hub" is something that has at least two C ports, and does not remove any features that would be present if devices were connected directly, that is fully negotiable and has exchangeable roles.

Is such a hub even possible?

Gaff
  • 18,569
  • 15
  • 57
  • 68
Agent_L
  • 1,750
  • 12
  • 14
  • Your new title, was broken english, I attempted to fix that problem. – Ramhound Oct 21 '16 at 17:27
  • Can you suggest a use case with a hub that switches port roles? How do you envision the desired functionality? – Ale..chenski Oct 21 '16 at 17:41
  • @AliChen Two phones, a pendrive and a charger. Phones swap who is the master, pendrive is always a slave while a charger keeps everything powered. – Agent_L Oct 21 '16 at 17:46
  • Then you are talking about sharing a set of devices between two hosts. There are hubs that can do this, see http://superuser.com/questions/1128622/pc-switcher-for-usb-hubs/1128632#1128632 – Ale..chenski Oct 21 '16 at 17:57
  • @AliChen I meant that while one phone is serving as slave, it's available to the current master as another slave. Everything is connected all the time, just the role of master is variable. Not a KVM-style switch. – Agent_L Oct 21 '16 at 18:03
  • So, you wish to have a full switch between everything, like a TCP-IP gigabit switch/router. The USB is not designed to support arbitrary interconnect fabric topology, it is a "start topology". Sorry to disappoint. – Ale..chenski Oct 21 '16 at 18:26
  • @AliChen It's not full switching like network, because there still are roles. I just want the hub to not interrupt the negotiation of the roles. – Agent_L Oct 21 '16 at 18:33
  • I sense some misconception here. Hubs are not a set of wires or switches/muxes, so they cannot "interrupt any negotiations". A USB hub is a pretty sophisticated communication processor, which has a local and independent port control management, with deep elasticity buffers, with re-timing and re-sampling of data flows between upstream port and downstream ports. Yet it does not have any intelligence to negotiate itself as "device" on a downstream port. It can't route anything from one downstream port to anther downstream port either. This is how the entire bus is designed, want it or not. – Ale..chenski Oct 21 '16 at 18:54
  • @AliChen Yes, I get that. However being able to detect two DRP devices and let it them negotiate who is the master, then swap up/downstreams accordingly doesn't sound fundamentally impossible. – Agent_L Oct 21 '16 at 19:19

1 Answers1

8

The all-Type-C hub is certainly possible, and eventually will dominate. Examples of "Hybrid-A-A-C-C = >C cable" hubs do exists.

The main problem here is in additional cost of Type-C port. Also, the purely C hub is largely useless these days, since the number of devices with Type-C connectors is still miserable on the market.

The Type-C port must have the polarity-detection mode, lane muxing, and full VBUS power control, because the VBUS switching (must be always OFF when no cable is attached) is mandatory, in contrast with the regular USB, where "ganged" wiring of VBUS is allowed. Even in classic USB the hubs who implement full power control on VBUS are selling in $40-$50 range.

Until design houses as GL, VIA, TI, or Microchip came up with hub ICs that natively support the lane muxing, CC detect/handshake, and VBUS control, the C-C-only hubs will be expensive to make, and therefore harder to find. Enhanced Power Delivery increases the cost dramatically. But I guess this all is a matter of time.

Bi-directional hubs are not possible in principle, the USB was designed as host-centric architecture with star topology, where hubs are expanders of the preconceived topology. Hubs are not a set of wires or switches/muxes, they cannot "interrupt" any OTG negotiations. A USB hub is a pretty sophisticated communication processor, which has a local and independent port control management, with deep elasticity buffers, with re-timing and re-sampling of data flows between upstream port and downstream ports. But they can't route anything from one downstream port to anther downstream port "across" the hub.

Theoretically, however, it is possible to design a device (SoC) that would have multiple OTG/DRP ports, where the CPU would provide any type of cross-communication, but this will be a new type of USB device, "super-hub", or "super-dock", or something.

Ale..chenski
  • 12,414
  • 4
  • 35
  • 46
  • Thanks for the link, that's more like something I was looking for but damn that price (like $80)! However it describes the plug as "upstream" and two C sockets as "downstream", when I asked about reversible roles. – Agent_L Oct 21 '16 at 16:55
  • 2
    The term "reversible" is usually construed as "polarity reversible", that's why I missed your point. If you mean reversing the role between Host and Device, then the right term is DRP (dual-role port), sometimes referred as OTG (older form of DRP). The DRP functionality of hubs is not defined, mostly because it is difficult to find any reasonable/meaningful configuration topology of connections. However, there were attempts to change this, see http://superuser.com/questions/1122096/usb-hub-that-can-switch-downstream-and-upstream/1122143#1122143 – Ale..chenski Oct 21 '16 at 17:11
  • I've edited the question to clear this up. Yes, DRP - but I'm under impression that USB-C is DRP by default and the negotiation of roles always takes place. – Agent_L Oct 21 '16 at 17:19
  • 1
    No, the DRP is not a default nor mandatory mode. Type-C ports define three distinct categories - device, host, and DRP. To be a DRP, a lot of extra intelligence is required. – Ale..chenski Oct 21 '16 at 17:39
  • Not fully. But with USB-OTG it was the plug that defined direction (via grounding pin 5). With USB-C the devices have a way of determining who is the host and who is the device. USB-C cable does not break and substitute this negotiation, while hubs do. – Agent_L Oct 21 '16 at 17:43
  • 1
    This is the same with basic Type-C - the CC1 pin state defines the role of a port. If both (port and cable) CC pins have 5.1k pull-down, they are both devices. If both have pull-ups - both are hosts, and nothing happens then. A DRP port alternates its CC pin state 15 times per second. A USB hub is a device, and does not substitute anything. – Ale..chenski Oct 21 '16 at 17:52
  • AFAIK you could not connect 2 OTG devices with a 5-wire cable and expect them to work it out, could you? It had to be some external force that pulled only one down. – Agent_L Oct 21 '16 at 17:54
  • 1
    Yes, you can connect two OTG devices, and they will work fine. The roles however (who becomes the host and who becomes a device) will be determined at random. Read Type-C specifications, Figure 4-11. How the negotiation happens, see above, it is periodic advertisement to be host or device. – Ale..chenski Oct 21 '16 at 19:12
  • I'm confused, are you saying that Type-B OTG will be random, or Type-C will. – Agent_L Oct 21 '16 at 19:16
  • 1
    I said nothing about type-B. The discussion is about Type-C. – Ale..chenski Oct 21 '16 at 19:19
  • I was talking about difference between old micro-A/B OTG, when who is the master was determined externally by the cable and could not be let for devices to negotiate by using 5-wire cable (instead of regular 4-wire one) with the new C-type DRP which negotiate between themselves on who is the master and can renegotiate it at later time. – Agent_L Oct 21 '16 at 19:29
  • @Agent_L, in old simplified micro-A/B OTG, the micro-cable must have one end as uA, the other as uB. And the OTG ports must be of uA/B type, which mates both with uA and uB plugs. So the host/device role is simply defined by direction of uAB cable. Also, the uAB OTG cables do not have the 5th wire, the cable is standard 4-wire. All OTG ID business (grounded or not) is managed in the cable overmold. – Ale..chenski Jun 06 '17 at 02:48