Framework 180W adaptor - no USB-PD 15V?

I have found out how to make it work in “sky/monitor” mode now.
The “SRC” is the laptop side.
The “SNK” is the usb device attached to the laptop.

FW16 trace that cycles about every 2 seconds:

EVENT	37471	1	EVENT_ATTACHED	0	
DEBUG	37471	1	VBUS:3703, CC:1	1	
SRC	37531	1	SOP	 PD3	s:006	    H:0x11A1    	(id:0, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910127	
Option: 	UNCHUNK	DRD	USB	DRP	
 [1] Fixed : 5V - 3A
	2	
SRC	37533	1	SOP	 PD3	s:006	    H:0x11A1    	(id:0, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910127	
Option: 	UNCHUNK	DRD	USB	DRP	
 [1] Fixed : 5V - 3A
	3	
SRC	37534	1	SOP	 PD3	s:006	    H:0x11A1    	(id:0, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910127	
Option: 	UNCHUNK	DRD	USB	DRP	
 [1] Fixed : 5V - 3A
	4	
SRC	37716	1	SOP	 PD3	s:006	    H:0x13A1    	(id:1, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910127	
Option: 	UNCHUNK	DRD	USB	DRP	
 [1] Fixed : 5V - 3A
	5	
SRC	37717	1	SOP	 PD3	s:006	    H:0x13A1    	(id:1, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910127	
Option: 	UNCHUNK	DRD	USB	DRP	
 [1] Fixed : 5V - 3A
	6	
SRC	37719	1	SOP	 PD3	s:006	    H:0x13A1    	(id:1, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910127	
Option: 	UNCHUNK	DRD	USB	DRP	
 [1] Fixed : 5V - 3A
	7	
SRC	37900	1	SOP	 PD3	s:006	    H:0x15A1    	(id:2, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910127	
Option: 	UNCHUNK	DRD	USB	DRP	
 [1] Fixed : 5V - 3A
	8	
SRC	37902	1	SOP	 PD3	s:006	    H:0x15A1    	(id:2, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910127	
Option: 	UNCHUNK	DRD	USB	DRP	
 [1] Fixed : 5V - 3A
	9	
SRC	37903	1	SOP	 PD3	s:006	    H:0x15A1    	(id:2, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910127	
Option: 	UNCHUNK	DRD	USB	DRP	
 [1] Fixed : 5V - 3A
	10	
SNK	37904	1	SOP	s:002	    H:0x0481     (id:2, DR:UFP, PR:SNK) 	GOODCRC	11	
SNK	37907	1	SOP	 PD3	REQUEST	s:006	    H:0x1082    	(id:0, DR:UFP, PR:SNK)  DATA: 2CB10412
ObjectPosition:1
GiveBack:0
CapabilityMismatch:0
USBCommunicationCapable:1
NoUSBSuspend:0
UnchunkedExtendedMessagesSupported:0
MaximumOperatingCurrent:3000mA
OperatingCurrent:3000mA	12	
SRC	37907	1	SOP	s:002	    H:0x0161     (id:0, DR:DFP, PR:SRC) 	GOODCRC	13	
SRC	37909	1	SOP	 PD3	ACCEPT	s:002	    H:0x07A3     (id:3, DR:DFP, PR:SRC) 	14	
SRC	37911	1	SOP	 PD3	ACCEPT	s:002	    H:0x07A3     (id:3, DR:DFP, PR:SRC) 	15	
SRC	37912	1	SOP	 PD3	ACCEPT	s:002	    H:0x07A3     (id:3, DR:DFP, PR:SRC) 	16	
SRC	37915	1	SOP	 PD3	SOFT_RESET	s:002	    H:0x01AD     (id:0, DR:DFP, PR:SRC) 	17	
SRC	37916	1	SOP	 PD3	SOFT_RESET	s:002	    H:0x01AD     (id:0, DR:DFP, PR:SRC) 	18	
SRC	37918	1	SOP	 PD3	SOFT_RESET	s:002	    H:0x01AD     (id:0, DR:DFP, PR:SRC) 	19	
DEBUG	37996	1	VBUS:960: CC:1	20	
EVENT	37996	1	EVENT_DETACHED	21

Note: After the SOFT_RESET attempt, the SRC (FW Laptop) also sends a HARD_RESET, but that is not shown here. It only appears on the oscilloscope data recording.

A good trace from a different non-FW laptop:

EVENT	898815	1	EVENT_ATTACHED	0	
DEBUG	898815	1	VBUS:1536, CC:1	1	
SRC	898941	1	SOP	 PD2	s:006	    H:0x1161    	(id:0, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910104	
Option: 	USB	
 [1] Fixed : 5V - 3A
	2	
SRC	898942	1	SOP	 PD2	s:006	    H:0x1161    	(id:0, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910104	
Option: 	USB	
 [1] Fixed : 5V - 3A
	3	
SRC	898944	1	SOP	 PD2	s:006	    H:0x1161    	(id:0, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910104	
Option: 	USB	
 [1] Fixed : 5V - 3A
	4	
SRC	898946	1	SOP	 PD2	s:006	    H:0x1161    	(id:0, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910104	
Option: 	USB	
 [1] Fixed : 5V - 3A
	5	
SRC	899058	1	SOP	 PD2	s:006	    H:0x1361    	(id:1, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910104	
Option: 	USB	
 [1] Fixed : 5V - 3A
	6	
SRC	899060	1	SOP	 PD2	s:006	    H:0x1361    	(id:1, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910104	
Option: 	USB	
 [1] Fixed : 5V - 3A
	7	
SRC	899062	1	SOP	 PD2	s:006	    H:0x1361    	(id:1, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910104	
Option: 	USB	
 [1] Fixed : 5V - 3A
	8	
SRC	899063	1	SOP	 PD2	s:006	    H:0x1361    	(id:1, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910104	
Option: 	USB	
 [1] Fixed : 5V - 3A
	9	
SRC	899175	1	SOP	 PD2	s:006	    H:0x1561    	(id:2, DR:DFP, PR:SRC) 	SRC_CAPABILITIES	DATA: 2C910104	
Option: 	USB	
 [1] Fixed : 5V - 3A
	10	
SNK	899176	1	SOP	s:002	    H:0x0441     (id:2, DR:UFP, PR:SNK) 	GOODCRC	11	
SNK	899178	1	SOP	 PD2	REQUEST	s:006	    H:0x1042    	(id:0, DR:UFP, PR:SNK)  DATA: 2CB10412
ObjectPosition:1
GiveBack:0
CapabilityMismatch:0
USBCommunicationCapable:1
NoUSBSuspend:0
UnchunkedExtendedMessagesSupported:0
MaximumOperatingCurrent:3000mA
OperatingCurrent:3000mA	12	
SRC	899179	1	SOP	s:002	    H:0x0161     (id:0, DR:DFP, PR:SRC) 	GOODCRC	13	
SRC	899180	1	SOP	 PD2	ACCEPT	s:002	    H:0x0763     (id:3, DR:DFP, PR:SRC) 	14	
SNK	899180	1	SOP	s:002	    H:0x0641     (id:3, DR:UFP, PR:SNK) 	GOODCRC	15	
SRC	899211	1	SOP	 PD2	PS_RDY	s:002	    H:0x0966     (id:4, DR:DFP, PR:SRC) 	16	
SNK	899212	1	SOP	s:002	    H:0x0841     (id:4, DR:UFP, PR:SNK) 	GOODCRC	17	
SRC	899215	1	SOP	 PD2	GET_SNK_CAP	s:002	    H:0x0B68     (id:5, DR:DFP, PR:SRC) 	18	
SNK	899216	1	SOP	s:002	    H:0x0A41     (id:5, DR:UFP, PR:SNK) 	GOODCRC	19	
SNK	899216	1	SOP	 PD2	s:006	    H:0x1244    	(id:1, DR:UFP, PR:SNK) 	 [1] Fixed : (5V - 3A)	
SNK_CAPABILITIES	DATA: 2C910104	20	
SRC	899217	1	SOP	s:002	    H:0x0361     (id:1, DR:DFP, PR:SRC) 	GOODCRC	21

It looks like the main problem here is the Laptop(SRC) sends the “ACCEPT” but never received a GOODCRC in return from the device(SNK).
I don’t know what the cause of this is yet, it could be any off (guesses):

  1. Signal noise or distortion or wrong levels on the Laptop TX side so that when it arrives at the destination device, it sees CRC errors. Note: There is no reporting of bad CRC, so this will be hard to be sure about.
  2. The Laptop TX side does not wait long enough between transmissions for the device to react.
  3. The Laptop RX side is not sensitive enough and sees more CRC errors that other non-FW laptops.
    In summary, I need to find a way for the spy/monitor to report bad CRC errors and maybe hook up a digital oscilloscope to look for problems in the signal.
    The TX and the RX is done over the same cable it will be difficult to know which side is sending when on the oscilloscope display.
  4. laptop not providing enough power to the device to complete the CC power negotiation process.
  5. The SNK (device) is simply not responding to the SRC (laptop) ACCEPT request.
    I have connected a data capture oscilloscope to the CC1 pin and then decoded the resulting CC messages. Checked all their CRCs and they are OK, but (5) is confirmed. the SNK is simply not responding to the SRC ACCEPT request as no pulses for it appear on the oscilloscope.
  6. The SNK (device) is not correctly detecting when the CC link is “idle”, and thus not responding when it should. This needs further investigation. The “gap” between messages does appear to be different when comparing FW and non-FW laptops.
  7. Observation, but no impact on this problem: Neither the FW or the Non-FW laptop send requests to find out which type of cable is attached.

There are some SOP’ “vendor specific” messages that I see on the oscilloscope data that is not present on the spy/monitor output. The SRC (laptop) is not sending GoodCRC for those, so it keeps trying to repeat send them. This is non-compliant to the USB-PD standard, but the non-FW laptop also does not respond to the SOP’ messages, but works fine, so I think that point is not the cause of the problem.