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
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
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
Hi Claudio, This is now…
Hi Claudio,
This is now fixed and a new version is available in GitHub.
BR,
Mikko
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
Hi Claudio, Thank you for…
Hi Claudio,
Thank you for this information. This is now fixed and the new version is released.
BR,
Mikko