Skip to main content
Home
for DLMS smart meters
Open source solutions for DLMS smart metering

Main navigation

  • Home
  • Products
  • About us
  • Open Source
  • Community
  • Forum
  • Downloads
User account menu
  • Log in

Breadcrumb

  1. Home
  2. Node
  3. Invalid Data Checksum

Invalid data checksum

Forum Rules

Before commenting read Forum rules

Don't comment the topic if you have a new question.

You can create a new topic selecting correct category from Gurux Forum and then create a new topic selecting "New Topic" from the top left.

By thegamingrip , 1 August, 2021
Forums
Gurux.DLMS

Hello, good afternoon. I am new to this topic. But I was able to move on well.

This with a Chesum problem.

My wish is to be able to form hex strings of different orders.

7E A0 14 02 21 03 98 25 BC E6 E6 00 C0 02 C1 00 00 00 01 51 BE 7E

<HDLC len = "13">
<! - Logical address: 1, Physical address: 16 ->
<TargetAddress Value = "90" />
<SourceAddress Value = "1" />
<FrameType Value = "98" />
<PDU>
<GetRequest>
<GetRequestForNextDataBlock>
<! - Priority: High, ServiceClass: Confirmed, Invoke ID: 1 ->
<InvokeIdAndPriority Value = "C1" />
<BlockNumber Value = "00000001" />
</GetRequestForNextDataBlock>
</GetRequest>
</PDU>
</HDLC>

I need to edit <BlockNumber Value = "00000001" /> by 00000002 in the hex string but it brings me the message <! - Invalid data checksum. ->

<!-- Invalid data checksum. -->
<HDLC len="13" >
<!-- Logical address:1, Physical address:16 -->
<TargetAddress Value="90" />
<SourceAddress Value="1" />
<FrameType Value="98" />
<PDU>
<GetRequest>
<GetRequestForNextDataBlock>
<!-- Priority: High, ServiceClass: Confirmed, Invoke ID: 1 -->
<InvokeIdAndPriority Value="C1" />
<BlockNumber Value="00000002" />
</GetRequestForNextDataBlock>
</GetRequest>
</PDU>
</HDLC>

How can I generate my hexadecimal doing the correct chesum ?.

Profile picture for user Kurumi

Kurumi

5 years 1 month ago

Hi,

Hi,

Let the framework generate the frames and use XML client to only read the data. There are several different things that might affect the generated frames.

What you need to do is something like this:
<GetRequest>
<GetRequestNormal>
<InvokeIdAndPriority Value="C1" />
<AttributeDescriptor>
<ClassId Value="0001" />
<InstanceId Value="00002A0000FF" />
<AttributeId Value="02" />
</AttributeDescriptor>
</GetRequestNormal>
</GetRequest>

Change interface type and OBIS code.

BR,
Mikko

thegamingrip

5 years 1 month ago

Hi, Kurumi, sorry my english,

Hi, Kurumi, sorry my english, but if i don't misinterpret can i test the XML code using XMLClient?

thank you answer my questions.

Profile picture for user Kurumi

Kurumi

5 years 1 month ago

Hi,

Hi,

You can use XMLClient to read data from the meter. You define COSEM object (Ex. clock) that you want to read and read it. You can't define what kind of frames the client is sent.

BR,
Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Wed, 08/26/2026 - 09:04
    Gurux.DLMS.Python 1.0.203
  • Mon, 08/17/2026 - 11:28
    Gurux.DLMS.Python 1.0.202
  • Mon, 08/17/2026 - 09:47
    gurux.dlms.cpp 9.0.2608.1701
  • Mon, 08/17/2026 - 09:25
    gurux.dlms.c 9.0.2608.1701
  • Mon, 07/27/2026 - 12:37
    gurux.dlms.cpp 9.0.2607.2701

New forum topics

  • Security vulnerability report — request for a private contact (GuruxDLMS.c / ANSI C)
  • Topic: Insufficient Memory Error When Reading Class 7 Profile Generic Objects
  • SN ReadResponse returns all-null values when response spans multiple HDLC frames
  • Gurux.Serial.Android 3.0.6 – CH340 (HL-340) USB-Serial Adapter Not Working,
  • Trying to talk to a L&G E360 meter (Using Python Gurux)
More

Who's new

  • abuw.01
  • Anaglyfos Trading CC
  • cyby
  • Metin Onan
  • ssv007
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin