Interested in a Magsafe3 Expansion Card?

Made a brief detour to write a Wireshark dissector for I2C comms with FUSB302 controller: from what I see, message exchange goes the same way as with a regular Type-C cable:

Source_Capabilities →
← Request
Accept →
PS_RDY →

But then, unlike a regular cable, about 2.8 seconds after PS_RDY, MagSafe cable cuts the power and the whole process restarts from scratch.

One of the suspects I have is the lack of normal ongoing message exchange between Sink and Source, but the timing doesn’t line up. (Still possible that Apple has hardcoded a shorter timeout, so I still want to try sending them with 1s intervals and see what happens)
image

I think at this stage I’ll try to make a USB PD sniffer out of FUSB302 and find someone with a macbook and obtain a dump of communications between MagSafe cable and the IC that Apple is using in their laptops. (Until now I’ve used Pinecil breakout board attached to a logic analyzer to dump the I2C bus Pinecil’s internal FUSB302 is connected to)

If it indeed turns out that the cable requires slightly modified protocol, then we’d have two options:

  1. modify EC firmware to support these modifications (at least on my AMD Framework 13 it seems that EC is handling PD negotiation and the main system knows nothing about it)
  2. have a microcontroller inside the expansion card to take care of that, presenting a normal PD interface to the laptop
2 Likes