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
| Field | Value |
|---|---|
| Test case name | Secure Firmware Update - Unable to install firmware with ongoing transaction -; AllowNewSessionsPendingFirmwareUpdate is true |
| Test case Id | TC_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 test | Charging Station |
| Functional block | L. 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 Station | CSMS |
|---|---|
| 2. The Charging Station responds with a UpdateFirmwareResponse | 1. 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 BootNotificationRequest | 19. The OCTT responds with a BootNotificationResponse; with status Accepted |
| 20. The Charging Station sends a SecurityEventNotificationRequest; with type FirmwareUpdated | 21. 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