Status update, wrote two utilities. One to query what pids are available on the system and anothe to read all DTC codes. These were exercises to get used to how the GPEC2A controller talks ISO-TP over can. Since it uses traditional sockets it was quite easy. Now these are using traditional OBD2 "words", should Stellantis have put in special codes/mmenoics/hidden fuckery I'll have to do the research to uncover them but so far comparing my work with HP Tuners I'm on par. Here is output from HP Tuners:
0x7E8: P007D - Charge Air Cooler Temperature Sensor Circuit High (Bank 1) (Pending)
0x7E8: P0098 - Intake Air Temperature Sensor 2 Circuit High (Pending)
0x7E8: P00A3 - Charge Air Cooler Temperature Sensor Circuit High (Bank 2) (Pending)
0x7E8: P00E1 - Charge Air Cooler Coolant Temperature Sensor Circuit High (Pending)
0x7E8: P00EB - Intake Air Temperature Sensor 3 Circuit High Bank 1 (Pending)
0x7E8: P00FB (SES, Pending, Current)
0x7E8: P0103 - Mass or Volume Air Flow A Circuit High (SES, Pending, Current, Permanent)
0x7E8: P0108 - Manifold Absolute Pressure/BARO Sensor High (SES, Pending, Current)
0x7E8: P0113 - Intake Air Temperature Sensor 1 Circuit High (Pending)
0x7E8: P0118 - Engine Coolant Temperature Sensor 1 Circuit High (SES, Pending, Current, Permanent)
0x7E8: P0123 - Throttle/Pedal Position Sensor A Circuit High (SES, Pending, Current, Permanent)
0x7E8: P012D - Turbocharger/Supercharger Inlet Pressure Sensor Circuit High (SES, Pending, Current)
0x7E8: P018D - Fuel Pressure Sensor B Circuit High (Pending)
0x7E8: P0198 - Engine Oil Temperature Sensor Circuit High (SES, Pending, Current)
0x7E8: P0222 - Throttle/Pedal Position Sensor/Switch B Circuit Low (SES, Pending, Current, Permanent)
0x7E8: P0480 - Fan 1 Control Circuit (SES, Pending, Current, Permanent)
0x7E8: P051D - Crankcase Pressure Sensor Circuit High (Current)
0x7E8: P0523 - Engine Oil Pressure Sensor/Switch Circuit High (SES, Pending, Current)
0x7E8: P0627 - Fuel Pump A Control Circuit / Open (Current)
0x7E8: P0685 - ECM/PCM Power Relay Control Circuit/Open (Current)
0x7E8: P0688 - ECM/PCM Power Relay Sense Circuit (Current)
0x7E8: P1457 (SES, Pending, Current)
0x7E8: P1610 (SES, Pending, Current, Permanent)
0x7E8: P1617 (SES, Pending, Current, Permanent)
0x7E8: P2122 - Throttle/Pedal Pos Sens/Switch D Circ Low Input (SES, Pending, Current, Permanent)
0x7E8: P2127 - Pedal Pos Validation Switch 2 Low (SES, Pending, Current)
0x7E8: P2A0D (SES, Pending, Current)
0x7E8: U0101 - Lost Communication with TCM (Pending)
0x7E8: U0140 - Lost Communication With Body Control Module (SES, Pending, Current)
0x7E8: U0155 - Lost Communication With Instrument Panel Cluster (IPC) Control Module (Pending)
0x7E8: U110C (Pending)
0x7E8: U110E (Pending)
0x7E8: U110F (Pending)
0x7E8: U1110 (Pending)
0x7E8: U1120 (Pending)
0x7E8: U113E (Pending)
0x7E8: U1141 (Current)
0x7E8: U11BC (SES, Pending, Current)
0x7E8: U11C2 (Current)
0x7E8: U1403 (Pending)
0x7E8: U1411 (Pending)
Here is output from my program:
Created can socket with descriptor: 3
Applied filter to receive responses from 0x7e8
Bound can socket to interface: can0 (index = 6)
Checking for stored DTC codes.
Encountered a First Frame, buffering data.
Sending Flow Control Frame
Found 18 DTCs
P0480
P0523
P0198
P0118
P0108
P2122
P2127
P0123
P0222
P1457
U0140
U11BC
P0103
P00FB
P012D
P2A0D
P1610
P1617
Checking for pending DTC codes.
Encountered a First Frame, buffering data.
Sending Flow Control Frame
Found 33 DTCs
U0101
U110C
P0480
U1110
U1120
P0523
U1403
U1411
U110E
U110F
P0198
P0118
P0108
P2122
P2127
P0123
P0222
P1457
U0140
U11BC
P018D
P0103
P00EB
P007D
P00A3
P0113
P0098
P00E1
P00FB
P012D
P2A0D
P1610
P1617
Checking for permanent DTC codes.
Encountered a First Frame, buffering data.
Sending Flow Control Frame
Found 8 DTCs
P0103
P0480
P0118
P1610
P1617
P0123
P0222
P2122
I plan on writing some more utilities and then moving into the UDS services that were discovered and potentially figuring out the seed key algorithm. I will make most of the code potentially open source however I probably won't make the seed key algorithm or how to read/write to the PCM public, maybe a snippe or a demo but not a full program. Don't want to seem selfish but those could be additional revenue streams for me.