TC_L_15_CS — Secure Firmware Update - Unable to install firmware with ongoing transaction -
TC_L_15_CS — Secure Firmware Update - Unable to install firmware with ongoing transaction -
AllowNewSessionsPendingFirmwareUpdate is false
Source: OCPP 2.0.1 Part 6 — Test Cases (Core & Advanced Security, FINAL, 2023-06-30) — Functional block L. FirmwareManagement, page 264.
Identification
| Field | Value |
|---|---|
| Test case name | Secure Firmware Update - Unable to install firmware with ongoing transaction -; AllowNewSessionsPendingFirmwareUpdate is false |
| Test case Id | TC_L_15_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 set its available connectors to Unavailable 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 configuration variable AllowNewSessionsPendingFirmwareUpdate is implemented.
- The Charging Station is unable to install firmware while there is an ongoing transaction.
Before (Preparations)
Configuration State:
- AllowNewSessionsPendingFirmwareUpdate is false
Memory State:
- N/a
Reusable State(s):
- State is EnergyTransferStarted
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 notifies the CSMS about the current state of its Available connector(s).; Note(s):; - This step needs to be executed for all connectors; with AvailabilityState Available. | 4. The OCTT responds accordingly. |
| 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. The Charging Station sends a FirmwareStatusNotificationRequest. | 12. The OCTT responds with a FirmwareStatusNotificationResponse. |
| 13. Execute Reusable State ParkingBayUnoccupied; 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: StatusNotificationRequest
- connectorStatus Unavailable Message: NotifyEventRequest
- eventData[0].trigger Delta
- eventData[0].actualValue "Unavailable"
- eventData[0].component.name "Connector"
- eventData[0].variable.name "AvailabilityState"
Step 5:
Message FirmwareStatusNotificationRequest
- status Downloading
Step 7:
Message FirmwareStatusNotificationRequest
- status Downloaded
Step 9:
Message FirmwareStatusNotificationRequest
- status SignatureVerified
Step 11:
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