Problem Overview
The Siemens LOGO! 8.3 (basic module, BM) loses secure connectivity to the CMR2020 (6GK7242-1CX10-0XB0) mobile wireless router when the router attempts to forward a TLS-protected session back into the LOGO!. The CMR2020 logs the following SMS short-message error:
ERROR Secure connection to LOGO! BM 8.3 or higher cannot be established, verification of BM certificate failed
The same condition prevents LOGO!Soft Comfort (LSC) V8.3 from establishing an online connection through the CMR tunnel even after a manual clock synchronization appears to succeed. Local access via the engineering PC on the same LAN works without errors, which rules out the BM identity certificate itself and points to a validity-window problem in the TLS handshake between the CMR2020 and the LOGO! BM.
This reference consolidates the verification procedure for the BM firmware (V1.83.01) used on the 6ED1052-1MD08-0BA1, the CMR2020 firmware line (V2.1.8 / bootstrap V2.1.0 / mobile module 13.00.106), and the LSC V8.3 engineering tool.
Affected Hardware and Firmware Matrix
| Component | Order Number / Article | Confirmed Versions | Required for TLS to LOGO! |
|---|---|---|---|
| LOGO! 8.3 BM (Ethernet, display) | 6ED1052-1MD08-0BA1 | FW V1.83.01 | FW V1.83.00 or higher (8.3 generation) |
| LOGO!Soft Comfort | 6ED1058-0BA08-0YA1 | V8.3 | V8.2 or higher to deploy .lcu cert chain |
| CMR2020 (4G router) | 6GK7242-1CX10-0XB0 | FW V2.1.8 / Boot V2.1.0 / Cellular 13.00.106 | FW V2.1.x with .lcu root trust store |
| LOGO! 8.2 BM (fallback) | 6ED1052-1MD08-0BA0 | FW V1.82.xx | Not affected (no mandatory TLS 1.2 handshake) |
If the BM is flashed back to a 1.82.xx firmware image, the CMR2020 immediately accepts the connection (no TLS handshake) and the message disappears. This confirms that the issue is not the certificate content but the way the new firmware enforces certificate-not-yet-valid / certificate-has-expired checks using the local clock of both peers.
Decoding the Error Message
The string verification of BM certificate failed is produced by the CMR2020 security module when one of three checks fails during the TLS 1.2 handshake:
- The BM identity certificate's
notBeforetimestamp is later than the CMR2020's current wall-clock time. - The BM identity certificate's
notAftertimestamp is earlier than the CMR2020's current wall-clock time. - The BM identity certificate's issuer chain does not match the root CA stored in the CMR2020's trust store (the
.lcucontainer LSC exports).
Because direct local access from LSC to the BM works on the same LAN, condition (3) can be eliminated; the chain is intact and verifiable. The remaining cause is therefore a time-skew between the BM and the CMR2020 that pushes the certificate outside its validity window at the moment of the handshake.
Root Cause: Time Skew Between BM Real-Time Clock and CMR2020
The LOGO! 8.3 BM uses an internal RTC backed by a supercapacitor. After a power loss of more than approximately 72 hours the RTC drifts back to a default time near 2000-01-01. The CMR2020 has its own RTC maintained by the cellular network's NTP feed. When the BM RTC is months or years in the past:
- The BM presents a certificate with a perfectly valid NotBefore/NotAfter window in real time.
- The CMR2020 looks at the BM RTC first (because the CMR is acting as the client to the BM for the reverse tunnel) and computes effectiveNow = CMRtime - BMtime.
- If
effectiveNowfalls outside the certificate window, the handshake aborts with the error above.
Setting the BM to NTP client and configuring the CMR to forward the time of day is therefore not just a cosmetic step — it is the precondition that makes the BM's RTC useful for TLS validation. Even after this step, a residual lag of several seconds to minutes is normal because the CMR only pushes the time at configurable intervals.
Clock Synchronization Procedure
Step 1 - Configure the BM as NTP Client
- In LSC V8.3 open Tools > Ethernet Connections and select the BM.
- Switch to the Time tab and set Time synchronization to NTP client.
- Enter the IP address of an internal NTP server (or the LAN IP of the CMR2020 — see Step 2).
- Set Update interval to 60 s for commissioning, raise to 600 s once stable.
- Transfer the project to the BM and observe the Date/Time field under Diagnostics > Status.
Step 2 - Configure the CMR2020 to Forward Time of Day
- Open the CMR2020 web UI (
https://<CMR-IP>) and log in with the operator password. - Navigate to LOGO! > Time.
- Enable Forward time of day to LOGO!.
- Set the push interval to 30 s for commissioning.
- Click Apply. The BM's Date/Time field will update within one interval.
When both ends agree to within ±2 seconds the TLS handshake will succeed. A persistent lag of more than 5 s on the BM display indicates that the BM's NTP client is querying a different server than the CMR's NTP source — re-point the BM NTP field to the CMR LAN IP.
Step 3 - Allow Time for the BM to Apply the Offset
The BM does not slew its RTC by default; it applies a hard set at the next NTP poll. Plan a 5–10 minute settling window before retesting the secure tunnel.
Certificate File Handling: .lcu Versus .crt
LOGO!Soft Comfort stores the entire trust chain — root CA, intermediate CA, BM identity certificate, and the BM's RSA private key — inside a single encrypted .lcu container. The container is generated by Tools > Certificate Manager and is the only format the BM will accept in its secure-boot path.
The CMR2020's Online settings > Certificate settings dialog therefore must be pointed at the .lcu file produced by LSC. Loading a .crt derived from the LSC .res archive into the CMR trust store is not supported and will silently fail the chain check even when the underlying PEM data is valid.
| File | Source | Format | Accepted By |
|---|---|---|---|
logo.lcu |
LSC Certificate Manager export | Siemens encrypted container (X.509 + key) | LOGO! BM and CMR2020 |
ca.crt |
Third-party CA | PEM X.509 (public key only) | Not accepted by CMR2020 trust store |
bm.pfx |
External PKI | PKCS#12 (public + private) | Not accepted — must be re-imported via LSC to produce .lcu |
Generating the .lcu Correctly
- In LSC V8.3 open Tools > Certificate Manager.
- Click Create new certificate and choose either Self-signed or Signed by external CA.
- If external CA: paste the CA chain, then generate the CSR, sign it externally, and import the signed response.
- Export as
*.lcu(encrypted, password-protected). - Push the
.lcuto the BM via Tools > Ethernet Connections > Transfer Certificate. - Upload the same
.lcuto the CMR2020 under LOGO! > Certificate Settings > Upload .lcu.
.lcu for use outside the LOGO! project. The key is hardware-bound to the BM and the CMR2020 verifies the binding during the TLS handshake.Time Lag and Drift Budget
The default BM certificate generated by LSC V8.3 carries a 10-year validity window. The window is generous enough that drift, not absolute expiry, is the practical cause of failure. Use the following drift budget when commissioning:
| Parameter | Acceptable | Marginal | Fails Handshake |
|---|---|---|---|
| BM vs CMR clock offset | ≤ 2 s | 2 – 30 s | > 30 s (or any negative offset) |
| BM RTC drift after power-off 72 h | — | — | Defaults to 2000-01-01 → fail |
| CMR cellular NTP age | < 60 s | 60 – 600 s | > 600 s with no LAN fallback |
| Time-zone offset (DST vs UTC) | ±0 | ±1 h | > ±2 h (certificate window still wide, but audit logs corrupt) |
Because LOGO! 8.3 uses an unsigned 32-bit seconds-since-epoch value, a battery-dead BM reports a year near 2000 and the CMR rejects the handshake as not yet valid even when the certificate itself is current. There is no software workaround other than re-synchronizing the clock before the first secure session of the day.
Verification Procedure
- From the CMR2020 web UI open LOGO! > Connection Status. The status field must show Connected (secure) with the cipher listed as
TLS_RSA_WITH_AES_128_CBC_SHAorTLS_RSA_WITH_AES_256_CBC_SHA. - Open the BM web UI by clicking Open LOGO! Web Page in the CMR portal. A successful render confirms the tunnel is up.
- In LSC V8.3 choose Tools > Ethernet Connections > Go Online. The online status indicator turns green and the project tree populates within 5 s.
- Send a forced SMS test from the CMR2020 menu Diagnostics > Send Test SMS. The expected acknowledgement from the BM must read BM Online, time-sync OK.
- From the engineering PC browse to
https://<CMR-public-IP>/logo. If the BM's own web page renders behind the CMR tunnel, the secure channel is fully validated.
If any of the five steps fails, return to Step 2 - Configure the CMR2020 to Forward Time of Day and increase the push interval to 10 s for the next iteration.
Troubleshooting Matrix
| Symptom | Likely Cause | Action |
|---|---|---|
| Error appears immediately after BM power-up | BM RTC has reverted to factory default | Force NTP poll from BM; wait one push interval |
| Error appears only after long BM uptime | BM RTC drift exceeds tolerance | Reduce NTP poll interval to 60 s |
| Error disappears after flashing BM to 1.82.xx | 1.82 firmware does not enforce TLS chain | Not a fix — return to 1.83.xx and address clock |
| CMR rejects .crt upload | Wrong file type in trust store | Re-export .lcu from LSC and re-upload |
| BM clock correct, error persists | CMR2020 cellular NTP is stale | Configure CMR System > Time NTP fallback to LAN source |
| LSC online status red despite CMR tunnel up | LSC cache holds expired CRL | Clear CRL cache under Tools > Options > Security |
| Time updates but handshake still fails | BM and CMR time-zone differ | Set both to UTC; let application layer format local time |
| SMS message wording varies between BM revisions | Localization string mismatch | Match CMR language pack to BM language |
Pre-Resolution Checklist
- Verify both BM and CMR firmware against the matrix above.
- Confirm that the
.lcuis the one referenced inside the active LSC project — re-export after any certificate change. - Confirm that the BM is set to NTP client and that the NTP server IP is reachable from the BM's Ethernet interface.
- Confirm that the CMR2020 has Forward time of day to LOGO! enabled and that the cellular NTP feed is current.
- Allow a 10-minute settling window before re-testing.
Background: Why the Clock Matters in TLS
Transport Layer Security requires both peers to make a binary decision on certificate validity at the moment the certificate is presented. The notBefore and notAfter fields are compared against the peer's local clock. If either comparison fails, the certificate is rejected, the handshake is aborted, and the higher-level protocol (in this case the CMR2020 reverse tunnel) reports a verification failure rather than a network failure. Synchronized clocks are therefore a hard requirement for any TLS-protected industrial remote-access tunnel — the same principle that drives clock synchronization in IT networks applies unchanged to the OT side once TLS enters the picture. The CMR's NTP client, the BM's NTP client, and the cellular base-station time feed together form a chain that must close to within the certificate validity tolerance.
Field-Proven Caveats
- Do not rely on the BM's onboard supercapacitor for long-term RTC retention; treat it as a worst-case 72-hour hold-up and re-synchronize on every cold start.
- The CMR2020 cellular module version (13.00.106 in this case) does not change the TLS behavior but does affect which NTP servers are reachable — newer cellular firmware adds additional fallback NTP sources.
- If the BM is installed behind a managed switch with Spanning Tree, allow at least 30 s after link-up before the first TLS attempt; the BM's IP stack resolves ARP only after the port goes forwarding.
- The .lcu container is tied to the LSC project; cloning the container into a different project produces a mismatched BM identity and the CMR2020 will reject it as untrusted.
- Logging into the BM web UI does not require the .lcu — only the reverse tunnel initiated by the CMR2020 does.
FAQ
Why does the CMR2020 reject the LOGO! 8.3 certificate even though LSC goes online successfully on the LAN?
Local LAN access from LSC trusts the chain because LSC itself stored the matching CA. The CMR2020 has an independent trust store and validates the certificate's NotBefore/NotAfter window against its own clock. If the BM RTC is wrong, the certificate appears either not-yet-valid or already-expired to the CMR and the handshake aborts.
Can I upload a .crt file into the CMR2020 trust store instead of an .lcu?
No. The CMR2020 expects the Siemens encrypted .lcu container produced by LOGO!Soft Comfort Certificate Manager. Plain .crt, .pem, .cer, or .pfx files are not accepted even if the underlying X.509 data is correct.
How long does it take for the CMR time-forwarding to take effect on the BM?
The default push interval is 30 seconds. The BM applies the new time immediately at the next NTP poll, so worst-case delay is one push interval plus one NTP poll — typically 30 to 90 seconds end to end.
Does rolling the BM firmware back to 1.82.xx fix the problem permanently?
It removes the symptom because the 1.82 firmware does not enforce TLS chain validation, but the underlying clock issue remains. Return to 1.83.xx and configure NTP on both ends so that the secure tunnel is actually validated.
What is the maximum time skew the CMR2020 will tolerate before refusing the BM certificate?
Empirically the handshake begins to fail at offsets above 30 seconds, with marginal success between 2 and 30 seconds. Aim for ±2 seconds or better to leave headroom for cellular NTP jitter.