Tests on Y-cables

Werner Almesberger werner at almesberger.net
Tue Jan 6 10:41:48 UTC 2015

DING Changchang wrote:
> I have tested two Y-cables Xiangfu bought:
> http://downloads.qi-hardware.com/people/xiangfu/anelok/y-cable/Y-cable.JPG
> http://downloads.qi-hardware.com/people/xiangfu/anelok/y-cable/Y-cable-with-chip.JPG

Great, thanks !

> They both have the ID pin connected to GND in USB Micro B port as
> the OTG host.

I love it ! As far as I can tell, it's totally against anything the
USB standards define, but it's just what works best for us :-)

> The first one should meet all the needs:
> Works fine when connecting usb keyboard/mouse/disk on the OTG slave
> (the standard USB A female)

Perfect !

> The power branch does deliver power to both slave and host, only
> failing in charging a Nexus5. But it can charge a Nexus4 and power
> up a RaspberryPi.

Excellent ! I think the reason that it sometimes works and sometimes
not is that some systems only draw power when something on the other
end of the cable tells them it's okay to do so (e.g., when they can
enumerate), while others just assume they can do it and go ahead.

The ones that try to be "nice" therefore don't charge / power while
the ones that don't pay attention to such things will just work.

USB OTG also specifies three more protocols (ADP, HNP, and SRP) that
can make life interesting. In particular, ADP (Attach Detection
Protocol) communicates over VBUS. So it would even work between the
power-only port and devices on the other ports. I guess that could
add an extra bit of unpredictability, too.

> One problem is that the power branch has a Micro B female and is not
> long enough. But we can connect it with a Micro B male to Standard A
> male cable which is very easy to get:

Yes, that may be an option. Anelok needs a Full A to Micro B cable
anyway, so that combination may not be overly clumsy. As an added
benefit, it also solves the problem of having a sufficiently long
cable for power, since it's easy to get these cables in all kinds of

> The second one has a chip inside.

Oh, I didn't expect this. Are there any markings on the chip that
could tell us what it does ?

> It cannot work properly when all three ends are in use.

Maybe the chip implements some of these fancy OTG protocols, e.g.,
HNP (Host Negotiation Protocol) which lets a B device become host,
just to get it wrong :)

> Another cable Xiangfu ordered should arrive in a few days. I will
> test it later.

Great ! Let's see what this does.

Thanks a lot ! This looks very good.

- Werner

More information about the discussion mailing list