cross-posted from: https://infosec.pub/post/51092505

I have a 3-pin Dell PSU spec’d as 19.5v 3.34A and DMM measures at 20v unloaded. The power reqs on the HP laptop are 19.5v 3.33A. AFAICT, that’s a match. Even the 3-pin barrel connector geometry matches. So what’s the problem?

The center pin is a “smart pin” aka “data pin”, as I came to learn. According to @over_clox@lemmy.world, this PIN basically passes brand info so HP can reject non-HP PSUs. But according to this article, the data pin is used to “regulate” the voltage – which I take to mean it negotiates the voltage for transmission as USB-PD does. If it’s merely negotiating power reqs, then the Dell should work.

It’s possible both sources are correct… perhaps HP has its own proprietary way of negotiating voltage and Dell has theirs.

Someone even claims that the data channel is used to communicate temp info so a PSU does not overheat. If that’s true, then perhaps it was a good design (noting that the USB-PD standard did not emerge yet).

But is it true about the communication? Considering there are hacks with a resistor or something to satisfy the data channel, it’s hard to believe that the communication is that sophisticated.

This page advises HP owners to always buy HP-branded PSUs. But it’s unclear if that’s just overly safe nonsense.

  • daveyOsborn@infosec.pubOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 hours ago

    I’m getting the sense from your comments that you think that USB-PD will deliver a higher voltage than requested. This is not accurate. A device can request any of the voltages specified by PD, and the power supply will supply that voltage if it is capable of doing so. If not, it will provide 5V. It’s very possible to get a sippy that won’t power your device,

    See the experiment I linked in the post that you replied to. If 19.5v is requested, 20v is supplied. If 12v is requested, 9v is supplied (not 5v). But also since 9v is optional, some PSUs would push 5v. So the voltage you get depends on what the PSU makers feel like sending.

    but a working, PD-compliant power supply will not damage a working, PD-compliant device.

    Yet they will fail because compliance is subject to interpretation and the ambiguities are disputed. Try plugging a USB-C bicycle light into a Lenovo USB-C PSU. Even though they both handle 5v, it fails. The Lenovo device makers believe all voltages, even 5v, must be negotiated. The bicycle light makers believe a 5v “default” /means/ they should get 5v without negotiation. The Lenovo PSU makers believe “default” means 5v will be the result of a failed negotiation (but not absence of negotiation).

    And other device makers believe USB PD requires supplying the closest voltage when negotiation fails, not 5v. Those people probably also believe 5v should be sent in the absence of negotiation.

    Obviously, if you get a barrel jack adapter that requests 20V and then plug it into a 5V device, you’re going to let the magic smoke out, but that’s because barrel jacks don’t do negotiation. The power supply correctly supplies 20V as requested, and then you plug that 20V into the wrong thing.

    You’re mixing up the different adapters. You can have a USB→barrel and you can have a barrel→USB. The interesting case is what I described, when the appliance and PSU are compatible in terms of voltage but still fail because of the protocol. Also consider that a 20v barrel PSU could feed a dumb usb-c adapter which then fries a 5v device. In principle, the adapter /could/ do a negotiation and refuse to supply 20v to a 5v device, or even just cut-off anything above 5v, but the shitshow that we have is a marketplace with dumb adapters. And in both situations (usb→barrel and barrel→usb), it’s not foolproof. Countless consumers cannot handle the voltage matching task so if the plugs fit, they will try it.