Hacker News new | past | comments | ask | show | jobs | submit login

The spec [1] is a long read, but interesting. Misc. stuff that's not well known:

- The 24 pin connector does not have symmetrical connections. The interface IC senses which way it is plugged in.

- It's still a master/slave system, but either side can be the USB master or the power master. Those need not be the same.

- Who powers whom is an interesting issue. It's up to the OS to decide. There's special support for the dead-battery case - what happens when you plug something with a dead battery into something else? Can you charge your phone from your laptop? Laptop from phone? Tablet from laptop? Phone from phone? It's complicated.

- There's something called the "billboard device", which is the interface IC's mechanism for sending error messages when both ends are not in agreement about modes. The devices at each end are supposed to display this information. Hopefully they do. At least the designers thought about this.

- Hubs are more restrictive. They don't pass through much more than USB mode and power. They don't pass any of the more exotic modes, like HDMI, since those are not multipoint protocols. It is supposed to be possible to pass power upstream through a hub, though.

- Anything with a female USB-C connector has to talk USB-C. It is prohibited to have cables with a female USB-C on one end and some other USB connector on the the other. Male USB-C to other USB is permitted, and will provide backwards compatibility.

- There are extensions defined for "proprietary charging methods" to allow higher current levels. (I wonder who wanted that?)

- There's a mode called "Debug Accessory Mode". This is totally different than normal operation and requires a special cable as a security measure. (In a regular cable, pins A5 and B5 are connected together and there's only one wire in the cable for them. Debug Test devices use a cable where pins A5 and B5 have their own wires and there's a voltage difference between them.) Debug Accessory Mode, once entered, is vendor-specific. It may include JTAG low-level hardware access. Look for exploits based on this. If you find an public charger with an attached USB-C cable, worry. Always use your own cable.

[1] http://www.usb.org/developers/docs/

- Who powers whom is an interesting issue. <...> It's complicated.

Yeah... I have a battery bank from Anker with two plugs: USB-A and USB-C. If I connect my Nexus 6p with USB-C/USB-C cable, everything is good, phone gets power. But if the only cable I have at the moment is USB-A/USB-C, then phone starts to charge the battery bank.

This is crazy. In all the battery packs I have seen so far, the convention seems to be that the micro USB port is for charging the battery pack itself and the type A port is for delivering power to the device to be charged. Looks like a new set of rules apply to the USB-C ports.

That has to be a spec violation of at least one part of the system. How can a USB-A port possibly ever receive power? Does it actually charge the battery or does the phone just think it's delivering power - perhaps because of a non-compliant cable?

That's a problem I've seen with cheap Chinese powered USB hubs. You plug them into the wall and your Raspberry Pi and all of a sudden your Pi turns on (even though its power is unplugged) but doesn't boot.

That may be a Raspberry Pi problem. The Pi's non-power USB ports are "On the go" ports, and potentially bi-directional. But they don't have the proper power circuitry and protection on the power side. The Pi's power USB port doesn't do power negotiation, so if connected to a power source that demands negotiation, it may only get the default per-negotiation 100mA, which isn't enough.

(I've been designing a board that gets power from USB, and had to read up on all this. The USB power system is complex but well designed, and if all the devices comply with the standards, immune to user mis-plugging. The problem is that doing it right usually requires an extra IC at each USB port just to manage power.[1] A lot of low-end devices don't do all this right.)

[1] http://www.linear.com/product/LTC4085

When you plug the phone in, a notification appears in the notification shade allowing you to choose how you want the power to flow. You should be able to choose to charge the phone, rather than use the phone as a charger. I know this option appears when using a Type C to Type C cable, but there's a chance it won't work with a Type C to Type A cable.

I have the same one - annoyingly I find the USB-C cable, when plugged in, isn't flush with the body of the battery.

Which hub? That doesn't even make sense since the only port the Anker accepts power in on is the USB-C port.

I'm not adding much here, but I wanted to say that comments like this are why I read HN.

The "usb-c female to other usb is not permitted" surprised me so I started searching why might be the reason. I've found this g+ post [1] which sheds a bit of light. It's actually good to know as I would've assumed that's ok to have this kind of connector. Probably is, if you know what you're connecting together. Btw you can buy those cable in Amazon :) [2]

[1] https://plus.google.com/+BensonLeung/posts/UFCHbSDRa2o [2] https://www.amazon.com/USB-C-Female-Macbook-Tablet-Mobile/dp...

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact