• Warl0k3@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    1 day ago

    A USB transceiver is required to withstand a continuous short circuit of D+ and/or D- to VBUS, GND, other data line, or the cable shield at the connector, for a minimum of 24 hours without degradation

    Shorts aren’t really a concern with decent hardware, but as far as I can tell that’s the problem with the power banks that are failing - they’re not decent hardware, so minor damage attached to a very energetic bag o’ chemistry results in (very occasional) fiery disaster.

    • pivot_root@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      5 hours ago

      Is that for USB A and USB C? USB PD could be riskier if it shorts VBUS to D+ or D- since it can negotiate up to 12 volts, IIRC

      • Warl0k3@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 hours ago

        As I understand it it’s been the standard since 2.0 and continues to be the case, even for high-power systems. From personal experience of trying to make a USB-C USB killer for PD, it’s also just damned difficult to do. USB is an extremely resilient standard.

      • Muffindrake@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        4 hours ago

        The negotiation needs to happen first - a compliant host port cannot just send 12V. Heck, even 5V at 5A depending on available power, the limit for PD, cannot just happen. A compliant USB-PD power supply is not supposed to deliver any power until an actual negotiation, or specific pull-down resistors on the device CC1/2 are detected.

        Of course not all USB-C ports are compliant. USB-A is essentially a hardwired 5V at (your-guess-is-as-good-as-mine-the-spec-is-nonsense)A, and some transit systems like buses I have found and tested to just hardwire USB-C to provide 5V with no negotiation either. Maybe those had host-side resistors advertising any particular amperage (you can draw up to 3A at 5V ONLY depending on CC1/2 pull-up resistors with no further negotiation), but I wouldn’t count on it.

        Also, you can’t really directly short VBUS to D+/-, since there are CC/SBU pins inbetween. On the host side, CC is either pulled up to VBUS (with a huge resistor) or tied to some IC, that might be able to detect bad conditions (though I have no experience here). On the device side, CC is either pulled-down with another big resistor, or tied to another IC. There are opportunities to detect errors and go into protection states, but that might not be the case depending on the ICs they’re using. SBU is supposed to be left floating or unconnected at the start.