Skip to content
Documentation Menu

TC_L_14_CS — Secure Firmware Update - Unable to install firmware with ongoing transaction -

TC_L_14_CS — Secure Firmware Update - Unable to install firmware with ongoing transaction -

AllowNewSessionsPendingFirmwareUpdate is true

Source: OCPP 2.0.1 Part 6 — Test Cases (Core & Advanced Security, FINAL, 2023-06-30) — Functional block L. FirmwareManagement, page 261.

Identification

FieldValue
Test case nameSecure Firmware Update - Unable to install firmware with ongoing transaction -; AllowNewSessionsPendingFirmwareUpdate is true
Test case IdTC_L_14_CS
Use case Id(s)L01
Requirement(s)L01.FR.01,L01.FR.06,L01.FR.07,L01.FR.10,L01.FR.20
System under testCharging Station
Functional blockL. FirmwareManagement

Description

The CSMS is able to request the Charging Station to securely download and install a new firmware by sending an UpdateFirmwareRequest with a signingCertificate.

Purpose

To verify if the Charging Station is able to keep allowing new transactions when requested to update the firmware, while there is an ongoing transaction.

Prerequisite(s)

  • A file server has been setup according to the (by the Charging Station) supported file transfer protocol(s), indicated by the configuration variable FileTransferProtocols.
  • The Charging Station is able to start more than one transaction at a time.
  • The Charging Station is unable to install firmware while there is an ongoing transaction.

Before (Preparations)

Configuration State:

  • AllowNewSessionsPendingFirmwareUpdate is true (If implemented)

Memory State:

  • N/a

Reusable State(s):

  • State is EnergyTransferStarted for <Configured connectorId>

Main (Test scenario)

Charging StationCSMS
2. The Charging Station responds with a UpdateFirmwareResponse1. The OCTT sends a UpdateFirmwareRequest; with firmware.installDateTime <Current DateTime - 2 hours> firmware.location <Configured firmware_location> firmware.retrieveDateTime <Current DateTime - 2 hours> firmware.signingCertificate <Configured signingCertificate> firmware.signature <Configured signature>
3. The Charging Station sends a FirmwareStatusNotificationRequest.4. The OCTT responds with a FirmwareStatusNotificationResponse.
5. The Charging Station sends a FirmwareStatusNotificationRequest.6. The OCTT responds with a FirmwareStatusNotificationResponse.
7. The Charging Station sends a FirmwareStatusNotificationRequest.8. The OCTT responds with a FirmwareStatusNotificationResponse.
9. The Charging Station sends a FirmwareStatusNotificationRequest.10. The OCTT responds with a FirmwareStatusNotificationResponse.
11. Execute Reusable State EnergyTransferStarted for <Configured second Connector>
12. Execute Reusable State ParkingBayUnoccupied for <Configured connectorId>; Note(s):; - This causes the transaction to stop.
13. Execute Reusable State ParkingBayUnoccupied for <Configured second Connector>; Note(s):; - This causes the transaction to stop.
14. The Charging Station sends a FirmwareStatusNotificationRequest.; Note(s):; - This step is optional if the Charging Station needs to reboot during a firmware update AND the bootloader is unable to send OCPP messages.; - If the Charging Station does NOT need to reboot during a firmware update then this step needs to executed and then proceed to step 22.15. The OCTT responds with a FirmwareStatusNotificationResponse.
16. The Charging Station sends a FirmwareStatusNotificationRequest.; Note(s):; - This step is optional if the Charging Station needs to reboot during a firmware update AND the bootloader is unable to send OCPP messages.17. The OCTT responds with a FirmwareStatusNotificationResponse.
18. The Charging Station sends a BootNotificationRequest19. The OCTT responds with a BootNotificationResponse; with status Accepted
20. The Charging Station sends a SecurityEventNotificationRequest; with type FirmwareUpdated21. The OCTT responds with a SecurityEventNotificationResponse
22. The Charging Station notifies the CSMS about the current state of all connectors.23. The OCTT responds accordingly.
24. The Charging Station sends a FirmwareStatusNotificationRequest.25. The OCTT responds with a FirmwareStatusNotificationResponse.

Tool validations

Step 2:

Message UpdateFirmwareResponse

  • status Accepted

Step 3:

Message FirmwareStatusNotificationRequest

  • status Downloading

Step 5:

Message FirmwareStatusNotificationRequest

  • status Downloaded

Step 7:

Message FirmwareStatusNotificationRequest

  • status SignatureVerified

Step 9:

Message FirmwareStatusNotificationRequest

  • status InstallScheduled

Step 14:

Message FirmwareStatusNotificationRequest

  • status Installing

Step 16:

Message FirmwareStatusNotificationRequest

  • status InstallRebooting

Step 18:

Message BootNotificationRequest

  • reason FirmwareUpdate

Step 20:

Message SecurityEventNotificationRequest

  • type FirmwareUpdated

Step 22:

Message: StatusNotificationRequest

  • connectorStatus Available Message: NotifyEventRequest
  • eventData[0].trigger Delta
  • eventData[0].actualValue "Available"
  • eventData[0].component.name "Connector"
  • eventData[0].variable.name "AvailabilityState"

Step 24:

Message FirmwareStatusNotificationRequest

  • status Installed

Post scenario validations

  • N/a