From 0f7c7122b57a23c1d22c0127dff1e115c0915f26 Mon Sep 17 00:00:00 2001 From: uhi22 Date: Fri, 2 Dec 2022 13:02:40 +0100 Subject: [PATCH] PevMode: added contractAuthentication --- doc/bug_analysis.md | 20 + doc/charger_test_results.md | 15 +- fsmPev.py | 49 +- readme.md | 16 +- ...-02_alpi_until_cableCheckSequenceError.txt | 1366 +++++++++++++++++ 5 files changed, 1450 insertions(+), 16 deletions(-) create mode 100644 doc/bug_analysis.md create mode 100644 results/2022-12-02_alpi_until_cableCheckSequenceError.txt diff --git a/doc/bug_analysis.md b/doc/bug_analysis.md new file mode 100644 index 0000000..277579a --- /dev/null +++ b/doc/bug_analysis.md @@ -0,0 +1,20 @@ +# Open issues + +## Issue12: Alpi reports "sequence error" for CableCheck +- with version v0.3. +- maybe he expects the state C, or something is wrong with the sequence before. + +# Closed issues + +## [Solved] Issue10: Alpi says SequenceError in ChargeParameterDiscoveryRes +- ServicePaymentSelectionRes says "ResponseCode": "OK", and has no more fields. +- Afterwards we send ChargeParameterDiscoveryReq and get ChargeParameterDiscoveryRes containing "ResponseCode": "FAILED_SequenceError". +- Analysis: In the ISO case, the ChargeParameterDiscoveryReq comes after the AuthorizationRes with EVSEProcessing=Finished. But we are using DIN, and here there is no AuthorizationRes, but ContractAuthentication instead. But, this does not +have a field EVSEProcessing. And in DIN, we have dinContractAuthenticationResType, which contains ResponseCode and EVSEProcessing (see OpenV2G, dinEXIDatatypes.h). +- Solution: Send ContractAuthenticationReq after ServicePaymentSelectionRes, and repeat it until it says "finished". Test pass with v0.3. + +## [Solved] Issue11: TCP connection fails on Alpi +- Observation: On Alpitronics, the SDP works, but the TCP connect fails. The connection is rejected by the charger. +- Root cause: We used fixed port 15118 for the TCP. This is not intended, even it works on other chargers (ABB). +- Solution: use the TCP port, which was announced in the SDP response. +- Test pass with version v0.2-9-ga9b6e82. diff --git a/doc/charger_test_results.md b/doc/charger_test_results.md index 6e2a9c1..fad1284 100644 --- a/doc/charger_test_results.md +++ b/doc/charger_test_results.md @@ -27,15 +27,16 @@ Test results tbd Test site: e.g. https://www.goingelectric.de/stromtankstellen/Deutschland/Ingolstadt/Dehner-Garten-Center-Degenhartstrasse-Degenhartstrasse-2/71112/ -Test results of version v0.2 +Test results of version v0.3 - [x] SLAC - [x] SDP -- [ ] TCP connection -- [ ] EXI - - [ ] DIN SupportedApplicationProtocol - - [ ] DIN SessionSetup - - [ ] DIN ServiceDiscovery - - [ ] DIN ChargeParameterDiscovery +- [x] TCP connection +- [x] EXI + - [x] DIN SupportedApplicationProtocol + - [x] DIN SessionSetup + - [x] DIN ServiceDiscovery + - [x] DIN ChargeParameterDiscovery + - [x] DIN ContractAuthentication - [ ] DIN CableCheck - [ ] DIN PreCharge - [ ] DIN PowerDelivery, CurrentDemand diff --git a/fsmPev.py b/fsmPev.py index 9936a71..29213d9 100644 --- a/fsmPev.py +++ b/fsmPev.py @@ -17,7 +17,7 @@ stateWaitForSupportedApplicationProtocolResponse = 3 stateWaitForSessionSetupResponse = 4 stateWaitForServiceDiscoveryResponse = 5 stateWaitForServicePaymentSelectionResponse = 6 -stateWaitForAuthorizationResponse = 7 +stateWaitForContractAuthenticationResponse = 7 stateWaitForChargeParameterDiscoveryResponse = 8 stateWaitForCableCheckResponse = 9 stateWaitForPreChargeResponse = 10 @@ -142,13 +142,51 @@ class fsmPev(): self.addToTrace(strConverterResult) if (strConverterResult.find("ServicePaymentSelectionRes")>0): # todo: check the request content, and fill response parameters - self.addToTrace("Will send ChargeParameterDiscoveryReq") - msg = addV2GTPHeader(exiEncode("EDE_"+self.sessionId)) # EDE for Encode, Din, ChargeParameterDiscovery. We ignore Authorization, not specified in DIN. + self.addToTrace("Will send ContractAuthenticationReq") + msg = addV2GTPHeader(exiEncode("EDL_"+self.sessionId)) # EDL for Encode, Din, ContractAuthenticationReq. self.addToTrace("responding " + prettyHexMessage(msg)) self.Tcp.transmit(msg) - self.enterState(stateWaitForChargeParameterDiscoveryResponse) + self.numberOfContractAuthenticationReq = 1 # This is the first request. + self.enterState(stateWaitForContractAuthenticationResponse) if (self.isTooLong()): self.enterState(stateSequenceTimeout) + + def stateFunctionWaitForContractAuthenticationResponse(self): + if (self.cyclesInState<30): # The first second in the state just do nothing. + return + if (len(self.rxData)>0): + self.addToTrace("In state WaitForContractAuthentication, received " + prettyHexMessage(self.rxData)) + exidata = removeV2GTPHeader(self.rxData) + self.rxData = [] + strConverterResult = exiDecode(exidata, "DD") # Decode DIN + self.addToTrace(strConverterResult) + if (strConverterResult.find("ContractAuthenticationRes")>0): + # In normal case, we can have two results here: either the Authentication is needed (the user + # needs to authorize by RFID card or app, or something like this. + # Or, the authorization is finished. This is shown by EVSEProcessing=Finished. + if (strConverterResult.find('"EVSEProcessing": "Finished"')>0): + self.addToTrace("It is Finished. Will send ChargeParameterDiscoveryReq") + msg = addV2GTPHeader(exiEncode("EDE_"+self.sessionId)) # EDE for Encode, Din, ChargeParameterDiscovery. + self.addToTrace("responding " + prettyHexMessage(msg)) + self.Tcp.transmit(msg) + self.enterState(stateWaitForChargeParameterDiscoveryResponse) + else: + # Not (yet) finished. + if (self.numberOfContractAuthenticationReq>=120): # approx 120 seconds, maybe the user searches two minutes for his RFID card... + self.addToTrace("Authentication lasted too long. " + str(self.numberOfContractAuthenticationReq) + " Giving up.") + self.enterState(stateSequenceTimeout) + else: + # Try again. + self.numberOfContractAuthenticationReq += 1 # count the number of tries. + self.addToTrace("Not (yet) finished. Will again send ContractAuthenticationReq #" + str(self.numberOfContractAuthenticationReq)) + msg = addV2GTPHeader(exiEncode("EDL_"+self.sessionId)) # EDL for Encode, Din, ContractAuthenticationReq. + self.addToTrace("responding " + prettyHexMessage(msg)) + self.Tcp.transmit(msg) + # We just stay in the same state, until the timeout elapses. + self.enterState(stateWaitForContractAuthenticationResponse) + if (self.isTooLong()): + # The timeout in case if nothing is received at all. + self.enterState(stateSequenceTimeout) def stateFunctionWaitForChargeParameterDiscoveryResponse(self): if (len(self.rxData)>0): @@ -159,6 +197,8 @@ class fsmPev(): self.addToTrace(strConverterResult) if (strConverterResult.find("ChargeParameterDiscoveryRes")>0): # todo: check the request content, and fill response parameters + # todo: if the response is "OK", pull the CP line to state C here. + # self.hardwareInterface.changeToStateC() self.addToTrace("Will send CableCheckReq") msg = addV2GTPHeader(exiEncode("EDF_"+self.sessionId)) # EDF for Encode, Din, CableCheck self.addToTrace("responding " + prettyHexMessage(msg)) @@ -240,6 +280,7 @@ class fsmPev(): stateWaitForSessionSetupResponse: stateFunctionWaitForSessionSetupResponse, stateWaitForServiceDiscoveryResponse: stateFunctionWaitForServiceDiscoveryResponse, stateWaitForServicePaymentSelectionResponse: stateFunctionWaitForServicePaymentSelectionResponse, + stateWaitForContractAuthenticationResponse: stateFunctionWaitForContractAuthenticationResponse, stateWaitForChargeParameterDiscoveryResponse: stateFunctionWaitForChargeParameterDiscoveryResponse, stateWaitForCableCheckResponse: stateFunctionWaitForCableCheckResponse, stateWaitForPreChargeResponse: stateFunctionWaitForPreChargeResponse, diff --git a/readme.md b/readme.md index f355447..f34a6a7 100644 --- a/readme.md +++ b/readme.md @@ -168,11 +168,14 @@ a new, non-zero SessionID. This SessionID is used in all the upcoming messages f 36. The charger confirms with ServiceDiscoveryResponse. This contains the offered services and payment options. Usually it says which type of charging the charger supports (e.g. AC 1phase, AC 3phase, or DC according CCS https://en.wikipedia.org/wiki/IEC_62196#FF), and that the payment should be handled externally by the user, or by the car. -37. The car sends PaymentServiceSelectionRequest. Usually (in non-plug-and-charge case), the car says "I cannot pay, something else should +37. The car sends ServicePaymentSelectionRequest. Usually (in non-plug-and-charge case), the car says "I cannot pay, something else should handle the payment", by setting paymentOption=ExternalPayment. Optionally it could announce other services than charging, e.g. internet access. -38. The charger confirms with PaymentServiceSelectionResponse. -39. The car sends AuthorizationRequest. In non-plug-and-charge case this is most likely not containing relevant data. -40. The charger confirms with AuthorizationResponse. +38. The charger confirms with ServicePaymentSelectionResponse. +39. The car sends ContractAuthenticationRequest. In non-plug-and-charge case this is most likely not containing relevant data. +40. The charger confirms with ContractAuthenticationResponse. In case, the user needs to authenticate before charging, this +response does NOT yet say EVSEProcessing=Finished. The car repeats the request. +41. The user authorizes, e.g. with RFID card or app or however. +42. The charger sends ContractAuthenticationResponse with EVSEProcessing=Finished. 41. The car sends ChargeParameterRequest. This contains the wanted RequestedEnergyTransferMode, e.g. to select DC or AC and which power pins are used. The car announces the maximum current limit and the maximum voltage limit. 42. The charger confirms with ChargeParameterResponse. The contains the limits from charger side, e.g. min and max voltage, @@ -282,10 +285,13 @@ is not yet implemented. - The TCP port, which is announced in the SDP response, is ignored. This can be the root cause of failing TCP connection on Alpitronics. - The SLAC timing includes too long wait times. This may be the root cause for failing SLAC on Supercharger and Compleo. +### 2022-12-02 v0.3 On Alpitonics until ChargeParameterDiscovery +- TCP connection works now on Alpitronics charger +- ContractAuthentication loop works + ### Ongoing improvements - SLAC timing: improvement to be tested. -- TCP port from SDP response: bugfix to be tested. ### Test results on real-world chargers diff --git a/results/2022-12-02_alpi_until_cableCheckSequenceError.txt b/results/2022-12-02_alpi_until_cableCheckSequenceError.txt new file mode 100644 index 0000000..c1241a4 --- /dev/null +++ b/results/2022-12-02_alpi_until_cableCheckSequenceError.txt @@ -0,0 +1,1366 @@ + +C:\UwesTechnik\pyPLC>python pyPlc.py P +starting in PEV_MODE +initializing pyPlcWorker +[addressManager] we have local MAC DC:0E:A1:11:67:08. Todo: find this out dynamically. +[addressManager] Found 1 link-local IPv6 addresses. +fe80::c690:83f3:fbcb:980e%15 +[addressManager] Local IPv6 is fe80::c690:83f3:fbcb:980e%15 +[addressManager] Found 1 link-local IPv6 addresses. +fe80::c690:83f3:fbcb:980e%15 +[addressManager] Local IPv6 is fe80::c690:83f3:fbcb:980e%15 +index match at 0 dev name=b'\\Device\\NPF_Loopback' dev.description=b'Adapter for loopback traffic capture' +index match at 1 dev name=b'\\Device\\NPF_{0DFD428E-B132-4188-8EBC-38C13B0C89CF}' dev.description=b'Broadcom 802.11n-Netzwerkadapter' +index match at 2 dev name=b'\\Device\\NPF_{A541C45F-EDAC-4242-ABF6-B4337228BBFF}' dev.description=b'Microsoft Wi-Fi Direct Virtual Adapter' +index match at 3 dev name=b'\\Device\\NPF_{68936D7B-F0E7-46E7-A047-3C07A24E03B9}' dev.description=b'Microsoft Wi-Fi Direct Virtual Adapter #2' +index match at 4 dev name=b'\\Device\\NPF_{E4B8176C-8516-4D48-88BC-85225ABCF259}' dev.description=b'Broadcom NetLink (TM) Gigabit Ethernet' +index match at 5 dev name=b'\\Device\\NPF_{F2DFA311-B486-461A-A3F4-0DBA998BF9F9}' dev.description=b'WAN Miniport (IP)' +index match at 6 dev name=b'\\Device\\NPF_{7105741E-F8FC-46AD-9BCD-95F7CDCC76B0}' dev.description=b'WAN Miniport (IPv6)' +index match at 7 dev name=b'\\Device\\NPF_{CF245078-25B1-4487-AE2A-1763158ACD5F}' dev.description=b'WAN Miniport (Network Monitor)' +index match at 4 dev name=b'\\Device\\NPF_{E4B8176C-8516-4D48-88BC-85225ABCF259}' dev.description=b'Broadcom NetLink (TM) Gigabit Ethernet' +[addressManager] will give local MAC DC:0E:A1:11:67:08 +[addressManager] will give local MAC DC:0E:A1:11:67:08 +pyPlcIpv6 started with ownMac DC:0E:A1:11:67:08 +[addressManager] will give local MAC DC:0E:A1:11:67:08 +udplog started with ownMac DC:0E:A1:11:67:08 +sniffer created at eth4 +[pyPlcWorker] Software version v0.2-9-ga9b6e82 +[PEV] initializing fsmPev +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 1(NOK) +From GetKeyCnf, got network ID (NID) 0xb4 0x99 0x60 0xd8 0x8b 0xe0 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] local modem not yet identified. +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 1 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x31 0x75 0x6b 0xe8 0xd2 0x3f 0x71 0x6e 0x58 0xf4 0xc2 0xef 0x73 0x5a 0xd2 0xd4 +This is NOT the developer NMK. +From GetKeyCnf, got network ID (NID) 0xb4 0x99 0x60 0xd8 0x8b 0xe0 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] setting the default developer key... +[PEVSLAC] from 1 entering 3 +received SET_KEY.CNF +SetKeyCnf says 1, this is formally 'rejected', but indeed ok. +[PEVSLAC] Assuming the modem is up again. +[PEVSLAC] from 3 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 1(NOK) +From GetKeyCnf, got network ID (NID) 0x0 0x0 0x0 0x0 0x0 0x0 0x0 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] local modem not yet identified. +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 1 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 1(NOK) +From GetKeyCnf, got network ID (NID) 0xb4 0x99 0x60 0xd8 0x8b 0xe0 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] local modem not yet identified. +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 1 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xb4 0x99 0x60 0xd8 0x8b 0xe0 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xb4 0x99 0x60 0xd8 0x8b 0xe0 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xb4 0x99 0x60 0xd8 0x8b 0xe0 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xb4 0x99 0x60 0xd8 0x8b 0xe0 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xb4 0x99 0x60 0xd8 0x8b 0xe0 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xb4 0x99 0x60 0xd8 0x8b 0xe0 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xb4 0x99 0x60 0xd8 0x8b 0xe0 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xb4 0x99 0x60 0xd8 0x8b 0xe0 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xb4 0x99 0x60 0xd8 0x8b 0xe0 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 + +C:\UwesTechnik\pyPLC>python pyPlc.py P +starting in PEV_MODE +initializing pyPlcWorker +[addressManager] we have local MAC DC:0E:A1:11:67:08. Todo: find this out dynamically. +[addressManager] Found 1 link-local IPv6 addresses. +fe80::c690:83f3:fbcb:980e%15 +[addressManager] Local IPv6 is fe80::c690:83f3:fbcb:980e%15 +[addressManager] Found 1 link-local IPv6 addresses. +fe80::c690:83f3:fbcb:980e%15 +[addressManager] Local IPv6 is fe80::c690:83f3:fbcb:980e%15 +index match at 0 dev name=b'\\Device\\NPF_Loopback' dev.description=b'Adapter for loopback traffic capture' +index match at 1 dev name=b'\\Device\\NPF_{0DFD428E-B132-4188-8EBC-38C13B0C89CF}' dev.description=b'Broadcom 802.11n-Netzwerkadapter' +index match at 2 dev name=b'\\Device\\NPF_{A541C45F-EDAC-4242-ABF6-B4337228BBFF}' dev.description=b'Microsoft Wi-Fi Direct Virtual Adapter' +index match at 3 dev name=b'\\Device\\NPF_{68936D7B-F0E7-46E7-A047-3C07A24E03B9}' dev.description=b'Microsoft Wi-Fi Direct Virtual Adapter #2' +index match at 4 dev name=b'\\Device\\NPF_{E4B8176C-8516-4D48-88BC-85225ABCF259}' dev.description=b'Broadcom NetLink (TM) Gigabit Ethernet' +index match at 5 dev name=b'\\Device\\NPF_{F2DFA311-B486-461A-A3F4-0DBA998BF9F9}' dev.description=b'WAN Miniport (IP)' +index match at 6 dev name=b'\\Device\\NPF_{7105741E-F8FC-46AD-9BCD-95F7CDCC76B0}' dev.description=b'WAN Miniport (IPv6)' +index match at 7 dev name=b'\\Device\\NPF_{CF245078-25B1-4487-AE2A-1763158ACD5F}' dev.description=b'WAN Miniport (Network Monitor)' +index match at 4 dev name=b'\\Device\\NPF_{E4B8176C-8516-4D48-88BC-85225ABCF259}' dev.description=b'Broadcom NetLink (TM) Gigabit Ethernet' +[addressManager] will give local MAC DC:0E:A1:11:67:08 +[addressManager] will give local MAC DC:0E:A1:11:67:08 +pyPlcIpv6 started with ownMac DC:0E:A1:11:67:08 +[addressManager] will give local MAC DC:0E:A1:11:67:08 +udplog started with ownMac DC:0E:A1:11:67:08 +sniffer created at eth4 +[pyPlcWorker] Software version v0.2-9-ga9b6e82 +[PEV] initializing fsmPev +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +[PEVSLAC] Timeout while waiting for SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 0 +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No modem connected. We assume, we run in a simulation environment. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 + +C:\UwesTechnik\pyPLC>python pyPlc.py P +starting in PEV_MODE +initializing pyPlcWorker +[addressManager] we have local MAC DC:0E:A1:11:67:08. Todo: find this out dynamically. +[addressManager] Found 1 link-local IPv6 addresses. +fe80::c690:83f3:fbcb:980e%15 +[addressManager] Local IPv6 is fe80::c690:83f3:fbcb:980e%15 +[addressManager] Found 1 link-local IPv6 addresses. +fe80::c690:83f3:fbcb:980e%15 +[addressManager] Local IPv6 is fe80::c690:83f3:fbcb:980e%15 +index match at 0 dev name=b'\\Device\\NPF_Loopback' dev.description=b'Adapter for loopback traffic capture' +index match at 1 dev name=b'\\Device\\NPF_{0DFD428E-B132-4188-8EBC-38C13B0C89CF}' dev.description=b'Broadcom 802.11n-Netzwerkadapter' +index match at 2 dev name=b'\\Device\\NPF_{A541C45F-EDAC-4242-ABF6-B4337228BBFF}' dev.description=b'Microsoft Wi-Fi Direct Virtual Adapter' +index match at 3 dev name=b'\\Device\\NPF_{68936D7B-F0E7-46E7-A047-3C07A24E03B9}' dev.description=b'Microsoft Wi-Fi Direct Virtual Adapter #2' +index match at 4 dev name=b'\\Device\\NPF_{E4B8176C-8516-4D48-88BC-85225ABCF259}' dev.description=b'Broadcom NetLink (TM) Gigabit Ethernet' +index match at 5 dev name=b'\\Device\\NPF_{F2DFA311-B486-461A-A3F4-0DBA998BF9F9}' dev.description=b'WAN Miniport (IP)' +index match at 6 dev name=b'\\Device\\NPF_{7105741E-F8FC-46AD-9BCD-95F7CDCC76B0}' dev.description=b'WAN Miniport (IPv6)' +index match at 7 dev name=b'\\Device\\NPF_{CF245078-25B1-4487-AE2A-1763158ACD5F}' dev.description=b'WAN Miniport (Network Monitor)' +index match at 4 dev name=b'\\Device\\NPF_{E4B8176C-8516-4D48-88BC-85225ABCF259}' dev.description=b'Broadcom NetLink (TM) Gigabit Ethernet' +[addressManager] will give local MAC DC:0E:A1:11:67:08 +[addressManager] will give local MAC DC:0E:A1:11:67:08 +pyPlcIpv6 started with ownMac DC:0E:A1:11:67:08 +[addressManager] will give local MAC DC:0E:A1:11:67:08 +udplog started with ownMac DC:0E:A1:11:67:08 +sniffer created at eth4 +[pyPlcWorker] Software version v0.2-9-ga9b6e82 +[PEV] initializing fsmPev +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 0 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 1(NOK) +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] local modem not yet identified. +[PEVSLAC] searching for modems, transmitting GET_KEY.REQ... +[PEVSLAC] from 1 entering 1 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] from 1 entering 2 +[PEVSLAC] Sending SLAC_PARAM.REQ... +[PEVSLAC] from 2 entering 4 +received SLAC_PARAM.REQ +[addressManager] pev has MAC DC:0E:A1:11:67:08 +received SLAC_PARAM.CNF +[PEVSLAC] from 4 entering 5 +[PEVSLAC] from 5 entering 6 +[PEVSLAC] transmitting START_ATTEN_CHAR.IND... +[PEVSLAC] transmitting START_ATTEN_CHAR.IND... +[PEVSLAC] transmitting START_ATTEN_CHAR.IND... +[PEVSLAC] from 6 entering 7 +[PEVSLAC] transmitting MNBC_SOUND.IND... +received MNBC_SOUND.IND +[PEVSLAC] transmitting MNBC_SOUND.IND... +received MNBC_SOUND.IND +[PEVSLAC] transmitting MNBC_SOUND.IND... +received MNBC_SOUND.IND +[PEVSLAC] transmitting MNBC_SOUND.IND... +received MNBC_SOUND.IND +[PEVSLAC] transmitting MNBC_SOUND.IND... +received MNBC_SOUND.IND +[PEVSLAC] transmitting MNBC_SOUND.IND... +received MNBC_SOUND.IND +[PEVSLAC] transmitting MNBC_SOUND.IND... +received MNBC_SOUND.IND +[PEVSLAC] transmitting MNBC_SOUND.IND... +received MNBC_SOUND.IND +[PEVSLAC] transmitting MNBC_SOUND.IND... +received MNBC_SOUND.IND +[PEVSLAC] transmitting MNBC_SOUND.IND... +[PEVSLAC] from 7 entering 8 +received MNBC_SOUND.IND +received ATTEN_CHAR.IND +[PEVSLAC] received AttenCharInd in state 8 +[addressManager] evse has MAC 06:48:0E:3B:13:30 +[PEVSLAC] number of sounds reported by the EVSE (should be 10): 10 +[PEVSLAC] transmitting ATTEN_CHAR.RSP... +[PEVSLAC] from 9 entering 10 +[PEVSLAC] transmitting SLAC_MATCH.REQ... +[PEVSLAC] from 10 entering 11 +received SLAC_MATCH.REQ +received SLAC_MATCH.CNF +From SlacMatchCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +From SlacMatchCnf, got network membership key (NMK) 0x4c 0xba 0x19 0x2c 0xe4 0x72 0xfe 0xdc 0x37 0xf4 0x12 0xa 0xcf 0x10 0x39 0x26 +transmitting CM_SET_KEY.REQ +[PEVSLAC] from 11 entering 12 +[PEVSLAC] Checking whether the pairing worked, by GET_KEY.REQ... +[PEVSLAC] from 12 entering 13 +received SET_KEY.CNF +SetKeyCnf says 1, this is formally 'rejected', but indeed ok. +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 +This is NOT the developer NMK. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No EVSE seen (yet). Still waiting for it. +[PEVSLAC] from 13 entering 12 +[PEVSLAC] Checking whether the pairing worked, by GET_KEY.REQ... +[PEVSLAC] from 12 entering 13 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 +This is NOT the developer NMK. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No EVSE seen (yet). Still waiting for it. +[PEVSLAC] from 13 entering 12 +[PEVSLAC] Checking whether the pairing worked, by GET_KEY.REQ... +[PEVSLAC] from 12 entering 13 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 +This is NOT the developer NMK. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No EVSE seen (yet). Still waiting for it. +[PEVSLAC] from 13 entering 12 +[PEVSLAC] Checking whether the pairing worked, by GET_KEY.REQ... +[PEVSLAC] from 12 entering 13 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No EVSE seen (yet). Still waiting for it. +[PEVSLAC] from 13 entering 12 +[PEVSLAC] Checking whether the pairing worked, by GET_KEY.REQ... +[PEVSLAC] from 12 entering 13 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x4c 0xba 0x19 0x2c 0xe4 0x72 0xfe 0xdc 0x37 0xf4 0x12 0xa 0xcf 0x10 0x39 0x26 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] No EVSE seen (yet). Still waiting for it. +[PEVSLAC] from 13 entering 12 +[PEVSLAC] Checking whether the pairing worked, by GET_KEY.REQ... +[PEVSLAC] from 12 entering 13 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x4c 0xba 0x19 0x2c 0xe4 0x72 0xfe 0xdc 0x37 0xf4 0x12 0xa 0xcf 0x10 0x39 0x26 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +received GET_KEY.CNF +Modem #2 has BC:F2:AF:F3:05:25 and result code is 1(NOK) +Info: NOK is normal for remote modems. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] EVSE is up, pairing successful. +[PEVSLAC] Requesting SW versions from the modems... +[PEVSLAC] from 13 entering 14 +[SNIFFER] received GET_SW.CNF +[SNIFFER] For 98:48:27:5A:3C:E6 the software version is MAC-QCA7420-1.4.0.20-00-20171027-CS +[SNIFFER] received GET_SW.CNF +[SNIFFER] For BC:F2:AF:F3:05:25 the software version is MAC-QCA7000-1.1.0.727-02-20130826-FINAL +[PEVSLAC] It was sufficient time to get the SW versions from the modems. +[PEVSLAC] from 14 entering 15 +[PEVSLAC] SDP was not done yet. Now we start it. +[PEVSLAC] from 15 entering 16 +[PEV] initiating SDP request +[PEVSLAC] from 16 entering 16 +V2GTP (10bytes) = 01 FE 90 00 00 00 00 02 10 00 +[PEV] initiating SDP request +[PEVSLAC] from 16 entering 16 +V2GTP (10bytes) = 01 FE 90 00 00 00 00 02 10 00 +V2GTP (28bytes) = 01 FE 90 01 00 00 00 14 FE 80 00 00 00 00 00 00 04 48 0E FF FE 3B 13 30 C7 A7 10 00 +[PEV] Received SDP response +[addressManager] charger has IP fe80:0000:0000:0000:0448:0eff:fe3b:1330 +[addressManager] charger has TCP port 51111 +[PEVSLAC] Now we know the chargers IP. +[PLCWORKER] Network is established, ready for TCP. +[PEV] re-initializing fsmPev +[PEVSLAC] from 16 entering 12 +connecting to fe80:0000:0000:0000:0448:0eff:fe3b:1330 port 51111... +step1 +step2 +step2b +step3 +[PEV] connected +from 1 entering 2 +[PEV] Sending the initial SupportedApplicationProtocolReq +from 2 entering 3 +[PEV] In state WaitForSupportedApplicationProtocolResponse, received (12bytes) = 01 FE 80 01 00 00 00 04 80 40 00 40 +[PEV] { +"msgName": "supportedAppProtocolRes", +"info": "4 bytes to convert", +"error": "", +"result": "ResponseCode 0, SchemaID_isUsed 1, SchemaID 1", +"schema": "appHandshake", +"debug": "" +} +[PEV] Will send SessionSetupReq +[PEV] responding (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 00 00 00 00 11 D0 00 00 +from 3 entering 4 +[PEV] In state WaitForSessionSetupResponse, received (30bytes) = 01 FE 80 01 00 00 00 16 80 9A 02 00 00 00 00 03 1F DC 8B D1 E0 20 04 00 1C F0 14 F3 80 C0 +[PEV] { +"msgName": "SessionSetupRes", +"info": "22 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK_NewSessionEstablished", +"EVSEID.bytesLen": "1", +"EVSEID": "00", +"debug": "Line538" +} +[PEV] The Evse decided for SessionId 000000000c7f722f +[PEV] Will send ServiceDiscoveryReq +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D1 98 +from 4 entering 5 +[PEV] In state WaitForServiceDiscoveryResponse, received (27bytes) = 01 FE 80 01 00 00 00 13 80 9A 02 00 00 00 00 03 1F DC 8B D1 A0 01 20 02 41 00 C4 +[PEV] { +"msgName": "ServiceDiscoveryRes", +"info": "19 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"debug": "Line514" +} +[PEV] Will send ServicePaymentSelectionReq +[PEV] responding (24bytes) = 01 FE 80 01 00 00 00 10 80 9A 02 00 00 00 00 03 1F DC 8B D1 B2 00 12 80 +from 5 entering 6 +[PEV] In state WaitForServicePaymentSelectionResponse, received (22bytes) = 01 FE 80 01 00 00 00 0E 80 9A 02 00 00 00 00 03 1F DC 8B D1 C0 00 +[PEV] { +"msgName": "ServicePaymentSelectionRes", +"info": "14 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"debug": "Line526" +} +[PEV] Will send ContractAuthenticationReq +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 6 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #2 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #3 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #4 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #5 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #6 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #7 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #8 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #9 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEVSLAC] Checking whether the pairing worked, by GET_KEY.REQ... +[PEVSLAC] from 12 entering 13 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x4c 0xba 0x19 0x2c 0xe4 0x72 0xfe 0xdc 0x37 0xf4 0x12 0xa 0xcf 0x10 0x39 0x26 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +received GET_KEY.CNF +Modem #2 has BC:F2:AF:F3:05:25 and result code is 1(NOK) +Info: NOK is normal for remote modems. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #10 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] EVSE is up, pairing successful. +[PEVSLAC] Requesting SW versions from the modems... +[PEVSLAC] from 13 entering 14 +[SNIFFER] received GET_SW.CNF +[SNIFFER] For 98:48:27:5A:3C:E6 the software version is MAC-QCA7420-1.4.0.20-00-20171027-CS +[SNIFFER] received GET_SW.CNF +[SNIFFER] For BC:F2:AF:F3:05:25 the software version is MAC-QCA7000-1.1.0.727-02-20130826-FINAL +[PEVSLAC] It was sufficient time to get the SW versions from the modems. +[PEVSLAC] from 14 entering 15 +[PEVSLAC] from 15 entering 12 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #11 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #12 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #13 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #14 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #15 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #16 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #17 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #18 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #19 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #20 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEVSLAC] Checking whether the pairing worked, by GET_KEY.REQ... +[PEVSLAC] from 12 entering 13 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x4c 0xba 0x19 0x2c 0xe4 0x72 0xfe 0xdc 0x37 0xf4 0x12 0xa 0xcf 0x10 0x39 0x26 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +received GET_KEY.CNF +Modem #2 has BC:F2:AF:F3:05:25 and result code is 1(NOK) +Info: NOK is normal for remote modems. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] EVSE is up, pairing successful. +[PEVSLAC] Requesting SW versions from the modems... +[PEVSLAC] from 13 entering 14 +[SNIFFER] received GET_SW.CNF +[SNIFFER] For 98:48:27:5A:3C:E6 the software version is MAC-QCA7420-1.4.0.20-00-20171027-CS +[SNIFFER] received GET_SW.CNF +[SNIFFER] For BC:F2:AF:F3:05:25 the software version is MAC-QCA7000-1.1.0.727-02-20130826-FINAL +[PEVSLAC] It was sufficient time to get the SW versions from the modems. +[PEVSLAC] from 14 entering 15 +[PEVSLAC] from 15 entering 12 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #21 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #22 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #23 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #24 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #25 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #26 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #27 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #28 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #29 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #30 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEVSLAC] Checking whether the pairing worked, by GET_KEY.REQ... +[PEVSLAC] from 12 entering 13 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x4c 0xba 0x19 0x2c 0xe4 0x72 0xfe 0xdc 0x37 0xf4 0x12 0xa 0xcf 0x10 0x39 0x26 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +received GET_KEY.CNF +Modem #2 has BC:F2:AF:F3:05:25 and result code is 1(NOK) +Info: NOK is normal for remote modems. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #31 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] EVSE is up, pairing successful. +[PEVSLAC] Requesting SW versions from the modems... +[PEVSLAC] from 13 entering 14 +[SNIFFER] received GET_SW.CNF +[SNIFFER] For 98:48:27:5A:3C:E6 the software version is MAC-QCA7420-1.4.0.20-00-20171027-CS +[SNIFFER] received GET_SW.CNF +[SNIFFER] For BC:F2:AF:F3:05:25 the software version is MAC-QCA7000-1.1.0.727-02-20130826-FINAL +[PEVSLAC] It was sufficient time to get the SW versions from the modems. +[PEVSLAC] from 14 entering 15 +[PEVSLAC] from 15 entering 12 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #32 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 02 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Ongoing", +"debug": "Line430" +} +[PEV] Not (yet) finished. Will again send ContractAuthenticationReq #33 +[PEV] responding (21bytes) = 01 FE 80 01 00 00 00 0D 80 9A 02 00 00 00 00 03 1F DC 8B D0 B8 +from 7 entering 7 +[PEV] In state WaitForContractAuthentication, received (23bytes) = 01 FE 80 01 00 00 00 0F 80 9A 02 00 00 00 00 03 1F DC 8B D0 C0 00 00 +[PEV] { +"msgName": "ContractAuthenticationRes", +"info": "15 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"EVSEProcessing": "Finished", +"debug": "Line430" +} +[PEV] It is Finished. Will send ChargeParameterDiscoveryReq +[PEV] responding (32bytes) = 01 FE 80 01 00 00 00 18 80 9A 02 00 00 00 00 03 1F DC 8B D0 71 91 40 0D C0 C8 C8 23 24 70 19 00 +from 7 entering 8 +[PEV] In state WaitForChargeParameterDiscoveryResponse, received (57bytes) = 01 FE 80 01 00 00 00 31 80 9A 02 00 00 00 00 03 1F DC 8B D0 80 02 00 00 00 00 00 10 00 2A 80 04 00 00 14 0C 00 40 80 E1 8A 3A 0A 0A 00 A0 60 60 00 08 0A 01 E2 30 30 06 10 +[PEV] { +"msgName": "ChargeParameterDiscoveryRes", +"info": "49 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "OK", +"debug": "Line406" +} +[PEV] Will send CableCheckReq +[PEV] responding (24bytes) = 01 FE 80 01 00 00 00 10 80 9A 02 00 00 00 00 03 1F DC 8B D0 10 40 00 00 +from 8 entering 9 +[PEV] In state WaitForCableCheckResponse, received (27bytes) = 01 FE 80 01 00 00 00 13 80 9A 02 00 00 00 00 03 1F DC 8B D0 20 A0 00 80 00 04 00 +[PEV] { +"msgName": "CableCheckRes", +"info": "19 bytes to convert", +"error": "", +"result": "", +"schema": "DIN", +"g_errn": "0", +"header.SessionID": "000000000c7f722f", +"header.Notification_isUsed": "0", +"header.Signature_isUsed": "0", +"ResponseCode": "FAILED_SequenceError", +"DC_EVSEStatus.EVSEIsolationStatus": "0", +"DC_EVSEStatus.EVSEIsolationStatus_isUsed": "1", +"DC_EVSEStatus.EVSEStatusCode": "1", +"DC_EVSEStatus.NotificationMaxDelay": "0", +"DC_EVSEStatus.EVSENotification": "0", +"EVSEProcessing": "1", +"debug": "Line370" +} +[PEV] [PEV] The CableCheck result is FAILED_SequenceError 1 +[PEV] Will again send CableCheckReq +[PEV] responding (24bytes) = 01 FE 80 01 00 00 00 10 80 9A 02 00 00 00 00 03 1F DC 8B D0 10 40 00 00 +[PEVSLAC] Checking whether the pairing worked, by GET_KEY.REQ... +[PEVSLAC] from 12 entering 13 +received GET_KEY.CNF +Modem #1 has 98:48:27:5A:3C:E6 and result code is 0(OK) +The local modem has key 0x4c 0xba 0x19 0x2c 0xe4 0x72 0xfe 0xdc 0x37 0xf4 0x12 0xa 0xcf 0x10 0x39 0x26 +This is the developer NMK. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +received GET_KEY.CNF +Modem #2 has BC:F2:AF:F3:05:25 and result code is 1(NOK) +Info: NOK is normal for remote modems. +From GetKeyCnf, got network ID (NID) 0xfb 0x4 0xc3 0x6c 0x12 0x32 0x1 +[PEVSLAC] It was sufficient time to get the answers from the modems. +[PEVSLAC] EVSE is up, pairing successful. +[PEVSLAC] Requesting SW versions from the modems... +[PEVSLAC] from 13 entering 14 +[SNIFFER] received GET_SW.CNF +[SNIFFER] For 98:48:27:5A:3C:E6 the software version is MAC-QCA7420-1.4.0.20-00-20171027-CS +[SNIFFER] received GET_SW.CNF +[SNIFFER] For BC:F2:AF:F3:05:25 the software version is MAC-QCA7000-1.1.0.727-02-20130826-FINAL +[PEVSLAC] It was sufficient time to get the SW versions from the modems. +[PEVSLAC] from 14 entering 15 +[PEVSLAC] from 15 entering 12 + +C:\UwesTechnik\pyPLC> \ No newline at end of file