4
\$\begingroup\$

I noticed, in another question, a comment regarding USB power states. I know that USB 2.0 negotiated power by tying the D+ and D- lines to specific voltages but I can't seem to find any information on USB 3.0 power state negotiation.

Since USB 3.0 has two sets of D+/D- lines, and I can't seem to find any information on this, does it either:

  • Pull both sets of data lines to specific voltages
  • Send actual data through to ask for power instead of setting static levels
  • Just pull one set of data lines to the specific voltages?
  • Or something else?

Bonus points if you can find the actual voltage levels or data for the different states.

\$\endgroup\$
5
  • 4
    \$\begingroup\$ "I know that USB 2.0 negotiated power by tying the D+ and D- lines to specific voltages" That is not part of USB 2.0, but rather part of how phone manufacturers decided on their own to (a)buse USB connectors for dedicated chargers. Actual USB 2.0 power negotiation, as in "can I have 500mA instead of the default 100mA" is handled via packetized USB signalling. \$\endgroup\$ Aug 1, 2014 at 14:39
  • \$\begingroup\$ Oh, I didn't know that. I thought it was part of the specification. So...maybe there isn't much information because phone manufacturers are slow in moving over to USB 3.0? \$\endgroup\$
    – Funkyguy
    Aug 1, 2014 at 14:40
  • \$\begingroup\$ I haven't looked at the details, but I believe USB3 has options in the spec for greater than 500 mA. It is indeed an interesting question how host and peripheral agree on that, but it should actually be in the spec rather than need to be reverse engineered as the previous vendor solutions were. \$\endgroup\$ Aug 1, 2014 at 14:41
  • \$\begingroup\$ Yea, your comment on the power supply question earlier is the one I'm referring to in the question. I looked around and found that "USB 3.0 can supply 900mA" so it can go higher but I'm not sure how host and peripheral agree on that \$\endgroup\$
    – Funkyguy
    Aug 1, 2014 at 14:43
  • 1
    \$\begingroup\$ If you're thinking of battery charging rather than negotiation, have a look at "USB-IF, Battery Charging Specification. Revision 1.2. December 7, 2010". Not sure if Apple devices conform to this. \$\endgroup\$ Aug 1, 2014 at 14:48

1 Answer 1

2
\$\begingroup\$

I know that USB 2.0 negotiated power by tying the D+ and D- lines to specific voltages

Not as per USB Specification. The battery specification signals the "charger" via a short (low resitance) between D+ and D-.

find any information on USB 3.0 power state negotiation

As in the USB 2.0 spec, look in the Standard Configuration Descriptor. The bMaxPower field definition is updated in the 3.0/3.1 USB specs. From USB_3_1_r1.0.pdf, Table 9-21:

Expressed in 2-mA units when the device is operating in high-speed mode and in 8-mA units when operating at Gen X speed.

\$\endgroup\$
2
  • \$\begingroup\$ How does this actually work, though? When you first plug it in, it's in high-speed mode, but then later switches to Gen X speed? If it's only using the full-speed 12 Mbit/s path then it can't draw more than 500 mA? \$\endgroup\$
    – endolith
    Oct 25, 2021 at 17:35
  • \$\begingroup\$ @endolith A device knows whether it is setup via USB 2 or 3. Devices that support both are expected to return a device and configuration descriptor(s) that are tailored to the protocol version. This is indicated with the value in the device descriptor bcdUSB field. From the spec: "The device descriptor of an Enhanced SuperSpeed device operating in one of the USB 2.0 modes shall have a version number of 2.1". The interpretation of bMaxPower follows from that. There is no switching speeds after enumeration. \$\endgroup\$ Feb 14 at 16:31

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.