# [802.3_4PPOE] New equation proposal

```All -

Here’s the equation I was thinking about on the 4PID call this morning. It’s based on the following assumptions:

- 4PID is a physical-layer property of a Type1/2 PD, based only on parameters that can be determined before applying power
- LLDP may be used in determining whether 4 pair power is maintained, but not for determining the physical-layer 4PID, since PD LLDP variables can not be read without power and physical-layer 4PID is required before applying power.
- Some other variable TBD needs to be the master "4P compatible" variable, which includes inputs from 4PID, classification, and LLDP (and possibly others)
- this new "4P compatible” variable doesn’t take its final value until some time (TBD) after power is applied (so the system can boot and read LLDP, for example).

The equation is essentially the same as what George showed on the call today:

4PID = (valid_detect_A)*(valid_detect_B)*(CC=SS) + (valid_detect_A)*(valid_detect_B)*(CC=DS)*X [George’s basic equation]
X = (!Deny_dual_sig_4P_power) (from today’s call).  When Deny_dual_sig_4P_power=true, 4PID is always false for DS PDs.

Once power is applied, Maintain_4P_power would take effect as described in George’s presentation (exact terms TBD):

Maintain_4P_power  (beyond time TBD) = (4PID=TRUE ) * (LLDP != FALSE) + (LLDP = TRUE ) * [ Class_power_OK ]

None of this blocks extra testing (like Yair’s [power one side/test the other] test) - these can always be used, and if they find information that the simple equation (above) misses, a PSE can opt to deny power for any reason. I don’t want to write Yair’s test specifically into the spec since it tests for behavior that was non-compliant in AT, but I don’t want to block it, either.