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. Length In HDLC Framing

Length in HDLC framing

Profile picture for user DrClaudio
By DrClaudio , 22 August, 2023
Project
gurux.dlms.cpp
Status
Closed (fixed)

Dear Mikko, let me please first thank you for your great project.

I hope not to have misunderstood something, but I experienced an issue with MaxInfoRX/TX for HDLC framing.

When I try to change with respect to default value (0x80) they appears not to be working properly when the length of the frame exceeds 0xFF bytes.

If I am not miskaken we should be allow to specify a MaxInfo value up to 2030 bytes (as per GB-Ed11-Section 8.4.3.2).

Nevertheless, I had a look in the code and if we change in file GXDLMS.cpp in line 365 [in function CGXDLMS::GetHdlcFrame()]:

else
{
len = frameSize;
// More data to left.
reply.SetUInt8(0xA8 | ((len >> 8) & 0x7));
}

with this code:

else
{
len = frameSize;
// More data to left.
reply.SetUInt8(0xA8 | ((7 + primaryAddress.GetSize() +
secondaryAddress.GetSize() + len >> 8) & 0x7));
}

it then appears to be working.

I found the "issue" by giving these line-commands (actually I added to the server code example the management for -f and -w options):

./bin/gurux.dlms.server.bin -t Verbose -T 4775727578313233 -A "D0A1A2A3A4A5A6A7A8A9AAABACADAEAF" -B "300102030405060708090A0B0C0D0E0F" -f 516 -w 1

./bin/gurux.dlms.client.bin -c 16 -s 1 -h localhost -p 4061 -r ln -i HDLC -t "Verbose" -T "4775727578313233" -A D0A1A2A3A4A5A6A7A8A9AAABACADAEAF -B 300102030405060708090A0B0C0D0E0F -V "Suite0" -f 512 -w 2

Hope not to waste your time. Thank you
Kind regards
Claudio

Priority
Normal
Category
Bug report
Profile picture for user DrClaudio

DrClaudio

2 years 9 months ago

Excuse me Mikko, actually…

Excuse me Mikko, actually the code should be:

else
{
len = frameSize;
// More data to left.
reply.SetUInt8(0xA8 | (((7 + primaryAddress.GetSize() + secondaryAddress.GetSize() + len) >> 8) & 0x7));
}

being the parenthesis the difference.

This is the log I get (client side) with '-f 2000' option:

SNRM/UA
TX: 13:48:32 7E A0 20 03 21 93 7D D9 81 80 14 05 02 07 D0 06 02 07 D0 07 04 00 00 00 02 08 04 00 00 00 02 CF 68 7E
RX: 13:48:32 7E A0 20 21 03 73 73 98 81 80 14 05 02 07 D0 06 02 07 D0 07 04 00 00 00 01 08 04 00 00 00 01 3A F2 7E

AARQ+AARE:
TX: 13:48:32 7E A0 2B 03 21 10 FB AF E6 E6 00 60 1D A1 09 06 07 60 85 74 05 08 01 01 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF B3 E2 7E
RX: 13:48:32 7E A0 37 21 03 30 6C 7C E6 E7 00 61 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 BE 10 04 0E 08 00 06 5F 1F 04 00 00 1E 5D 04 00 00 07 C2 67 7E

Get Association View:
TX: 13:48:32 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 02 00 91 53 7E
RX: 13:48:32 7E A4 0C 21 03 52 8F 9D E6 E7 00 C4 02 C1 00 00 00 00 01 00 82 03 F4 01 19 02 04 12 00 0F 11 02 09 06 00 00 28 00 00 FF 02 02 01 0B 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 02 03 0F 0A 16 01 00 02 03 0F 0B 16 01 00 01 06 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 02 0F 04 16 00 02 02 0F 05 16 00 02 02 0F 06 16 00 02 04 12 00 17 11 01 09 06 00 00 16 00 00 FF 02 02 01 09 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 00 02 04 12 00 40 11 01 09 06 00 00 2B 00 00 FF 02 02 01 06 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 01 08 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 02 0F 04 16 00 02 02 0F 05 16 00 02 02 0F 06 16 00 02 02 0F 07 16 00 02 02 0F 08 16 00 02 04 12 00 01 11 00 09 06 00 00 2A 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 00 00 02 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 03 11 00 09 06 01 01 15 19 00 FF 02 02 01 03 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 01 01 02 02 0F 01 16 00 02 04 12 00 08 11 00 09 06 00 00 01 00 00 FF 02 02 01 09 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 06 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 02 0F 04 16 00 02 02 0F 05 16 00 02 02 0F 06 16 00 02 04 12 00 07 11 00 09 06 01 00 63 01 00 FF 02 02 01 08 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 1D 11 02 09 06 00 00 02 01 00 FF 02 02 01 06 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 01 01 02 02 0F 01 16 00 02 04 12 00 14 11 00 09 06 00 00 0D 00 00 FF 02 02 01 0A 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 02 03 0F 0A 16 01 00 01 01 02 02 0F 01 16 00 02 04 12 00 13 11 01 09 06 00 00 14 00 00 FF 02 02 01 09 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 00 02 04 12 00 05 11 00 09 06 01 00 1F 04 00 FF 02 02 01 09 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 FF E6 7E
TX: 13:48:32 7E A0 13 03 21 54 F1 02 E6 E6 00 C0 02 C1 00 00 00 01 51 BE 7E
RX: 13:48:32 7E A2 E9 21 03 74 FE 38 E6 E7 00 C4 02 C1 01 00 00 00 02 00 82 02 D1 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 15 11 00 09 06 00 00 10 01 00 FF 02 02 01 04 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 01 00 02 04 12 00 16 11 00 09 06 00 00 0F 00 00 FF 02 02 01 04 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 01 00 02 04 12 00 11 11 00 09 06 00 00 29 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 01 02 02 0F 01 16 00 02 04 12 00 1C 11 00 09 06 00 00 02 02 00 FF 02 02 01 06 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 01 00 02 04 12 00 1B 11 00 09 06 00 00 02 00 00 FF 02 02 01 04 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 01 00 02 04 12 00 2B 11 00 09 06 00 00 19 02 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 2A 11 00 09 06 00 00 19 01 00 FF 02 02 01 0A 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 02 03 0F 0A 16 01 00 01 03 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 04 12 00 28 11 00 09 06 00 07 19 09 00 FF 02 02 01 07 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 01 01 02 02 0F 01 16 00 02 04 12 00 12 11 00 09 06 00 00 2C 00 00 FF 02 02 01 07 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 01 04 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 02 0F 04 16 00 02 04 12 00 09 11 00 09 06 00 00 0A 00 64 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 01 02 02 0F 01 16 00 02 04 12 00 0A 11 00 09 06 00 00 0C 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 03 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 05 CB 7E

Profile picture for user Kurumi

Kurumi

2 years 9 months ago

Hi Claudio, Thank you from…

Hi Claudio,

Thank you from this info. The maximum size really is 2030 bytes.
I checked this and it seems to be correct for all other programming languages, but there is an issue with ANSI C++.

This is now on testing and the new version is released during the next week after the tests are over.

BR,
Mikko

Profile picture for user Kurumi

Kurumi

2 years 9 months ago

In reply to Hi Claudio, Thank you from… by Kurumi

Hi Claudio, This is now…

Hi Claudio,

This is now fixed and a new version is available in GitHub.

BR,
Mikko

Profile picture for user DrClaudio

DrClaudio

2 years 9 months ago

In reply to Hi Claudio, This is now… by Kurumi

Thank you Mikko, but may be,…

Thank you Mikko, but may be, it might be better to use, in line 365 in file GXDLMS.cpp, the value 0xA8 instead of 0xA0. That is:

reply.SetUInt8(0xA8 | (((7 + primaryAddress.GetSize() +
secondaryAddress.GetSize() + len) >> 8) & 0x7));

in fact, in this way the 12th bit of the HDLC 'Frame format' field would represent the active state of the 'HDLC segmentation'.

For instance if you specify a '-f 251' option (Server side) and '-f 2000' option (Client side) like here:

./bin/gurux.dlms.client.bin -c 16 -s 1 -i WRAPPER -h localhost -p 4061 -t Verbose -r ln -i HDLC -T "4775727578313233" -A D0A1A2A3A4A5A6A7A8A9AAABACADAEAF -B 300102030405060708090A0B0C0D0E0F -V "Suite0" -f 2000 -w 1 -P "Claudio" -a "None" -C "None"

./bin/gurux.dlms.server.bin -t Verbose -T 4775727578313233 -A "D0A1A2A3A4A5A6A7A8A9AAABACADAEAF" -B "300102030405060708090A0B0C0D0E0F" -f 251 -w 2 -P "Claudio"

You'll get this log (client side) where you have values in the frame format field like 0xA901 (that means: {Segmentation active, len=0x0101=257}):

SNRM+UA
TX: 16:43:30 7E A0 20 03 21 93 7D D9 81 80 14 05 02 07 D0 06 02 07 D0 07 04 00 00 00 01 08 04 00 00 00 01 3A F2 7E
RX: 16:43:30 7E A0 1E 21 03 73 C3 7A 81 80 12 05 01 FB 06 01 FB 07 04 00 00 00 01 08 04 00 00 00 01 83 22 7E

AARQ+AARE:
TX: 16:43:30 7E A0 2B 03 21 10 FB AF E6 E6 00 60 1D A1 09 06 07 60 85 74 05 08 01 01 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF B3 E2 7E
RX: 16:43:30 7E A0 37 21 03 30 6C 7C E6 E7 00 61 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 BE 10 04 0E 08 00 06 5F 1F 04 00 00 1E 19 04 00 00 07 F0 8B 7E

Get Association View:

TX: 16:43:30 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 02 00 91 53 7E
RX: 16:43:30 7E A9 01 21 03 52 74 6A E6 E7 00 C4 02 C1 00 00 00 00 01 00 82 03 F4 01 19 02 04 12 00 0F 11 02 09 06 00 00 28 00 00 FF 02 02 01 0B 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 02 03 0F 0A 16 01 00 02 03 0F 0B 16 01 00 01 06 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 02 0F 04 16 00 02 02 0F 05 16 00 02 02 0F 06 16 00 02 04 12 00 17 11 01 09 06 00 00 16 00 00 FF 02 02 01 09 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 00 02 04 12 00 40 11 01 09 06 00 00 2B 00 32 BC 7E
TX: 16:43:30 7E A0 07 03 21 51 11 E4 7E
RX: 16:43:30 7E A9 01 21 03 54 42 0F 00 FF 02 02 01 06 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 01 08 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 02 0F 04 16 00 02 02 0F 05 16 00 02 02 0F 06 16 00 02 02 0F 07 16 00 02 02 0F 08 16 00 02 04 12 00 01 11 00 09 06 00 00 2A 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 00 00 02 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 01 11 00 09 06 01 01 00 00 01 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 03 11 00 09 06 01 1B 09 7E
TX: 16:43:30 7E A0 07 03 21 71 13 C5 7E
RX: 16:43:30 7E A9 01 21 03 56 50 2C 01 15 19 00 FF 02 02 01 03 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 01 01 02 02 0F 01 16 00 02 04 12 00 08 11 00 09 06 00 00 01 00 00 FF 02 02 01 09 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 06 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 02 0F 04 16 00 02 02 0F 05 16 00 02 02 0F 06 16 00 02 04 12 00 07 11 00 09 06 01 00 63 01 00 FF 02 02 01 08 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 D3 2D 7E
TX: 16:43:30 7E A0 07 03 21 91 1D 22 7E
RX: 16:43:30 7E A9 01 21 03 58 2E C5 04 12 00 1D 11 02 09 06 00 00 02 01 00 FF 02 02 01 06 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 01 01 02 02 0F 01 16 00 02 04 12 00 14 11 00 09 06 00 00 0D 00 00 FF 02 02 01 0A 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 02 03 0F 0A 16 01 00 01 01 02 02 0F 01 16 00 02 04 12 00 13 11 01 09 06 00 00 14 00 00 FF 02 02 01 09 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 FC C2 7E
TX: 16:43:30 7E A0 07 03 21 B1 1F 03 7E
RX: 16:43:30 7E A0 2C 21 03 5A 84 B3 00 02 04 12 00 05 11 00 09 06 01 00 1F 04 00 FF 02 02 01 09 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 93 B0 7E
TX: 16:43:30 7E A0 13 03 21 D4 F9 86 E6 E6 00 C0 02 C1 00 00 00 01 51 BE 7E
RX: 16:43:30 7E A9 01 21 03 7C 08 A2 E6 E7 00 C4 02 C1 01 00 00 00 02 00 82 02 D1 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 02 02 02 0F 01 16 00 02 02 0F 02 16 00 02 04 12 00 15 11 00 09 06 00 00 10 01 00 FF 02 02 01 04 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 01 00 02 04 12 00 16 11 00 09 06 00 00 0F 00 00 FF 02 02 01 04 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 01 00 02 04 12 00 11 11 00 09 06 00 00 29 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 01 02 02 0F 01 16 00 02 04 12 00 1C 11 00 09 06 00 00 02 02 00 FF 02 02 01 06 02 03 0F 01 16 01 00 02 03 0F 02 16 01 81 34 7E
TX: 16:43:30 7E A0 07 03 21 F1 1B 41 7E
RX: 16:43:30 7E A9 01 21 03 7E 1A 81 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 01 00 02 04 12 00 1B 11 00 09 06 00 00 02 00 00 FF 02 02 01 04 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 01 00 02 04 12 00 2B 11 00 09 06 00 00 19 02 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 00 02 04 12 00 2A 11 00 09 06 00 00 19 01 00 FF 02 02 01 0A 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 02 03 0F 0A 16 01 00 01 03 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 04 12 00 28 11 00 09 06 00 07 19 09 00 FF 02 02 01 07 02 03 0F 01 16 61 DC 7E
TX: 16:43:30 7E A0 07 03 21 11 15 A6 7E
RX: 16:43:30 7E A0 F9 21 03 70 F3 AB 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 01 01 02 02 0F 01 16 00 02 04 12 00 12 11 00 09 06 00 00 2C 00 00 FF 02 02 01 07 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 01 04 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 02 0F 04 16 00 02 04 12 00 09 11 00 09 06 00 00 0A 00 64 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 01 02 02 0F 01 16 00 02 04 12 00 0A 11 00 09 06 00 00 0C 00 00 FF 02 02 01 02 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 01 03 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 35 2D 7E.

Leaving 0xA0 in line 365 of file GXDLMS.cpp I get a value like 0xA101 (that means: {Segmentation NOT active, len=0x0101=257}) for the HDLC 'Frame format' field, and then, a run-time segmentation fault (server side):

SNRM+UA:
RX: 7E A0 20 03 21 93 7D D9 81 80 14 05 02 07 D0 06 02 07 D0 07 04 00 00 00 01 08 04 00 00 00 01 3A F2 7E
TX: 7E A0 1E 21 03 73 C3 7A 81 80 12 05 01 FB 06 01 FB 07 04 00 00 00 01 08 04 00 00 00 01 83 22 7E
AARQ+AARE:
RX: 7E A0 2B 03 21 10 FB AF E6 E6 00 60 1D A1 09 06 07 60 85 74 05 08 01 01 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 5D FF FF B3 E2 7E
Connected.
Server Address: 0
TX: 7E A0 37 21 03 30 6C 7C E6 E7 00 61 29 A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 00 BE 10 04 0E 08 00 06 5F 1F 04 00 00 1E 19 04 00 00 07 F0 8B 7E

Get association view:
RX: 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 0F 00 00 28 00 00 FF 02 00 91 53 7E
TX: 7E A1 01 21 03 52 54 30 E6 E7 00 C4 02 C1 00 00 00 00 01 00 82 03 F4 01 19 02 04 12 00 0F 11 02 09 06 00 00 28 00 00 FF 02 02 01 0B 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 02 03 0F 0A 16 01 00 02 03 0F 0B 16 01 00 01 06 02 02 0F 01 16 00 02 02 0F 02 16 00 02 02 0F 03 16 00 02 02 0F 04 16 00 02 02 0F 05 16 00 02 02 0F 06 16 00 02 04 12 00 17 11 01 09 06 00 00 16 00 00 FF 02 02 01 09 02 03 0F 01 16 01 00 02 03 0F 02 16 01 00 02 03 0F 03 16 01 00 02 03 0F 04 16 01 00 02 03 0F 05 16 01 00 02 03 0F 06 16 01 00 02 03 0F 07 16 01 00 02 03 0F 08 16 01 00 02 03 0F 09 16 01 00 01 00 02 04 12 00 40 11 01 09 06 00 00 2B 00 32 BC 7E
RX: 7E A0 2E 03 21 54 8C C5 E6 E6 00 C0 03 C1 03 00 01 00 00 2A 00 00 FF 02 00 00 03 01 01 15 19 00 FF 02 00 00 05 01 00 1F 04 00 FF 03 00 E6 EA 7E
zsh: segmentation fault ./bin/gurux.dlms.server.bin -t Verbose -T 4775727578313233 -A -B -f 251 -w

Thank you again and sorry to bother you.

Regards,
Claudio

Profile picture for user Kurumi

Kurumi

2 years 9 months ago

In reply to Thank you Mikko, but may be,… by DrClaudio

Hi Claudio, Thank you for…

Hi Claudio,

Thank you for this information. This is now fixed and the new version is released.

BR,
Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Tue, 06/09/2026 - 11:16
    gurux.dlms.java 4.0.95
  • Tue, 06/09/2026 - 10:03
    Gurux.DLMS.Python 1.0.199
  • Mon, 06/08/2026 - 13:39
    gurux.dlms.cpp 9.0.2606.0801
  • Mon, 06/01/2026 - 10:15
    gurux.dlms.cpp 9.0.2606.0101
  • Thu, 05/28/2026 - 16:06
    gurux.dlms.java 4.0.94

New forum topics

  • Error reading L&G Meter
  • Pass a TCP Client to GXNet
  • Australian EDMI Mk10D (Essential Energy area)
  • Strange mix of data notificiation vs get response
  • DLMS Connection
More
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin