• onslaught545@lemmy.zip
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    14 hours ago

    I’m not extremely familiar with the USB-C handshake, but isn’t it between the device and power supply?

    • rumba@lemmy.zip
      link
      fedilink
      English
      arrow-up
      1
      ·
      14 hours ago

      It used to be that simple. You could put a certain value of resistor between two pins and that was that.

      This guy covered it quite well

      https://superuser.com/questions/1555520/what-can-a-program-find-out-about-a-usb-c-cable-attached-to-the-computer

      In brief, Type-C cable specs are nearly independent from USB data and USB Power Delivery (Type-C can support anything).

      By specs, Type-C connector/cable provides two methods of self-identification.

      First one is by combination of resistor pulls-up and pulls-down on both sides of CC wires. Since there are two CC pins in Type-C connectors, and several analog levels, many combinations are available. Other than connect function itself and basic determination of source-sink roles and power capacity, several “alternate” functions are defined, as Display Port, Audio, and Debug mode.

      The second amendment to Type-C is the mandatory embedding of e-markers into every C-C cable. >The information in e-marker contains name of manufacturer and current carrying capability of particular cable.

      The state of CC1/CC2 pins is usually acquired by a special CC-controller chip. The CC-controller communicates with main system by I2C interface. The register-based interface is standardized in Intel document USB Type-C Connector System Software Interface Specification

      So, many manufacturers are including markers with maximum settings that exceed the wires’/cables’ capability.