Case Studies in USB-C Debugging (2020)

(medium.com)

67 points | by todsacerdoti 676 days ago

6 comments

  • bartvk 676 days ago
    The writer of the piece, Nathan K., has been such a hero to me. He used to post scathing (or glowing!) reviews on Google Plus, on whether certain cables, chargers or other hardware stuck to the standards or not.

    I believe it got him into hot water, because when he was looking for a job, one unnamed prospective employer thought him "too critical" (not "too knowledgeable" mind you).

    I got obsessed with USB-C for a while, and he'd answer questions there, and point to the specs when appropriate.

    • mmebane 676 days ago
      If you're still interested in that sort of thing, Benson Leung is another Google engineer who's done a lot of work similar to Nathan K. He's u/LaughingMan11 on Reddit [1], and engages in a lot of technical discussions on r/UsbCHardware [2].

      [1]: https://old.reddit.com/user/LaughingMan11/

      [2]: https://old.reddit.com/r/UsbCHardware/

      • Nathan_K 675 days ago
        Spoiler: I'm his colleague. I kept as strict professional/personal isolation as I could, which is why I didn't discuss it much.

        I had to take a step back when I took an NDA to the knee. Plus some other local hurdles.

        We're normal people like everyone else. This work is quite rewarding, although complexity has skyrocketed since Kernel-side connection manager for USB4 was implemented. Definitely pick up a Type-C PD analyzer, 4-channel scope, current probe, breakout, and start poking at products around you to learn. (Just not anything EPR yet; you'll fry out your analyzer's eye diagram, kid.)

        For industry news and cool tech I'd recommend following Benson instead. He is aware of the ins and outs of his professional station, and serves as a better ambassador for the technology. I'm more of his hardware-biased understudy, and a heckler from the peanut gallery.

        Closing, here's some tool suggestions for those wanting to heed the call to action:

        Good breakouts are the hardest part to find. Wilder has an excellent "PD coupon" but it prices out most hobbyists. Team-Solutions has the much more accessible Acute Co Tw "AC034 Type-C Breakout Board", but you need to look for "USB Type-C Fixture" on their rather old website.

        For analyzers Ellisys Type-C Tracker is the most polished suite, but runs around $5k for single DP/USB4 unlock. TotalPhase PD analyzer is "lingua franca" for Benson since it runs on Linux and his team designed the underlying open-source hardware, however the decode lens hasn't been updated in a very long time. Cypress CY4500 I've found some packet parsing bugs (crosschecking with other analyzers), so always double check the decoded data. Saleae Pro may be your best bet; it is common at Fruit Companies, and Saleae provides a generous hobbyist discount.

    • RickHull 676 days ago
      Oh yeah, I remember this guy! We need more people like this writing critically about technology and hardware.
  • vatys 676 days ago
    The worst thing about having read the USB PD specification is having to live with this knowledge
    • formerly_proven 676 days ago
      I like the appendix that talks about actively managing the arcing that EDMs the contacts away.
  • theamk 676 days ago
    It is pretty sad how hardware test suites are uncommon, hard to use and sometimes are missing altogether. Consortums release the standards for free or for nominal fees, but don't release the test suites under the same conditions.

    Forget complex USB 3 - even something as simple as I2C often has bugs under unusual circumstances.

    Ans compate this to software world - Python for example comes with a large test suite, and re-implementations can use it to see how close they are.

  • epall 676 days ago
    This work seems so much more challenging, interesting, and fun compared to what I do as a senior software engineer. Why does hardware engineering pay so much less??
    • gary_0 676 days ago
      The number of hardware designs companies can produce is restricted by economies of scale and the less mutable nature of hardware versus software, which in turn restricts the number of hardware engineers needed and thus the market demand for their skills. Also, much of the hardware production pipeline has been moved overseas to places with lower standards of living.
    • 2rsf 676 days ago
      Try being an embedded software engineer, it tends to pay more than a HW engineer gets and still have all the fun
      • d-sc 676 days ago
        Yup - also you need to know both fields hence why it pays more.
    • wongarsu 676 days ago
      For the same reason game development or software development at SpaceX pays so little: if people want to do it you don't have to pay them to show up, only to survive.
  • mst 676 days ago
    Worth noting there is, as implied in the post, a part two among other things available from here: https://medium.com/@kolluru.nathan
  • joshstrange 676 days ago
    I would pay $100-200 for a smallish device (around raspberry pi sized ideally) that I could plug a USB-C cable into (both sides, maybe this device would need at least on USB-A as well?) and it would spit out all the capabilities PD/Speed/TB?/display/etc.