Skip to content
SHARUR
Search Sign in

World

Topics from outside of this forum. Views and opinions represented here may not reflect those of this forum and its members.

A world of content at your fingertips…

Think of this as your global discovery feed. It brings together interesting discussions from across the web and other communities, all in one place.

While you can browse what's trending now, the best way to use this feed is to make it your own. By creating an account, you can follow specific creators and topics to filter out the noise and see only what matters to you.

Ready to dive in? Create an account to start following others, get notified when people reply to you, and save your favorite finds.

Register Login
  • S

    Overview

    When querying Class 3 (Register) object 1.0.32.7.0.255 (Phase A Instantaneous Voltage), our data collector parsed a raw voltage value of 2200 with scaler 0xFF and produced a catastrophic measurement reading: 2200000000000000000000 V (2.2 x 10^27 V).

    DLMS APDU Response Trace

    C4 01 C1 00 00 02 02 12 08 98 02 02 0F FF 16 23
    

    ASN.1 Type Dissection

    • C4 01 C1: GET-Response-Normal (Invoke-Id-And-Priority C1)
    • 00 00: Data-Access-Result success (0)
    • 02 02: Structure of 2 elements
      • 12 08 98: Element 1 -> double-long-unsigned (Value = 2200 / 0x0898)
      • 02 02: Element 2 -> Structure of 2 elements (Scaler_Unit_Type)
        • 0F FF: Scaler -> Integer8 (0xFF)
        • 16 23: Unit -> enum (35 = 0x23 = Volts V)

    Root Cause

    Per DLMS Blue Book Section 4.3.3, the scaler field is of type Integer8 (signed 8-bit integer) in two's complement representation.

    • 0xFF = -1 (Scaling factor is $10^{-1} = 0.1$)
    • Correct calculation: $2200 \times 10^{-1} = 220.0\text{ V}$
    • The bug: The parsing library treated 0xFF as uint8_t (255), evaluating $2200 \times 10^{255}$ and overflowing database decimal columns!

    Thanks Elena! We applied the signed int8 cast in the collection pipeline parser. All phase voltages (A/B/C: 1.0.32.7.0.255, 1.0.52.7.0.255, 1.0.72.7.0.255) now correctly read 220.4V, 219.8V, and 220.1V.
  • D

    Problem Description

    When connecting to 3-phase smart meters over RS-485 using DLMS/COSEM HDLC profile (IEC 62056-46), the client sends an SNRM (Set Normal Response Mode) frame, but the meter fails to return an unnumbered acknowledgment (UA) frame, resulting in communication timeout.

    Raw Hex Frame Trace

    7E A0 0A 00 02 00 23 03 93 D4 71 7E
    

    HDLC Frame Breakdown

    • Opening/Closing Flag: 7E
    • Frame Format: A0 0A (Type 3, length 10 bytes)
    • Server Address: 00 02 00 23 (4-byte logical + physical address)
    • Client Address: 03 (Management client 0x01 shifted: 0x01 << 1 | 1 = 0x03)
    • Control Field: 93 (SNRM command, P/F bit set)
    • Header Check Sequence (HCS): D4 71 (CRC-16 CCITT)

    Observed Behavior

    Looking closely at the 4-byte server address field 00 02 00 23:

    • Byte 1: 00 (Logical address upper bits, bit 0 is 0 - extension bit)
    • Byte 2: 02 (Logical address lower bits, bit 0 is 0 - extension bit)
    • Byte 3: 00 (Physical address upper bits, bit 0 is 0 - extension bit)
    • Byte 4: 23 (Physical address lower bits, hex 0x23 = 00100011b)

    In our custom gateway driver, the address generation logic forgot to mask the least significant bit (LSB) as the final address delimiter (bit 0 = 1) across the upper bytes, causing the meter's HDLC state machine to wait endlessly for additional address octets.


    Field testing confirms this resolution on 120+ meters in the regional substation gateway deployment. After patching the gateway firmware with Elena's bit-extension mask, all optical probe and RS-485 connection timeouts dropped to zero.
  • M

    Eliminating Static Meter Templates in Head-End Systems

    Rather than relying on static XML/JSON templates for every meter model, modern HES drivers automatically discover the complete object model on initial commissioning.

    Auto-Discovery Pipeline

    1. Connect with Management Client (0x01).
    2. Query 0.0.40.0.0.255 (Association LN) Attribute 2 (object_list).
    3. Iterate over the returned array of objects, recording class_id, version, logical_name, and access rights.
    4. For all Class 3/4 registers, immediately read Attribute 3 (scaler_unit) to cache physical conversion multipliers in the device database.
    5. Cache the generated schema in memory to achieve zero-configuration plug-and-play for new meter deployments!

    Auto-discovery completely eliminated mismatch errors when vendors rolled out minor firmware updates with newly added harmonic distortion registers.
  • D

    High-Throughput HDLC Communication via Information Frames

    For bulk data transfer over serial links, HDLC Information Frames (I-Frames) enable continuous bidirectional data transmission using sliding-window flow control.

    I-Frame Control Field Format

    Bit 0: 0 (Identifies I-Frame)
    Bits 1-3: N(S) - Send Sequence Number (0 to 7)
    Bit 4: Poll/Final (P/F) bit
    Bits 5-7: N(R) - Receive Sequence Number (0 to 7)
    

    When window_size_transmit > 1 is negotiated in SNRM/UA, the client can transmit multiple I-frames consecutively without waiting for individual acknowledgments, drastically improving profile read throughput.


    If an I-frame is received with an out-of-order sequence number $N(S)$, the receiver responds with a Reject (REJ) supervisory frame (Control: 0x09), instructing the transmitter to retransmit from frame $N(R)$.
  • M

    Deploying DLMS over Sub-GHz Wi-SUN RF Mesh Networks

    Wi-SUN FAN (Field Area Network) provides self-forming, self-healing IPv6 wireless mesh communication for millions of smart meters in dense urban and rural environments.

    Protocol Stack

    • Application: DLMS/COSEM (IEC 62056-53/62)
    • Transport: UDP Wrapper (IEC 62056-47) on port 4059
    • Network: IPv6 / RPL (Routing Protocol for Low-Power and Lossy Networks)
    • Adaptation: 6LoWPAN (RFC 6282 Header Compression)
    • MAC / PHY: IEEE 802.15.4g/e (FSK / OFDM modulation at 868 MHz / 915 MHz)

    Key Network Tuning Parameters

    1. UDP Checksum Validation: Enable mandatory UDP checksums to filter out packet corruption before invoking DLMS deciphering.
    2. Path MTU Discovery: Configure 6LoWPAN maximum uncompressed MTU to 1280 bytes to avoid ICMPv6 Packet Too Big errors.
    3. Trickle Timer Tuning: Tune RPL DIO trickle timers ($I_{\min} = 12$, $I_{\max} = 20$) to balance routing convergence speed with RF spectrum congestion.

    In our 50,000-node Wi-SUN mesh deployment, tuning the UDP wrapper timeout to 8 seconds easily accommodated 7-hop mesh route latencies during heavy rain attenuation.
  • D

    How DLMS/COSEM Maps onto Communication Stacks

    Unlike traditional 7-layer OSI protocols, DLMS/COSEM employs a streamlined Collapsed 3-Layer Architecture for resource-constrained smart meters:

    1. Application Layer (COSEM - IEC 62056-53/62):
      • Object Model (OBIS)
      • Association Control Service Element (ACSE - AARQ/AARE)
      • xDLMS Messaging (GET, SET, ACTION, Notification)
    2. Transport / Data Link Layer:
      • HDLC (IEC 62056-46) for RS-485 / Optical / Serial
      • TCP/UDP Wrapper (IEC 62056-47) for Ethernet / Cellular / Wi-Fi
      • 6LoWPAN / IPv6 for G3-PLC / Wi-SUN Mesh
    3. Physical Layer:
      • RS-485, Optical (IEC 62056-21), FSK, OFDM, RF 868/915 MHz

    This separation guarantees that COSEM application objects remain 100% identical regardless of whether communication occurs over an optical probe or high-speed fiber!


    From a firmware architecture standpoint, decoupling the COSEM Object Dictionary from the underlying MAC/PHY driver enables 90% code reuse across our entire product line.
  • S

    Quick Reference Table: Standard Electrical Measurement OBIS Codes

    Measurement Total Phase A (L1) Phase B (L2) Phase C (L3) Class ID
    Active Power (+P) 1.0.1.7.0.255 1.0.21.7.0.255 1.0.41.7.0.255 1.0.61.7.0.255 3 (Register)
    Active Power (-P) 1.0.2.7.0.255 1.0.22.7.0.255 1.0.42.7.0.255 1.0.62.7.0.255 3 (Register)
    Reactive Power (+Q) 1.0.3.7.0.255 1.0.23.7.0.255 1.0.43.7.0.255 1.0.63.7.0.255 3 (Register)
    Voltage (RMS) N/A 1.0.32.7.0.255 1.0.52.7.0.255 1.0.72.7.0.255 3 (Register)
    Current (RMS) N/A 1.0.31.7.0.255 1.0.51.7.0.255 1.0.71.7.0.255 3 (Register)
    Power Factor 1.0.13.7.0.255 1.0.33.7.0.255 1.0.53.7.0.255 1.0.73.7.0.255 3 (Register)
    Frequency 1.0.14.7.0.255 N/A N/A N/A 3 (Register)
    Active Energy (+A) 1.0.1.8.0.255 1.0.21.8.0.255 1.0.41.8.0.255 1.0.61.8.0.255 3 / 4 (Ext Reg)
    Active Energy (-A) 1.0.2.8.0.255 1.0.22.8.0.255 1.0.42.8.0.255 1.0.62.8.0.255 3 / 4 (Ext Reg)

    Bookmark this reference for field data validation!


    Very handy reference! Especially useful when validating neutral current measurements, which use 1.0.91.7.0.255 on four-wire meter installations.
  • D

    Managing Large PDU Payloads via Block Transfer

    When a response exceeds the maximum PDU size negotiated in AARQ (max_pdu_size, typically 1024 or 2048 bytes), the meter fragments the response into blocks using Get-Response-With-Block (Tag 0xC4 0x02).

    Block Transfer Sequence

    1. Client -> Get-Request-Normal (Requesting Association View 0.0.40.0.0.255)
    2. Meter -> Get-Response-With-Block:
      • Last Block Flag: 0x00 (More blocks follow)
      • Block Number: 0x00000001
      • Raw Data Chunk: (e.g. 1000 bytes)
    3. Client -> Get-Request-Next:
      • Block Number: 0x00000001 (Acknowledging block 1 and requesting block 2)
    4. Meter -> Get-Response-With-Block:
      • Last Block Flag: 0x01 (Final block)
      • Block Number: 0x00000002

    If the client receives a corrupted block (HCS/CRC error), it must re-send Get-Request-Next with the last successfully received block number to request a retransmission.


    In the meter firmware, we maintain a 30-second block transfer inactivity timer (t_inactivity). If the client does not acknowledge the current block within 30 seconds, the meter cleans up the buffer allocation to prevent memory leaks.
  • A

    Evolution of DLMS Cryptographic Security Suites

    As smart grid cybersecurity requirements increase (e.g. BSI TR-03109 in Germany and IEC 62056-5-3 Ed. 3), systems are migrating from Security Suite 0 to Suite 1 and Suite 2.

    Comparison Matrix

    Feature Suite 0 Suite 1 Suite 2
    Symmetric Cipher AES-GCM-128 AES-GCM-128 AES-GCM-256
    Key Wrap AES-Key-Wrap-128 AES-Key-Wrap-128 AES-Key-Wrap-256
    Digital Signature None / GMAC ECDSA P-256 / SHA-256 ECDSA P-384 / SHA-384
    Key Agreement Pre-shared Master Key ECDH (Ephemeral-Unified) ECDH (P-384)
    Hash Algorithm GMAC SHA-256 SHA-384

    Suite 1 introduces public-key certificates (X.509 v3) directly into the meter, enabling digital signatures on meter billing records for legal non-repudiation.


    In Suite 1/2, certificate management requires COSEM Class 115 (Certificate Management). The HES can remotely query the meter's TLS/ECDSA root and leaf certificates, check revocation status via CRL, and renew credentials before expiration.
  • S

    The parser below is intentionally small and defensive. It rejects trailing bytes instead of guessing a schema.

    def decode_compact_array(payload: bytes, widths: list[int]) -> list[list[bytes]]:
        row_width = sum(widths)
        if row_width == 0 or len(payload) % row_width:
            raise ValueError("payload does not align with the synthetic schema")
        rows = []
        for offset in range(0, len(payload), row_width):
            cursor = offset
            row = []
            for width in widths:
                row.append(payload[cursor:cursor + width])
                cursor += width
            rows.append(row)
        return rows
    
    Column Width Synthetic meaning
    timestamp 12 octet string
    active energy 4 unsigned
    status 1 bit flags

    For production code, return offsets with each error so a 400-byte trace does not force operators to count bytes manually.
  • S

    A retry must create a new evidence boundary. Reusing a half-open connection can hide whether the counter, challenge, or transport failed.

    public final class AssociationRetry {
        public Result execute(ClientFactory factory, int maxAttempts) throws Exception {
            Exception last = null;
            for (int attempt = 1; attempt <= maxAttempts; attempt++) {
                try (DlmsClient client = factory.open()) {
                    client.associate();
                    return client.read("0.0.40.0.0.255", 2);
                } catch (TemporaryTransportException ex) {
                    last = ex;
                }
            }
            throw last;
        }
    }
    

    Synthetic stack excerpt:

    com.example.dlms.TemporaryTransportException: UA not received before 3000 ms
        at com.example.dlms.HdlcLink.awaitUa(HdlcLink.java:184)
        at com.example.dlms.DlmsClient.associate(DlmsClient.java:91)
        at com.example.dlms.AssociationRetry.execute(AssociationRetry.java:7)
    Caused by: java.net.SocketTimeoutException: synthetic timeout
    

    Only retry transport-class failures. An authenticated COSEM denial should be returned to the caller with its decoded result, not silently retried.
  • S

    The following 180-line fixture is deliberately long to verify log scrolling, copy, collapse/expand, mobile containment, and search behavior. It is generated from four fake frames.

    2026-08-21T10:24:00.000Z TX SIM-HDLC attempt=01 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:01.037Z RX SIM-HDLC attempt=01 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:02.074Z TX SIM-HDLC attempt=01 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:03.111Z RX SIM-HDLC attempt=01 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:04.148Z TX SIM-HDLC attempt=01 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:05.185Z RX SIM-HDLC attempt=01 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:06.222Z TX SIM-HDLC attempt=01 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:07.259Z RX SIM-HDLC attempt=01 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:08.296Z TX SIM-HDLC attempt=01 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:09.333Z RX SIM-HDLC attempt=01 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:10.370Z TX SIM-HDLC attempt=01 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:11.407Z RX SIM-HDLC attempt=01 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:12.444Z TX SIM-HDLC attempt=02 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:13.481Z RX SIM-HDLC attempt=02 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:14.518Z TX SIM-HDLC attempt=02 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:15.555Z RX SIM-HDLC attempt=02 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:16.592Z TX SIM-HDLC attempt=02 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:17.629Z RX SIM-HDLC attempt=02 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:18.666Z TX SIM-HDLC attempt=02 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:19.703Z RX SIM-HDLC attempt=02 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:20.740Z TX SIM-HDLC attempt=02 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:21.777Z RX SIM-HDLC attempt=02 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:22.814Z TX SIM-HDLC attempt=02 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:23.851Z RX SIM-HDLC attempt=02 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:24.888Z TX SIM-HDLC attempt=03 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:25.925Z RX SIM-HDLC attempt=03 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:26.962Z TX SIM-HDLC attempt=03 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:27.999Z RX SIM-HDLC attempt=03 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:28.036Z TX SIM-HDLC attempt=03 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:29.073Z RX SIM-HDLC attempt=03 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:30.110Z TX SIM-HDLC attempt=03 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:31.147Z RX SIM-HDLC attempt=03 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:32.184Z TX SIM-HDLC attempt=03 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:33.221Z RX SIM-HDLC attempt=03 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:34.258Z TX SIM-HDLC attempt=03 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:35.295Z RX SIM-HDLC attempt=03 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:36.332Z TX SIM-HDLC attempt=04 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:37.369Z RX SIM-HDLC attempt=04 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:38.406Z TX SIM-HDLC attempt=04 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:39.443Z RX SIM-HDLC attempt=04 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:40.480Z TX SIM-HDLC attempt=04 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:41.517Z RX SIM-HDLC attempt=04 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:42.554Z TX SIM-HDLC attempt=04 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:43.591Z RX SIM-HDLC attempt=04 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:44.628Z TX SIM-HDLC attempt=04 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:45.665Z RX SIM-HDLC attempt=04 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:46.702Z TX SIM-HDLC attempt=04 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:47.739Z RX SIM-HDLC attempt=04 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:48.776Z TX SIM-HDLC attempt=05 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:49.813Z RX SIM-HDLC attempt=05 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:50.850Z TX SIM-HDLC attempt=05 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:51.887Z RX SIM-HDLC attempt=05 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:52.924Z TX SIM-HDLC attempt=05 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:53.961Z RX SIM-HDLC attempt=05 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:54.998Z TX SIM-HDLC attempt=05 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:55.035Z RX SIM-HDLC attempt=05 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:56.072Z TX SIM-HDLC attempt=05 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:57.109Z RX SIM-HDLC attempt=05 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:58.146Z TX SIM-HDLC attempt=05 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:59.183Z RX SIM-HDLC attempt=05 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:00.220Z TX SIM-HDLC attempt=06 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:01.257Z RX SIM-HDLC attempt=06 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:02.294Z TX SIM-HDLC attempt=06 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:03.331Z RX SIM-HDLC attempt=06 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:04.368Z TX SIM-HDLC attempt=06 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:05.405Z RX SIM-HDLC attempt=06 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:06.442Z TX SIM-HDLC attempt=06 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:07.479Z RX SIM-HDLC attempt=06 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:08.516Z TX SIM-HDLC attempt=06 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:09.553Z RX SIM-HDLC attempt=06 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:10.590Z TX SIM-HDLC attempt=06 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:11.627Z RX SIM-HDLC attempt=06 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:12.664Z TX SIM-HDLC attempt=07 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:13.701Z RX SIM-HDLC attempt=07 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:14.738Z TX SIM-HDLC attempt=07 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:15.775Z RX SIM-HDLC attempt=07 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:16.812Z TX SIM-HDLC attempt=07 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:17.849Z RX SIM-HDLC attempt=07 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:18.886Z TX SIM-HDLC attempt=07 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:19.923Z RX SIM-HDLC attempt=07 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:20.960Z TX SIM-HDLC attempt=07 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:21.997Z RX SIM-HDLC attempt=07 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:22.034Z TX SIM-HDLC attempt=07 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:23.071Z RX SIM-HDLC attempt=07 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:24.108Z TX SIM-HDLC attempt=08 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:25.145Z RX SIM-HDLC attempt=08 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:26.182Z TX SIM-HDLC attempt=08 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:27.219Z RX SIM-HDLC attempt=08 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:28.256Z TX SIM-HDLC attempt=08 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:29.293Z RX SIM-HDLC attempt=08 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:30.330Z TX SIM-HDLC attempt=08 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:31.367Z RX SIM-HDLC attempt=08 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:32.404Z TX SIM-HDLC attempt=08 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:33.441Z RX SIM-HDLC attempt=08 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:34.478Z TX SIM-HDLC attempt=08 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:35.515Z RX SIM-HDLC attempt=08 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:36.552Z TX SIM-HDLC attempt=09 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:37.589Z RX SIM-HDLC attempt=09 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:38.626Z TX SIM-HDLC attempt=09 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:39.663Z RX SIM-HDLC attempt=09 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:40.700Z TX SIM-HDLC attempt=09 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:41.737Z RX SIM-HDLC attempt=09 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:42.774Z TX SIM-HDLC attempt=09 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:43.811Z RX SIM-HDLC attempt=09 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:44.848Z TX SIM-HDLC attempt=09 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:45.885Z RX SIM-HDLC attempt=09 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:46.922Z TX SIM-HDLC attempt=09 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:47.959Z RX SIM-HDLC attempt=09 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:48.996Z TX SIM-HDLC attempt=10 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:49.033Z RX SIM-HDLC attempt=10 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:50.070Z TX SIM-HDLC attempt=10 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:51.107Z RX SIM-HDLC attempt=10 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:52.144Z TX SIM-HDLC attempt=10 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:53.181Z RX SIM-HDLC attempt=10 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:54.218Z TX SIM-HDLC attempt=10 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:55.255Z RX SIM-HDLC attempt=10 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:56.292Z TX SIM-HDLC attempt=10 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:57.329Z RX SIM-HDLC attempt=10 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:58.366Z TX SIM-HDLC attempt=10 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:59.403Z RX SIM-HDLC attempt=10 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:00.440Z TX SIM-HDLC attempt=11 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:01.477Z RX SIM-HDLC attempt=11 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:02.514Z TX SIM-HDLC attempt=11 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:03.551Z RX SIM-HDLC attempt=11 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:04.588Z TX SIM-HDLC attempt=11 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:05.625Z RX SIM-HDLC attempt=11 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:06.662Z TX SIM-HDLC attempt=11 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:07.699Z RX SIM-HDLC attempt=11 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:08.736Z TX SIM-HDLC attempt=11 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:09.773Z RX SIM-HDLC attempt=11 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:10.810Z TX SIM-HDLC attempt=11 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:11.847Z RX SIM-HDLC attempt=11 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:12.884Z TX SIM-HDLC attempt=12 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:13.921Z RX SIM-HDLC attempt=12 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:14.958Z TX SIM-HDLC attempt=12 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:15.995Z RX SIM-HDLC attempt=12 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:16.032Z TX SIM-HDLC attempt=12 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:17.069Z RX SIM-HDLC attempt=12 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:18.106Z TX SIM-HDLC attempt=12 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:19.143Z RX SIM-HDLC attempt=12 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:20.180Z TX SIM-HDLC attempt=12 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:21.217Z RX SIM-HDLC attempt=12 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:22.254Z TX SIM-HDLC attempt=12 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:23.291Z RX SIM-HDLC attempt=12 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:24.328Z TX SIM-HDLC attempt=13 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:25.365Z RX SIM-HDLC attempt=13 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:26.402Z TX SIM-HDLC attempt=13 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:27.439Z RX SIM-HDLC attempt=13 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:28.476Z TX SIM-HDLC attempt=13 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:29.513Z RX SIM-HDLC attempt=13 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:30.550Z TX SIM-HDLC attempt=13 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:31.587Z RX SIM-HDLC attempt=13 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:32.624Z TX SIM-HDLC attempt=13 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:33.661Z RX SIM-HDLC attempt=13 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:34.698Z TX SIM-HDLC attempt=13 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:35.735Z RX SIM-HDLC attempt=13 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:36.772Z TX SIM-HDLC attempt=14 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:37.809Z RX SIM-HDLC attempt=14 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:38.846Z TX SIM-HDLC attempt=14 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:39.883Z RX SIM-HDLC attempt=14 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:40.920Z TX SIM-HDLC attempt=14 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:41.957Z RX SIM-HDLC attempt=14 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:42.994Z TX SIM-HDLC attempt=14 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:43.031Z RX SIM-HDLC attempt=14 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:44.068Z TX SIM-HDLC attempt=14 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:45.105Z RX SIM-HDLC attempt=14 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:46.142Z TX SIM-HDLC attempt=14 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:47.179Z RX SIM-HDLC attempt=14 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:48.216Z TX SIM-HDLC attempt=15 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:49.253Z RX SIM-HDLC attempt=15 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:50.290Z TX SIM-HDLC attempt=15 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:51.327Z RX SIM-HDLC attempt=15 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:52.364Z TX SIM-HDLC attempt=15 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:53.401Z RX SIM-HDLC attempt=15 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:54.438Z TX SIM-HDLC attempt=15 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:55.475Z RX SIM-HDLC attempt=15 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    2026-08-21T10:24:56.512Z TX SIM-HDLC attempt=15 frame=7E A0 23 03 21 93 5A 7D E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:57.549Z RX SIM-HDLC attempt=15 frame=7E A0 1E 21 03 73 9A 11 E6 E7 00 C4 01 81 00 00 00 01 00 00 60 01 00 FF 02 00 7E
    2026-08-21T10:24:58.586Z TX SIM-HDLC attempt=15 frame=7E A0 0A 03 21 53 7B 16 81 80 14 05 02 07 D0 7E
    2026-08-21T10:24:59.623Z RX SIM-HDLC attempt=15 frame=7E A0 0A 21 03 73 1C 22 81 80 12 05 01 07 D0 7E
    

    检查顺序:frame length → destination/source addressing → control byte → HCS → information field → FCS。Do not “fix” CRC before verifying which bytes were included.


    After correcting a frame, prove the next UA or DM response on the wire; a local encoder unit test is necessary but not sufficient.
  • S

    Field Observation (Synthetic Trace): The meter real-time clock drifts 127 seconds behind the data concentrator. The daily billing row appears "missing" only when queried with the server timezone rather than the meter deviation.

    Long reference URL used only to test wrapping:
    https://example.invalid/synthetic-dlms-trace/segment/segment/segment/segment/segment/segment/segment/segment/segment/segment/segment/segment/segment/segment/segment/segment/segment/segment/?obis=0.0.40.0.0.255&counter=42

    Long identifier-like token used only to test overflow containment:
    000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF

    Conclusion Boundary: Verified that the layout safely handles long unbroken tokens without overflow; does not represent physical meter state.


    A zero-row response can be valid when the meter clock and requested UTC interval do not overlap. Read clock attribute 2 before changing the selector.
  • S

    An HTTP 200 from a gateway is not the device result. The synthetic APDU below separates transport acceptance from the COSEM action response.

    TX c301c100070100600101ff0100
    RX c701c1fa  # ActionResponseNormal, result=OtherReason (synthetic)
    

    Interpretation: c7 selects the action response family; the result byte must be decoded before anyone claims that the relay moved.


    If the gateway retries, retain the original request ID and connection timestamp so the later callback cannot be mistaken for the first attempt.
  • S

    This is synthetic Gate 2 content. No meter identifier, authentication key, or customer data is present.

    现场现象:Association LN 建立后,HLS GMAC challenge 返回成功,但下一次请求得到 OtherReason。The likely boundary is the Invocation Counter read/write sequence, not network reachability.

    Field Synthetic value What it proves
    Security suite 0 test vocabulary only
    Client counter 42 request-side observation
    Server counter 43 independent readback required

    Long APDU fixture (intentionally unwrapped):

    000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF
    

    Recommended proof order: capture AARQ/AARE, capture HLS action request/response, then read the counter again from a fresh association.


    中文补充:高认证成功日志只能证明认证阶段完成,仍需把后续 GET/SET 的响应与同一连接、同一调用计数器关联起来。
Page 4 of 4