Hi,
I am trying to perform firmware upgrade to the meter, using the C source code available in github by modifying the code slightly.
Modifications:-
1. Commented all objects read. Post connection establishment, i have called imageupdatefromfile() function.
if (/*(ret = com_initializeOpticalHead(connection)) != 0 || */
(ret = com_updateInvocationCounter(connection, invocationCounter)) != 0 ||
/*(ret = com_initializeOpticalHead(connection)) != 0 || */
(ret = com_initializeConnection(connection)) != 0 ||
(ret = imageUpdateFromFile(connection, Firmware_Identifier, "src/Smart100 Ver_1045.09.bin")) != 0
/* ||
(ret = com_readAllObjects(connection, outputFile)) != 0*/)
//Read all objects from the meter.
{
//Error code is returned at the end of the function.
}
2. Modified readData() function as shown below,
int readData(connection *connection, gxByteBuffer *data, int *index)
{
int ret = 0;
if (connection->comPort != INVALID_HANDLE_VALUE)
{
/*Changes done by Murali*/
if(connection->settings.interfaceType == DLMS_INTERFACE_TYPE_HDLC)
{
if ((ret = com_readSerialPort(connection, 0x7E)) != 0)
{
return ret;
}
}
else if(connection->settings.interfaceType == DLMS_INTERFACE_TYPE_WRAPPER)
{
if ((ret = com_readSerialPort(connection, 0x00)) != 0)
{
return ret;
}
}
/*Changes done by Murali End*/
}
3. Since i use binary file format, commented bb_addhexstring() function inside imageupdatefromfile() function.
while (feof(f) == 0)
{
imagesize = fread(image, sizeof(char), sizeof(image) - 1, f);
image[imagesize] = 0;
//bb_addHexString(&bb, image);
bb_set(&bb, image, imagesize);
}
Issues:-
1. During Image transfer stage, i receive an error saying Invalid frame. But image transfer continues with some delay after each block transfer. What might be the reason for this delay and invalid frame?
.
2. Post image transfer stage, code is indefinitely sending image transfer status read command. This is also receiving the same error saying invalid frame.
Request you to let me know what could be the reason.
Sharing the essential info for your reference.
1. Input while running the executable/output file along with password and system title.
./bin/gurux.dlms.client.bin -S /dev/ttyUSB0 -a High -c 80 -s 1 -i
i HDLC -t Verbose -C AuthenticationEncryption -v 0.0.43.1.5.255 -I -A 32323232323232323232323232323232 -B 32323232323232323232323232323232
2. Log for Connection Establishment.
TX: 7E A0 07 03 21 93 0F 01 7E
RX: 7E A0 1E 21 03 73 C3 7A 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
TX: 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 40 1E 1D FF FF E7 25 7E
RX: 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 00 10 02 8A 00 07 8A 95 7E
TX: 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 01 00 00 2B 01 05 FF 02 00 2A E1 7E
RX: 7E A0 15 21 03 52 5D 8A E6 E7 00 C4 01 C1 00 06 00 00 00 00 7D 18 7E
TX: 7E A0 07 03 21 53 03 C7 7E
RX: 7E A0 1E 21 03 73 C3 7A 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
TX: 7E A0 07 03 A1 93 C3 8D 7E
RX: 7E A0 1E A1 03 73 2F 76 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
TX: 7E A0 6B 03 A1 10 80 35 E6 E6 00 60 5D A1 09 06 07 60 85 74 05 08 01 03 A6 0A 04 08 48 50 4C 37 32 39 39 38 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 70 38 9C CE 67 B3 59 AC 56 AB 55 2A 15 8A 45 22 BE 23 04 21 21 1F 30 00 00 00 01 12 2B ED FC CC 50 9E EF E5 1B B2 7C 41 AE F7 CB 9D E4 A2 94 3D 6A 29 F9 51 4A CE 99 7E
RX: 7E A0 77 A1 03 30 37 66 E6 E7 00 61 69 A1 09 06 07 60 85 74 05 08 01 03 A2 03 02 01 00 A3 05 A1 03 02 01 0E A4 0A 04 08 48 50 4C 00 00 14 92 CE 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12 80 10 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 BE 23 04 21 28 1F 30 00 00 00 00 1C 86 26 11 74 90 5F 05 60 2B CA 2F 20 14 41 4A DC 2A F1 91 BB 4B 1A DA F9 F5 C0 45 7E
TX: 7E A0 3E 03 A1 32 D1 8C E6 E6 00 CB 30 30 00 00 00 03 8E FE BA FF F5 36 58 96 7B 05 4D 43 F3 7D F4 D7 7C 0C 73 CF 02 E6 B8 8D B2 3D C4 A8 BF 70 C7 E9 E1 1F C4 D2 4F 04 61 1E AE 09 73 47 12 7E
RX: 7E A0 37 A1 03 52 94 30 E6 E7 00 CF 29 30 00 00 00 01 4F 58 DB 4E D9 2D 7E 96 9E 86 B0 B3 37 DD FB BB 79 AD FA 3C 4D 2D A9 60 62 74 4D 20 42 8F 17 02 38 F0 97 80 A8 F0 7E
3. Log for Firmware upgrade process.
TX: 7E A0 2C 03 A1 54 36 70 E6 E6 00 C8 1E 30 00 00 00 04 C9 9A 9A C4 30 46 F1 6D AC F2 41 A9 95 D7 55 8F 7B 89 B2 D3 D1 48 06 30 9D 11 54 7E
RX: 7E A0 25 A1 03 74 77 8E E6 E7 00 CC 17 30 00 00 00 02 E8 16 EC A6 48 BA A0 C9 77 5B 94 65 25 88 40 80 8D 71 21 11 7E
Image Block Size
TX: 7E A0 2C 03 A1 76 26 72 E6 E6 00 C8 1E 30 00 00 00 05 34 7D 59 66 E0 F9 AA B9 C7 7B 15 5B 6A 48 A5 45 C7 60 9F 98 A9 B5 A2 34 DD 2E BA 7E
RX: 7E A0 28 A1 03 96 E4 C1 E6 E7 00 CC 1A 30 00 00 00 03 83 39 BE 33 49 65 B8 45 97 BA 0F CB F1 6A DE 0D 46 35 7B B0 39 AF 4B 7E
Previous Image transferred Block Status
TX: 7E A0 2C 03 A1 98 56 7C E6 E6 00 C8 1E 30 00 00 00 06 21 D7 22 38 99 B3 31 BC 15 03 A4 F2 4A 16 95 3E 79 A0 80 6C 81 EF 18 40 A2 1B 9A 7E
RX: 7E A0 25 A1 03 B8 17 82 E6 E7 00 CC 17 30 00 00 00 04 22 42 EE 76 10 BF 2D A7 8D C4 1E 8F 8A F8 A0 A1 A4 9D E4 D3 7E
TX: 7E A0 4A 03 A1 BA 38 AC E6 E6 00 CB 3C 30 00 00 00 07 A4 F5 F7 6A 28 2A 92 68 35 7E 98 12 00 9B 86 27 65 B9 38 9F 13 36 10 3C BC 91 76 E2 BD 01 1A AF 38 EA C5 E7 A6 34 BB 29 2C 7C 05 2F 0F 00 21 70 60 89 AD C9 52 B4 5B 04 0A 7E
RX: 7E A0 07 A1 03 D1 F5 CA 7E 7E A0 24 A1 03 DA B8 DE E6 E7 00 CF 16 30 00 00 00 05 DA 0D E2 0D D3 1C 5B 88 CB BA 3B F9 81 A0 B0 ED 32 ED E5 7E
Image transfer Status
TX: 7E A0 2C 03 A1 DC 76 78 E6 E6 00 C8 1E 30 00 00 00 08 23 E4 11 DE 64 2F 22 71 8B E8 C6 DA 5E 3A 11 16 76 7F AA 45 7F F7 CB DD 63 2E C6 7E
RX: 7E A0 25 A1 03 FC 37 86 E6 E7 00 CC 17 30 00 00 00 06 54 9C 14 DD A1 3E DC 67 36 D6 0B DA E0 D5 89 DD A1 D6 80 98 7EInvalid frame FC. Expected FA.
Data send failed. Try to resend 1/3
7E A0 07 A1 03 1F 87 E5 7E
imageSize: 253184
TX: 7E A8 86 03 A1 FE D5 5E E6 E6 00 CB 82 01 29 30 00 00 00 09 8B 0E F8 10 4F 52 F7 CB 0A 5C B5 95 3B 33 BD 82 E2 08 8B 3B 7A 7C 48 FC 64 5E A3 B2 6E 4D DE 83 AB 62 66 FD 23 32 B7 6F 4F 85 19 10 98 E3 40 83 A0 95 A5 7D 42 89 03 E8 0D 05 C7 B4 E5 6C 6B EC 08 41 76 F2 07 A5 76 E2 D9 85 7E 1F AB 89 7C 06 11 18 30 21 CB 4F 89 70 0F B0 27 03 CC 7D 9A EE 53 46 69 8D BE 3D 06 C6 E7 0A 16 D8 0A 5D 0F B1 04 BD 06 7E
RX: 7E A0 07 A1 03 11 F9 0C 7E
TX: 7E A8 89 03 A1 F0 52 05 13 89 C0 FD 9B 63 57 94 13 A1 D7 19 72 93 39 E6 31 2E F9 3D 05 73 A2 A8 00 15 56 2A B8 5E EC 85 97 7D 7B 7B CD 93 06 A6 7A A4 AB 68 D0 C4 DC 10 BF F3 9B 52 2B 56 C2 82 DC 01 8F 95 8E BB 06 C0 30 CC 16 18 5D F6 ED BC 31 F0 13 91 EC 4A 57 A8 9E C8 8F 3D 18 65 1E 9C 5C E8 1B 94 34 4C D9 88 B4 66 DF FE AB 6E BB 26 90 8B 30 C2 32 14 D5 C5 73 6A 8E FB 53 C5 23 7C 4A A5 AE 0C A2 B5 2F 90 F1 E6 7E
RX: 7E A0 07 A1 03 31 FB 2D 7E
TX: 7E A0 3C 03 A1 F2 AB 73 D2 6A 40 4A 26 90 CB DD 66 66 30 E2 B4 56 A8 AD 5B 7C D0 12 BE AC 1C 8D CA F8 57 5F 80 60 E4 D5 F6 A2 AF 68 EE 73 02 47 68 B0 D4 76 F6 B9 8A BE F1 3D 77 66 68 7E
RX: 7E A0 24 A1 03 5E 94 1C E6 E7 00 CF 16 30 00 00 00 07 2A B0 D4 45 25 D9 95 81 B1 10 01 F5 AB 70 E6 A2 9C 3F 88 7EInvalid frame 5E. Expected 3A.
Data send failed. Try to resend 1/3
7E A0 07 A1 03 1F 87 E5 7E
imageSize: 252928
TX: 7E A8 86 03 A1 14 81 16 E6 E6 00 CB 82 01 29 30 00 00 00 0A 69 1F 7C 2A D5 9D B4 EC 3D 6C 67 21 D7 87 24 21 53 A2 F7 B9 42 81 39 7F 64 0D A4 37 23 34 08 61 BE 49 E7 68 E2 66 F6 9E 7B 68 FE 27 49 59 88 43 F9 C2 8B 89 67 B4 9F 06 8E A1 F4 D9 1D 48 09 50 63 15 37 28 AD B2 82 BC 78 5A C4 F5 1F F7 61 77 67 A1 FD 10 90 C3 B9 3D BF 25 9E 10 D5 15 E6 41 5A B7 78 A6 90 16 8C AC F6 D6 40 41 07 8A BF C0 02 98 DD 7E
RX: 7E A0 07 A1 03 71 FF 6F 7E
TX: 7E A8 89 03 A1 16 6A 87 E3 2A 36 E6 5D D5 71 DF ED DD 7C 3B 06 AE FE B9 81 2D 19 54 4E 36 C4 BA E8 44 19 D8 E5 B2 F0 88 9A 87 D8 64 3B 9F 16 74 5C 7E 2A F0 28 64 30 67 90 9C 05 D4 D1 57 D0 0E B7 94 9E 8D D5 67 95 7B 1E B0 80 D2 54 B3 EA FA B7 B1 B9 ED 89 B0 62 FB 99 DF EF DC 5B CE 8D 12 F2 CF 49 D1 D4 A9 A4 0A 24 E5 AD 1D FB E9 49 D0 73 BA 79 BF 0C B9 91 F4 86 1F 7B D1 A5 02 36 A7 BE 3D 2F 6E 35 70 29 62 C8 1D 7E
RX: 7E A0 07 A1 03 91 F1 88 7E
TX: 7E A0 3C 03 A1 18 FF 3B BA 66 06 FD FA 8B 8C 79 21 5F D5 AE 6A E1 29 EC 2C D4 1F D3 B7 2C 3A 4F 78 FE 08 8A F1 1A 78 7D A4 53 29 41 2B 20 F5 FE C9 D9 E2 F3 E0 A7 FA 3C 98 3E 66 28 2C 7E
RX: 7E A0 24 A1 03 B0 E4 12 E6 E7 00 CF 16 30 00 00 00 08 0F FA FF A8 72 A0 7B E5 C4 48 CF 53 BC E8 06 C4 5B 9F 73 7EInvalid frame B0. Expected 7A.
Data send failed. Try to resend 1/3
7E A0 07 A1 03 1F 87 E5 7E
imageSize: 252672
TX: 7E A8 86 03 A1 3A FD DE E6 E6 00 CB 82 01 29 30 00 00 00 0B 9D C2 C8 56 93 3D F5 D9 D5 ED 5A 08 2B D5 A7 AA 3D A8 B2 DB 1F 9B 47 B4 82 B6 C0 A2 9C 40 0D B3 C0 3B AB 80 AE 80 47 90 58 7B 3D 08 D8 CA A8 C9 36 A8 82 AD 42 25 4F 0E 6D 23 30 F3 B3 66 73 63 36 EF 46 28 8A 9F A6 4E C3 DF DE A4 4F C7 08 FA D9 09 9C 56 86 CF BE B4 AB D5 47 06 42 14 F8 9A F7 02 79 07 83 F4 54 B3 F5 FB 8A A5 C2 2C E0 02 F6 EE 8C 7E
RX: 7E A0 07 A1 03 D1 F5 CA 7E
TX: 7E A8 89 03 A1 3C 32 09 70 2F 3B 5E 1B 70 DF ED 52 6D 3D F3 98 19 3A B3 C0 13 D9 B1 35 86 9D 47 2E 03 36 F7 6A 06 F1 FC 5B 73 1E CF C2 FB CA 5A D1 61 2A CD D9 5C 03 90 86 64 F5 04 EA 5A EC 6B 3E D0 9A 6C 98 DD 98 4D EC 40 C1 85 4F 5A AD E2 FD 24 29 A4 51 0D 93 C0 87 CB 56 A1 A8 85 E6 A0 5C 9E 8A 6F F5 19 B2 69 C6 78 32 4C C0 5E ED D7 BD 86 B4 FA 16 9F 72 6F 4B 3C DD A3 84 89 D2 2B 85 68 00 19 DC C9 AE 8A 91 E7 7E
RX: 7E A0 07 A1 03 F1 F7 EB 7E
TX: 7E A0 3C 03 A1 3E CB 7F 5C DC E3 07 17 71 EA BE A0 D3 B6 65 DB 96 DE A5 03 95 91 7B D6 EA B3 E2 CD 5C 73 3A 84 66 8C FF CF BF 32 73 43 97 D0 DE 16 69 6C 33 B2 09 1A 90 7F B3 EF FC EB 7E
RX: 7E A0 24 A1 03 12 FC 94 E6 E7 00 CF 16 30 00 00 00 09 6B 5D 46 FF A6 4D 6D 04 33 36 D4 EA 19 EB 48 76 3B 32 84 7EInvalid frame 12. Expected BA.
Data send failed. Try to resend 1/3
7E A0 07 A1 03 1F 87 E5 7E
.
.
.
.
imageSize: 512
TX: 7E A8 86 03 A1 50 A1 12 E6 E6 00 CB 82 01 29 30 00 00 03 E4 86 AE 32 25 A2 0C A1 D4 25 25 73 C1 85 BF 75 2B 7C 56 44 18 5A 50 39 CF FB 8C 6C A5 A7 67 45 3C 46 07 9B 2C 60 F8 06 2B 20 17 83 D2 68 5B 32 0F C2 C2 68 C8 82 F6 55 F1 BA 91 14 8B 3E 86 31 E5 F9 C6 EA 41 18 B7 07 53 A3 BD 43 2B 11 03 7C 85 C9 0A FB 2D 7B 70 63 CA 51 FA E4 B3 96 2C FF FF D0 64 8A 7A 54 BE BB 50 DA 1D 4F F8 E3 4B 4F 79 ED 87 9A 7E
RX: 7E A0 07 A1 03 31 FB 2D 7E
TX: 7E A8 89 03 A1 52 4A 83 F1 69 D6 FD FE C0 24 E8 DB 47 1F 2B B9 2B 16 F2 04 6A 6A 8D E1 CB 35 07 D6 49 5E B1 3B 0E 12 12 5F E7 FB F5 F4 89 71 47 26 FC EC 62 F2 E5 F6 D6 87 84 4A E4 FC 01 85 B4 FF 36 56 2F 6E 64 13 F2 F1 FB DF B6 11 4E 71 97 53 D2 34 AE C4 54 C7 65 62 A9 41 02 33 A7 75 DE CF 60 5A 8B 2C 62 91 5E B0 C5 1C BB A1 0E F6 52 7E 76 CC C2 E6 57 A8 EE 61 66 F8 E8 D2 A9 F4 CA 89 32 6C A5 BC AF D0 EB BD 2B 7E
RX: 7E A0 07 A1 03 51 FD 4E 7E
TX: 7E A0 3C 03 A1 54 97 B3 83 69 F3 CD 6E 8C 48 DE 5F E8 BE 92 0A B3 6C 9C 58 A8 E4 14 D9 8F CE 15 55 51 D0 E0 25 EA 4E 0E 2F 27 52 69 F2 B8 A3 2C 9E 9B 5E AE 73 32 56 43 B0 C5 C1 0C 92 7E
RX: 7E A0 24 A1 03 74 CC 92 E6 E7 00 CF 16 30 00 00 03 E2 DA C9 C1 E6 EF D5 7A 46 09 9E C4 8D 41 64 23 3D 3D 1D EC 7EInvalid frame 74. Expected FA.
Data send failed. Try to resend 1/3
7E A0 07 A1 03 1F 87 E5 7E
imageSize: 256
TX: 7E A8 86 03 A1 76 95 56 E6 E6 00 CB 82 01 29 30 00 00 03 E5 1A 07 6B 53 6B F8 A8 70 4A 00 30 D7 D7 C7 B8 F9 D8 D2 28 27 CA 4D EB 8C BA AF 16 3B 99 73 76 F3 64 BF C6 88 FB A4 4F B5 82 0D 94 66 60 2F AD 25 AB 24 75 4C 51 6E 3D E3 F5 8E 56 6E 34 08 EA D3 00 23 08 CE 76 3E 98 EF C1 7A FE 2C 7E A8 F5 CF C5 6E EB E7 F3 86 9E 4E A2 C1 E3 E0 6A 68 BE 6C 92 90 61 CB FA F6 F8 AC 99 B3 35 E0 61 9D 3D 4F 66 CD E5 7E
RX: 7E A0 07 A1 03 91 F1 88 7E
TX: 7E A8 89 03 A1 78 12 0D 58 EC 34 39 9B E0 DC 04 8D EC 01 4D 13 3E 4E 6F 7B C5 93 61 57 18 B1 B7 E7 06 C8 0F 05 91 77 EA C1 B1 39 0E 25 2C A3 25 B7 29 35 1A 56 80 0A F4 4D BC EE CB 85 97 AD E3 18 F1 A5 F8 5A 50 34 C2 0A 85 24 65 E1 DD A3 4F 99 C3 91 26 F2 4E D5 F8 D5 46 F2 3B 08 04 F7 CF 6B 23 F7 F8 6D F1 4E 9C 00 54 72 F0 F8 59 4D A8 24 6D 70 D9 9D 98 B4 A6 70 3B 5E 66 F0 58 03 1B 40 2F AB 79 2B 18 A7 A1 33 70 7E
RX: 7E A0 07 A1 03 B1 F3 A9 7E
TX: 7E A0 3C 03 A1 7A EB 7B BD 45 CC 8C CB 96 19 21 A2 FD 15 3C B0 B1 A8 04 4E F8 55 AF 03 F5 A7 3F 55 12 4B BF 27 77 31 5F 59 63 E5 63 AC 49 7C 1D 0C EA 61 7C CE 69 1F 73 5C 6F 37 11 8B 7E
RX: 7E A0 24 A1 03 D6 D4 14 E6 E7 00 CF 16 30 00 00 03 E3 86 AD 77 3A 4D 1E 57 50 00 77 4D 92 03 4A 54 19 10 25 74 7EInvalid frame D6. Expected 3A.
Data send failed. Try to resend 1/3
7E A0 07 A1 03 1F 87 E5 7E
Image transfer Status
TX: 7E A0 2C 03 A1 9C 72 3A E6 E6 00 C8 1E 30 00 00 03 E6 01 55 A6 3E 22 AB 89 22 1E E3 68 CB 67 4A 47 43 06 CC 05 B5 E3 DA 69 0A 54 5F 90 7E
RX: 7E A0 25 A1 03 F8 13 C0 E6 E7 00 CC 17 30 00 00 03 E4 F8 94 F9 13 2F FF A0 E6 2B 82 FF 43 67 BD 20 E0 0E BA 0A 8D 7EInvalid frame F8. Expected 3A.
Data send failed. Try to resend 1/3
7E A0 07 A1 03 1F 87 E5 7E
TX: 7E A0 2E 03 A1 BE 14 01 E6 E6 00 CB 20 30 00 00 03 E7 79 2D 7F 02 3E D5 BA 3B 94 8B EA 0E 1A 41 08 19 6A 09 4B D2 A7 9C 21 7F 0A EF 5A E6 AB 7E
RX: 7E A0 24 A1 03 1A B4 18 E6 E7 00 CF 16 30 00 00 03 E5 66 32 B9 FC F1 3A 74 05 2F D4 C3 DD 60 71 40 78 46 03 E9 7EInvalid frame 1A. Expected 3A.
Data send failed. Try to resend 1/3
7E A0 07 A1 03 1F 87 E5 7E
Image transfer Status
TX: 7E A0 2C 03 A1 D0 1A B2 E6 E6 00 C8 1E 30 00 00 03 E8 9E FC 73 00 BE A3 E7 79 F4 B2 58 15 C9 FE B4 AA 73 5D C9 AD A2 B1 98 17 3A 37 8D 7E
RX: 7E A0 25 A1 03 3C 3B 40 E6 E7 00 CC 17 30 00 00 03 E6 E9 8A C4 77 F8 B9 85 C5 E6 E8 A8 0F 7E C9 2B 50 A8 D7 96 7C 7EInvalid frame 3C. Expected 3A.
Data send failed. Try to resend 1/3
7E A0 07 A1 03 1F 87 E5 7E
.
.
.
.
Continues indefinitely
Regards
Murali
Hi, There Invalid frame…
Hi,
There Invalid frame error when you try to read the Image transfer status.
Check that you are not generating two reads and not sending the other because the frame counter is wrong.
The image verify returns an InconsistentClass error. You need to check the error code. It might be that image verification is not implemented to the meter. Check the method access rights level with GXDMSDirector, and if its value is No Access, don't call it.
BR,
Mikkko
BR,
Mikko
Hi, I have taken care of…
Hi,
I have taken care of your advice, but still "Invalid frame" error persists during image transfer. And as per my understanding, since the block size is 256Bytes, 2 packets each of 128 bytes should be transmitted. But three packets are being transmitted with lengths 122,128 and 51 Bytes respectively.
Could you help me in solving it.
Here is the modified code and log:
----------------------------------------------------------------------------------------------
Code:-
//1. Image_transfer_enabled is read.
if ((ret = com_read(connection, BASE(im), 5)) == 0 &&
//2. Image block size is read.
(ret = com_read(connection, BASE(im), 2)) == 0 &&
//3. image_transferred_blocks_status is read to check is image try to update before.
(ret = com_read(connection, BASE(im), 3)) == 0 &&
//4. image_transfer_initiate
(ret = bb_setInt8(&bb, DLMS_DATA_TYPE_STRUCTURE)) == 0 &&
(ret = bb_setInt8(&bb, 2)) == 0 &&
(ret = bb_setInt8(&bb, DLMS_DATA_TYPE_OCTET_STRING)) == 0 &&
(ret = hlp_setObjectCount(identificationSize, &bb)) == 0 &&
(ret = bb_set(&bb, identification, identificationSize)) == 0 &&
(ret = bb_setInt8(&bb, DLMS_DATA_TYPE_UINT32)) == 0 &&
(ret = bb_setInt32(&bb, imageSize)) == 0 &&
(ret = com_method3(connection, BASE(im), 1, &bb)) == 0)
{
//5. image_transfer_status is read.
//if ((ret = com_read(connection, BASE(im), 6)) == 0) // Commented by Murali on 06/12/2025
//{
printf("imageSize: %d\n\n", imageSize);
// 6. image_block_transfer
uint32_t count = im.imageBlockSize;
uint32_t blockNumber = 0;
while (imageSize != 0)
{
printf("imageSize: %d\n\n", imageSize);
if (imageSize < im.imageBlockSize)
{
count = imageSize;
}
bb_clear(&bb);
if ((ret = bb_setInt8(&bb, DLMS_DATA_TYPE_STRUCTURE)) != 0 ||
(ret = bb_setInt8(&bb, 2)) != 0 ||
(ret = bb_setInt8(&bb, DLMS_DATA_TYPE_UINT32)) != 0 ||
(ret = bb_setInt32(&bb, blockNumber)) != 0 ||
(ret = bb_setInt8(&bb, DLMS_DATA_TYPE_OCTET_STRING)) != 0 ||
(ret = hlp_setObjectCount(count, &bb)) != 0 ||
(ret = bb_set(&bb, image, count)) != 0 ||
(ret = com_method3(connection, BASE(im), 2, &bb)) != 0)
{
break;
}
imageSize -= count;
++blockNumber;
}
----------------------------------------------------------------------------------------------
Log for image transfer:-
Image Transfer Enabled Read
TX: 7E A0 2C 03 A1 54 36 70 E6 E6 00 C8 1E 30 00 00 00 04 C9 9A 9A C4 30 46 F1 6D AC F2 41 A9 95 D7 55 8F 7B 89 B2 D3 D1 48 06 30 9D 11 54 7E
RX: 7E A0 25 A1 03 74 77 8E E6 E7 00 CC 17 30 00 00 00 02 E8 16 EC A6 48 BA A0 C9 77 5B 94 65 25 88 40 80 8D 71 21 11 7E
Image Block Size Read
TX: 7E A0 2C 03 A1 76 26 72 E6 E6 00 C8 1E 30 00 00 00 05 34 7D 59 66 E0 F9 AA B9 C7 7B 15 5B 6A 48 A5 45 C7 60 9F 98 A9 B5 A2 34 DD 2E BA 7E
RX: 7E A0 28 A1 03 96 E4 C1 E6 E7 00 CC 1A 30 00 00 00 03 83 39 BE 33 49 65 B8 45 97 BA 0F CB F1 6A DE 0D 46 35 7B B0 39 AF 4B 7E
Previous Image transferred Block Status
TX: 7E A0 2C 03 A1 98 56 7C E6 E6 00 C8 1E 30 00 00 00 06 21 D7 22 38 99 B3 31 BC 15 03 A4 F2 4A 16 95 3E 79 A0 80 6C 81 EF 18 40 A2 1B 9A 7E
RX: 7E A0 29 A1 03 B8 23 15 E6 E7 00 CC 1B 30 00 00 00 04 22 42 EE 76 10 A5 5B 4B 63 3E 3B 5F F0 5F 4E 57 16 67 9F 30 7E 47 A5 96 7E
TX: 7E A0 4A 03 A1 BA 38 AC E6 E6 00 CB 3C 30 00 00 00 07 A4 F5 F7 6A 28 2A 92 68 35 7E 98 12 00 9B 86 27 65 B9 38 9F 13 36 10 3C BC 91 76 E2 BD 01 1A AF 38 EA C5 E7 A6 34 BB 29 2C 7C 05 2F 0F 00 21 70 60 89 AD C9 52 B4 5B 04 0A 7E
Data send failed. Try to resend 1/3
TX: 7E A0 4A 03 A1 BA 38 AC E6 E6 00 CB 3C 30 00 00 00 07 A4 F5 F7 6A 28 2A 92 68 35 7E 98 12 00 9B 86 27 65 B9 38 9F 13 36 10 3C BC 91 76 E2 BD 01 1A AF 38 EA C5 E7 A6 34 BB 29 2C 7C 05 2F 0F 00 21 70 60 89 AD C9 52 B4 5B 04 0A 7E
RX: 7E A0 07 A1 03 D1 F5 CA 7E 7E A0 24 A1 03 DA B8 DE E6 E7 00 CF 16 30 00 00 00 05 DA 0D E2 0D D3 1C 5B 88 CB BA 3B F9 81 A0 B0 ED 32 ED E5 7E
imageSize: 253184
TX: 7E A8 86 03 A1 DC C5 5C E6 E6 00 CB 82 01 29 30 00 00 00 08 20 E4 11 DE 64 2F 22 71 8B E8 C6 DE 5F FC 5D 39 58 3E 52 DD 3A BC 7F 38 BD C3 DC 58 0F A7 E1 ED CF D2 62 6F 07 F0 B1 E2 CB F6 F7 C0 A3 00 2A C0 93 86 0C CB 8E C1 CB 52 6D 46 7C CC 0F 7F 65 BB F4 1A A7 D6 A0 16 8D CF 78 BF D1 31 0E 77 EC 9D 12 3F 65 32 11 7A 5B 23 F5 F9 0D 36 C9 4F D3 67 84 9E 23 B3 4F 55 35 18 6E 40 F0 A7 79 8F 40 96 6F 49 D7 7E
RX: 7E A0 07 A1 03 F1 F7 EB 7E
TX: 7E A8 89 03 A1 DE 2E CD 56 B7 C6 07 73 D7 AE BA CD 4C 58 63 47 5E 29 AA D5 D4 F5 57 75 32 56 78 A3 C8 AE E3 E6 2B 07 29 88 DF 17 68 EB BF 93 47 6F FA 2C 2A CC 78 36 41 FD 2D 2A D2 FA D3 97 B5 34 A2 CE 6D 72 76 9D 52 6A E8 BB 08 7F 75 64 3D 9E F2 C2 31 54 DA C7 AA D6 C3 14 4B E6 31 73 AD 70 04 EF D8 8B 0B 2A B8 70 BA E4 89 20 BC D1 1F DC 9D 3F 0B A4 7F 6C 76 E0 B4 C2 01 F7 32 43 3F C5 C4 E2 2A 3C 09 05 50 30 C5 7E
RX: 7E A0 07 A1 03 11 F9 0C 7E
TX: 7E A0 3C 03 A1 D0 BB 71 51 D5 24 53 7C C4 D8 57 8B 8A C7 89 55 2A F9 16 B8 64 89 CC 8F 81 09 19 6F B0 21 F3 15 F6 F0 12 CB 79 2F 53 60 9F 22 74 29 99 8F ED C2 B4 80 F9 9A 3D 21 4E D1 7E
RX: 7E A0 24 A1 03 3C 80 5C E6 E7 00 CF 16 30 00 00 00 06 57 9C 14 DD B7 BA F8 70 D6 61 F6 2F 64 E8 E4 F4 A4 B6 8F 7E
Invalid frame 3C. Expected 3A.
TX: 7E A0 3C 03 A1 D0 BB 71 51 D5 24 53 7C C4 D8 57 8B 8A C7 89 55 2A F9 16 B8 64 89 CC 8F 81 09 19 6F B0 21 F3 15 F6 F0 12 CB 79 2F 53 60 9F 22 74 29 99 8F ED C2 B4 80 F9 9A 3D 21 4E D1 7E
7E A0 07 A1 03 1F 87 E5 7E
imageSize: 252928
TX: 7E A8 86 03 A1 F2 B9 94 E6 E6 00 CB 82 01 29 30 00 00 00 09 8B 0E F8 10 4F 52 F7 CB 0A 5C B5 95 3B 33 BD 82 E2 08 8B 3A 7A 7C 48 FC 64 5E A3 B2 6E 4D DE 83 AB 62 66 FD 23 32 B7 6F 4F 85 19 10 98 E3 40 83 A0 95 A5 7D 42 89 03 E8 0D 05 C7 B4 E5 6C 6B EC 08 41 76 F2 07 A5 76 E2 D9 85 7E 1F AB 89 7C 06 11 18 30 21 CB 4F 89 70 0F B0 27 03 CC 7D 9A EE 53 46 69 8D BE 3D 06 C6 E7 0A 16 D8 0A 5D 0F B1 04 BC E2 7E
RX: 7E A0 07 A1 03 51 FD 4E 7E
TX: 7E A8 89 03 A1 F4 76 43 13 89 C0 FD 9B 63 57 94 13 A1 D7 19 72 93 39 E6 31 2E F9 3D 05 73 A2 A8 00 15 56 2A B8 5E EC 85 97 7D 7B 7B CD 93 06 A6 7A A4 AB 68 D0 C4 DC 10 BF F3 9B 52 2B 56 C2 82 DC 01 8F 95 8E BB 06 C0 30 CC 16 18 5D F6 ED BC 31 F0 13 91 EC 4A 57 A8 9E C8 8F 3D 18 65 1E 9C 5C E8 1B 94 34 4C D9 88 B4 66 DF FE AB 6E BB 26 90 8B 30 C2 32 14 D5 C5 73 6A 8E FB 53 C5 23 7C 4A A5 AE 0C A2 B5 2F 90 F1 E6 7E
eop = 126
RX: 7E A0 07 A1 03 71 FF 6F 7E
TX: 7E A0 3C 03 A1 F6 8F 35 D2 6A 40 4A 26 90 CB DD 66 66 30 E2 B4 56 A8 AD 5B 7C D0 12 BE AC 1C 8D CA F8 57 5F 80 60 E4 D5 F6 A2 AF 68 EE 73 02 96 20 03 9C C8 A3 56 99 62 82 8C A5 F1 15 7E
RX: 7E A0 24 A1 03 9E 98 DA E6 E7 00 CF 16 30 00 00 00 07 2A B0 D4 4C 25 73 9D D3 40 B8 7A 35 5E 29 D4 20 CA F5 8A 7E
Invalid frame 9E. Expected 7A.
TX: 7E A0 3C 03 A1 F6 8F 35 D2 6A 40 4A 26 90 CB DD 66 66 30 E2 B4 56 A8 AD 5B 7C D0 12 BE AC 1C 8D CA F8 57 5F 80 60 E4 D5 F6 A2 AF 68 EE 73 02 96 20 03 9C C8 A3 56 99 62 82 8C A5 F1 15 7E
7E A0 07 A1 03 1F 87 E5 7E
Regards
Murali
Hi Murali, The frame size is…
Hi Murali,
The frame size is 128 bytes, so three frames are generated.
Check your Image transfer initiate arguments. The meter returns an invalid reply for that.
I believe that the identification name or image size is different from what the meter expects.
BR,
Mikko
Hi, Thank you for your…
Hi,
Thank you for your response.
I was successful in resolving invalid reply issue at image transfer initiate stage (firmware identifier was wrongly passed).
Now i am a facing issues at image block transfer stage. The issue are as below:
1. Meter responds with inconsistent class or object error code in the block transfer stage (i.e. 6th transaction in the stage).
2. When compared with the log of Firmware Upgrade performed in GXDLMSDirector application, there is a difference of payload (PDU) sizes.
Here are the logs of both:
----------------------------------------------------------------------------------------------
GXDLMSDirector Log:
TX: 7E A0 07 03 21 93 0F 01 7E
RX: 7E A0 1E 21 03 73 C3 7A 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
TX: 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 62 1E 5D FF FF 88 55 7E
RX: 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 00 10 02 8A 00 07 8A 95 7E
TX: 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 01 00 00 2B 01 05 FF 02 00 2A E1 7E
RX: 7E A0 15 21 03 52 5D 8A E6 E7 00 C4 01 C1 00 06 00 00 00 00 7D 18 7E
TX: 7E A0 07 03 21 53 03 C7 7E
RX: 7E A0 1E 21 03 73 C3 7A 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
TX: 7E A0 07 03 A1 93 C3 8D 7E
RX: 7E A0 1E A1 03 73 2F 76 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
TX: 7E A0 6B 03 A1 10 80 35 E6 E6 00 60 5D A1 09 06 07 60 85 74 05 08 01 03 A6 0A 04 08 48 50 4C 37 32 39 39 38 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 17 3F 0D 79 14 45 14 0A 3A 4E 62 6D 46 30 4F 6B BE 23 04 21 21 1F 30 00 00 00 01 12 2B ED FC CC 50 9E EF E5 39 B2 3C 41 AE 49 A6 C6 86 02 07 8C 31 6E 39 07 E3 DA 15 7E
RX: 7E A0 77 A1 03 30 37 66 E6 E7 00 61 69 A1 09 06 07 60 85 74 05 08 01 03 A2 03 02 01 00 A3 05 A1 03 02 01 0E A4 0A 04 08 48 50 4C 00 00 14 92 CE 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12 80 10 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 BE 23 04 21 28 1F 30 00 00 00 00 1C 86 26 11 74 90 5F 05 60 2B CA 2F 20 14 41 4A DC 2A F1 91 BB 4B 1A DA F9 F5 C0 45 7E
TX: 7E A0 3E 03 A1 32 D1 8C E6 E6 00 CB 30 30 00 00 00 02 79 2A E3 FA 4D A7 AD EA B4 CC D3 88 16 F1 55 9D F5 8F 26 30 28 8E 1A B6 30 65 BD C5 75 37 CC A1 29 93 72 FA 0F AC 9A 78 C8 1A 18 B9 31 7E
RX: 7E A0 37 A1 03 52 94 30 E6 E7 00 CF 29 30 00 00 00 01 4F 58 DB 4E D9 2D 7E 96 97 C0 C0 87 5A 4C 24 B6 93 03 20 31 91 26 4F 01 5B B3 C1 C9 15 75 1E 43 AE 33 6D F4 94 E6 7E
TX: 7E A0 2C 03 A1 54 36 70 E6 E6 00 C8 1E 30 00 00 00 03 8D FE BA FF E8 36 58 92 7B 05 4D 47 F2 98 81 17 BD AE 0E A4 14 5F 18 C9 B0 66 15 7E
RX: 7E A0 25 A1 03 74 77 8E E6 E7 00 CC 17 30 00 00 00 02 E8 16 EF A6 48 BA B9 62 E7 0E 31 48 B4 4D 90 6D FC 25 1C 42 7E
TX: 7E A0 2C 03 A1 76 26 72 E6 E6 00 C8 1E 30 00 00 00 04 C9 9A 99 C4 30 46 F1 6D AC F2 41 AE 95 EF CD 1D 75 86 88 09 9D 42 EC 8F 99 14 23 7E
RX: 7E A0 28 A1 03 96 E4 C1 E6 E7 00 CC 1A 30 00 00 00 03 83 39 BC 33 49 65 B8 45 97 AB 3D 2B 97 AC E8 EC 3F 55 CD EE 5E 9A 43 7E
TX: 7E A0 2C 03 A1 98 56 7C E6 E6 00 C8 1E 30 00 00 00 05 34 7D 5B 66 E0 F9 AA B9 C7 7B 15 5A 6A 95 2A A5 64 9E 75 D7 88 90 78 F3 CA 4F 9F 7E
RX: 7E A0 25 A1 03 B8 17 82 E6 E7 00 CC 17 30 00 00 00 04 22 42 EB 76 10 BF 07 5B 3D 3A F1 F9 38 B6 D1 96 37 60 E6 8C 7E
TX: 7E A0 36 03 A1 BA 49 61 E6 E6 00 CB 28 30 00 00 00 06 22 D7 27 38 99 B3 31 BC 15 03 A4 F0 4B 8E 80 58 B4 E9 D2 FB 79 DB 75 30 00 01 E8 6A 5C C7 D4 3B B4 70 92 42 ED 7E
RX: 7E A0 24 A1 03 DA B8 DE E6 E7 00 CF 16 30 00 00 00 05 DA 0D E6 0D D3 3E 3E 48 06 36 56 3B 73 61 DC 51 FC 8E DB 7E
TX: 7E A0 2C 03 A1 DC 76 78 E6 E6 00 C8 1E 30 00 00 00 07 A7 F5 F3 6A 28 2A 92 68 35 7E 98 15 01 55 69 0F 2C B3 87 10 D6 99 5B 76 0D D6 B0 7E
RX: 7E A0 25 A1 03 FC 37 86 E6 E7 00 CC 17 30 00 00 00 06 54 9C 13 DD A1 3E E7 A9 66 4E 22 9A B3 E2 98 5C 6C 4C 05 F5 7E
TX: 7E A8 89 03 A1 FE 2C EC E6 E6 00 CB 82 01 29 30 00 00 00 08 20 E4 16 DE 64 2F 22 71 8B E8 C6 DE 5F FC 5D 39 58 3E 52 DD 3A BC 7F 38 BD C3 DC 58 0F A7 E1 ED CF D2 62 6F 07 F0 B1 E2 CB F6 F7 C0 A3 00 2A C0 93 86 0C CB 8E C1 CB 52 6D 46 7C CC 0F 7F 65 BB F4 1A A7 D6 A0 16 8D CF 78 BF D1 31 0E 77 EC 9D 12 3F 65 32 11 7A 5B 23 F5 F9 0D 36 C9 4F D3 67 84 9E 23 B3 4F 55 35 18 6E 40 F0 A7 79 8F 40 96 6F 56 B7 C6 C4 A1 7E
RX: 7E A0 07 A1 03 11 F9 0C 7E
TX: 7E A8 89 03 A1 F0 52 05 07 73 D7 AE BA CD 4C 58 63 47 5E 29 AA D5 D4 F5 57 75 32 56 78 A3 C8 AE E3 E6 2B 07 29 88 DF 17 68 EB BF 93 47 6F FA 2C 2A CC 78 36 41 FD 2D 2A D2 FA D3 97 B5 34 A2 CE 6D 72 76 9D 52 6A E8 BB 08 7F 75 64 3D 9E F2 C2 31 54 DA C7 AA D6 C3 14 4B E6 31 73 AD 70 04 EF D8 8B 0B 2A B8 70 BA E4 89 20 BC D1 1F DC 9D 3F 0B A4 7F 6C 76 E0 B4 C2 01 F7 32 43 3F C5 C4 E2 2A 3C 09 05 50 51 D5 24 DD 6A 7E
RX: 7E A0 07 A1 03 31 FB 2D 7E
TX: 7E A0 39 03 A1 F2 FC 1D 53 7C C4 D8 57 8B 8A C7 89 55 2A F9 16 B8 64 89 CC 8F 81 09 19 6F B0 21 F3 15 F6 F0 12 CB 79 2F 53 60 9F 22 3C A0 B9 E5 BA EB 78 91 02 7F 6E DA 0E F9 7E
RX: 7E A0 24 A1 03 5E 94 1C E6 E7 00 CF 16 30 00 00 00 07 2A B0 D2 45 25 EA C2 A1 1A 5A 5A D6 20 D1 3C 40 35 BE 00 7E
TX: 7E A8 89 03 A1 14 78 A4 E6 E6 00 CB 82 01 29 30 00 00 00 09 8B 0E FE 10 4F 52 F7 CB 0A 5C B5 95 3B 33 BD 82 E2 08 8B 3A 7A 7C 48 FC 50 59 7C B3 A1 BC C9 81 A4 0C AF 02 63 FD A8 6E A0 80 4D 2D 67 BB F8 A3 A6 5C 5A 46 8D 08 1E F8 F6 36 38 4B BD D4 4B EA C1 9E 77 3D D8 A4 66 19 EA 7A 81 47 13 A9 7A 04 DA 75 32 38 A5 4C D9 49 F2 B9 37 02 73 C3 BA AA 71 A1 6A F7 8A C0 1F 3B 66 17 56 59 17 E6 04 4F 27 E4 80 80 34 E8 7E
RX: 7E A0 07 A1 03 71 FF 6F 7E
TX: 7E A8 89 03 A1 16 6A 87 7C 86 70 9F A1 EE 89 CD DD 52 BB 4B 0B 51 35 DB 2E A9 24 5F B2 19 37 7E 5B 01 3E F6 A7 84 68 2C 86 D7 8B 24 8E B5 77 C4 28 57 F8 EC 95 83 0C 54 DD F4 16 0D BE D6 CC B3 5A 16 64 46 07 0C C6 D3 24 92 74 32 FC 8E CC 19 2C D0 85 DC 77 DE 73 B3 37 A1 59 D1 78 82 A8 94 A8 3E C1 E5 47 46 B8 9F 09 97 64 4E 1A 5F 65 EE 82 C1 28 DF 34 4F A5 67 25 13 26 1F 76 AB 99 61 13 84 F5 60 AC D8 27 7C 92 0B 7E
RX: 7E A0 07 A1 03 91 F1 88 7E
TX: 7E A0 39 03 A1 18 A8 55 85 9D 4F 8B 82 5A 6C 6D DE 7B CA 77 ED 64 40 DA 2F 82 63 A5 A8 8A D3 6B 6F A9 5C 19 1A 4B 87 EF 5B D2 43 33 65 61 92 AD 02 0B 1D 2D 05 D0 3E 7A 33 57 7E
RX: 7E A0 24 A1 03 B0 E4 12 E6 E7 00 CF 16 30 00 00 00 08 0F FA F6 A1 72 46 21 46 9D 9B 74 66 10 83 B6 10 A2 DA 42 7E
----------------------------------------------------------------------------------------------
C Source Code Log:
TX: 7E A0 07 03 21 93 0F 01 7E
RX: 7E A0 1E 21 03 73 C3 7A 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
TX: 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 40 1E 1D FF FF E7 25 7E
RX: 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 00 10 02 8A 00 07 8A 95 7E
TX: 7E A0 19 03 21 32 6F D8 E6 E6 00 C0 01 C1 00 01 00 00 2B 01 05 FF 02 00 2A E1 7E
RX: 7E A0 15 21 03 52 5D 8A E6 E7 00 C4 01 C1 00 06 00 00 00 00 7D 18 7E
TX: 7E A0 07 03 21 53 03 C7 7E
RX: 7E A0 1E 21 03 73 C3 7A 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
TX: 7E A0 07 03 A1 93 C3 8D 7E
RX: 7E A0 1E A1 03 73 2F 76 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
TX: 7E A0 6B 03 A1 10 80 35 E6 E6 00 60 5D A1 09 06 07 60 85 74 05 08 01 03 A6 0A 04 08 48 50 4C 37 32 39 39 38 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 70 38 9C CE 67 B3 59 AC 56 AB 55 2A 15 8A 45 22 BE 23 04 21 21 1F 30 00 00 00 01 12 2B ED FC CC 50 9E EF E5 1B B2 7C 41 AE F7 CB 9D E4 A2 94 3D 6A 29 F9 51 4A CE 99 7E
RX: 7E A0 77 A1 03 30 37 66 E6 E7 00 61 69 A1 09 06 07 60 85 74 05 08 01 03 A2 03 02 01 00 A3 05 A1 03 02 01 0E A4 0A 04 08 48 50 4C 00 00 14 92 CE 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12 80 10 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 BE 23 04 21 28 1F 30 00 00 00 00 1C 86 26 11 74 90 5F 05 60 2B CA 2F 20 14 41 4A DC 2A F1 91 BB 4B 1A DA F9 F5 C0 45 7E
TX: 7E A0 3E 03 A1 32 D1 8C E6 E6 00 CB 30 30 00 00 00 03 8E FE BA FF F5 36 58 96 7B 05 4D 43 F3 7D F4 D7 7C 0C 73 CF 02 E6 B8 8D B2 3D C4 A8 BF 70 C7 E9 E1 1F C4 D2 4F 04 61 1E AE 09 73 47 12 7E
RX: 7E A0 37 A1 03 52 94 30 E6 E7 00 CF 29 30 00 00 00 01 4F 58 DB 4E D9 2D 7E 96 9E 86 B0 B3 37 DD FB BB 79 AD FA 3C 4D 2D A9 60 62 74 4D 20 42 8F 17 02 38 F0 97 80 A8 F0 7E
TX: 7E A0 2C 03 A1 54 36 70 E6 E6 00 C8 1E 30 00 00 00 04 C9 9A 9A C4 30 46 F1 6D AC F2 41 A9 95 D7 55 8F 7B 89 B2 D3 D1 48 06 30 9D 11 54 7E
RX: 7E A0 25 A1 03 74 77 8E E6 E7 00 CC 17 30 00 00 00 02 E8 16 EC A6 48 BA A0 C9 77 5B 94 65 25 88 40 80 8D 71 21 11 7E
TX: 7E A0 2C 03 A1 76 26 72 E6 E6 00 C8 1E 30 00 00 00 05 34 7D 59 66 E0 F9 AA B9 C7 7B 15 5B 6A 48 A5 45 C7 60 9F 98 A9 B5 A2 34 DD 2E BA 7E
RX: 7E A0 28 A1 03 96 E4 C1 E6 E7 00 CC 1A 30 00 00 00 03 83 39 BE 33 49 65 B8 45 97 BA 0F CB F1 6A DE 0D 46 35 7B B0 39 AF 4B 7E
TX: 7E A0 2C 03 A1 98 56 7C E6 E6 00 C8 1E 30 00 00 00 06 21 D7 22 38 99 B3 31 BC 15 03 A4 F2 4A 16 95 3E 79 A0 80 6C 81 EF 18 40 A2 1B 9A 7E
RX: 7E A0 25 A1 03 B8 17 82 E6 E7 00 CC 17 30 00 00 00 04 22 42 EE 76 10 BF 2D A7 8D C4 1E 8F 8A F8 A0 A1 A4 9D E4 D3 7E
TX: 7E A0 36 03 A1 BA 49 61 E6 E6 00 CB 28 30 00 00 00 07 A4 F5 F7 6A 28 2A 92 68 35 7E 98 12 00 9B 86 27 71 A3 4C FA 71 8F 5F 9D CA 75 7A 47 71 12 C8 5C 5A 33 F6 19 D0 7E
RX: 7E A0 24 A1 03 DA B8 DE E6 E7 00 CF 16 30 00 00 00 05 DA 0D E2 0D D3 1C 5B 88 CB BA 3B F9 81 A0 B0 ED 32 ED E5 7E
TX: 7E A0 2C 03 A1 DC 76 78 E6 E6 00 C8 1E 30 00 00 00 08 23 E4 11 DE 64 2F 22 71 8B E8 C6 DA 5E 3A 11 16 76 7F AA 45 7F F7 CB DD 63 2E C6 7E
RX: 7E A0 25 A1 03 FC 37 86 E6 E7 00 CC 17 30 00 00 00 06 54 9C 14 DD A1 3E DC 67 36 D6 0B DA E0 D5 89 DD A1 D6 80 98 7E
TX: 7E A8 86 03 A1 FE D5 5E E6 E6 00 CB 82 01 29 30 00 00 00 09 8B 0E F8 10 4F 52 F7 CB 0A 5C B5 95 3B 33 BD 82 E2 08 8B 3B 7A 7C 48 FC 64 5E A3 B2 6E 4D DE 83 AB 62 66 FD 23 32 B7 6F 4F 85 19 10 98 E3 40 83 A0 95 A5 7D 42 89 03 E8 0D 05 C7 B4 E5 6C 6B EC 08 41 76 F2 07 A5 76 E2 D9 85 7E 1F AB 89 7C 06 11 18 30 21 CB 4F 89 70 0F B0 27 03 CC 7D 9A EE 53 46 69 8D BE 3D 06 C6 E7 0A 16 D8 0A 5D 0F B1 04 BD 06 7E
RX: 7E A0 07 A1 03 11 F9 0C 7E
TX: 7E A8 89 03 A1 F0 52 05 13 89 C0 FD 9B 63 57 94 13 A1 D7 19 72 93 39 E6 31 2E F9 3D 05 73 A2 A8 00 15 56 2A B8 5E EC 85 97 7D 7B 7B CD 93 06 A6 7A A4 AB 68 D0 C4 DC 10 BF F3 9B 52 2B 56 C2 82 DC 01 8F 95 8E BB 06 C0 30 CC 16 18 5D F6 ED BC 31 F0 13 91 EC 4A 57 A8 9E C8 8F 3D 18 65 1E 9C 5C E8 1B 94 34 4C D9 88 B4 66 DF FE AB 6E BB 26 90 8B 30 C2 32 14 D5 C5 73 6A 8E FB 53 C5 23 7C 4A A5 AE 0C A2 B5 2F 90 F1 E6 7E
RX: 7E A0 07 A1 03 31 FB 2D 7E
TX: 7E A0 3C 03 A1 F2 AB 73 D2 6A 40 4A 26 90 CB DD 66 66 30 E2 B4 56 A8 AD 5B 7C D0 12 BE AC 1C 8D CA F8 57 5F 80 60 E4 D5 F6 A2 AF 68 EE 73 02 47 68 B0 D4 76 F6 B9 8A BE F1 3D 77 66 68 7E
RX: 7E A0 24 A1 03 5E 94 1C E6 E7 00 CF 16 30 00 00 00 07 2A B0 D4 45 25 D9 95 81 B1 10 01 F5 AB 70 E6 A2 9C 3F 88 7E
TX: 7E A8 86 03 A1 14 81 16 E6 E6 00 CB 82 01 29 30 00 00 00 0A 69 1F 7C 2A D5 9D B4 EC 3D 6C 67 21 D7 87 24 21 53 A2 F7 B9 42 81 39 7F 64 0D A4 37 23 34 08 61 BE 49 E7 68 E2 66 F6 9E 7B 68 FE 27 49 59 88 43 F9 C2 8B 89 67 B4 9F 06 8E A1 F4 D9 1D 48 09 50 63 15 37 28 AD B2 82 BC 78 5A C4 F5 1F F7 61 77 67 A1 FD 10 90 C3 B9 3D BF 25 9E 10 D5 15 E6 41 5A B7 78 A6 90 16 8C AC F6 D6 40 41 07 8A BF C0 02 98 DD 7E
RX: 7E A0 07 A1 03 71 FF 6F 7E
TX: 7E A8 89 03 A1 16 6A 87 E3 2A 36 E6 5D D5 71 DF ED DD 7C 3B 06 AE FE B9 81 2D 19 54 4E 36 C4 BA E8 44 19 D8 E5 B2 F0 88 9A 87 D8 64 3B 9F 16 74 5C 7E 2A F0 28 64 30 67 90 9C 05 D4 D1 57 D0 0E B7 94 9E 8D D5 67 95 7B 1E B0 80 D2 54 B3 EA FA B7 B1 B9 ED 89 B0 62 FB 99 DF EF DC 5B CE 8D 12 F2 CF 49 D1 D4 A9 A4 0A 24 E5 AD 1D FB E9 49 D0 73 BA 79 BF 0C B9 91 F4 86 1F 7B D1 A5 02 36 A7 BE 3D 2F 6E 35 70 29 62 C8 1D 7E
RX: 7E A0 07 A1 03 91 F1 88 7E
TX: 7E A0 3C 03 A1 18 FF 3B BA 66 06 FD FA 8B 8C 79 21 5F D5 AE 6A E1 29 EC 2C D4 1F D3 B7 2C 3A 4F 78 FE 08 8A F1 1A 78 7D A4 53 29 41 2B 20 F5 FE C9 D9 E2 F3 E0 A7 FA 3C 98 3E 66 28 2C 7E
RX: 7E A0 24 A1 03 B0 E4 12 E6 E7 00 CF 16 30 00 00 00 08 0F FA FF A8 72 A0 7B E5 C4 48 CF 53 BC E8 06 C4 5B 9F 73 7E
error = 9
Method2 failed Access Error : Device reports a inconsistent Class or Object.
----------------------------------------------------------------------------------------------
what could be the reason?
Regards
Murali V
Hi, The firmware image bytes…
Hi,
The firmware image bytes you try to update are different in GXDLMSDirector and your app. You need to check why.
BR,
Mikko
Hi, Thank you for your…
Hi,
Thank you for your guidance, i was able to solve the issue and complete the firmware upgrade to the meter.
The image block transfer code was transferring the first block even in the second iteration of the loop.
I have modified the code slightly for transferring the image in a contiguous manner.
Here is the modified code snippet.
if ((ret = bb_setInt8(&bb, DLMS_DATA_TYPE_STRUCTURE)) != 0 ||
(ret = bb_setInt8(&bb, 2)) != 0 ||
(ret = bb_setInt8(&bb, DLMS_DATA_TYPE_UINT32)) != 0 ||
(ret = bb_setInt32(&bb, blockNumber)) != 0 ||
(ret = bb_setInt8(&bb, DLMS_DATA_TYPE_OCTET_STRING)) != 0 ||
(ret = hlp_setObjectCount(count, &bb)) != 0 ||
(ret = bb_set(&bb, &image[(blockNumber * im.imageBlockSize)], count)) != 0 ||
(ret = com_method3(connection, BASE(im), 2, &bb)) != 0)
{
Original Code:-
if ((ret = bb_setInt8(&bb, DLMS_DATA_TYPE_STRUCTURE)) != 0 ||
(ret = bb_setInt8(&bb, 2)) != 0 ||
(ret = bb_setInt8(&bb, DLMS_DATA_TYPE_UINT32)) != 0 ||
(ret = bb_setInt32(&bb, blockNumber)) != 0 ||
(ret = bb_setInt8(&bb, DLMS_DATA_TYPE_OCTET_STRING)) != 0 ||
(ret = hlp_setObjectCount(count, &bb)) != 0 ||
(ret = bb_set(&bb, image, count)) != 0 ||
(ret = com_method3(connection, BASE(im), 2, &bb)) != 0)
{
Regards
Murali V
Hi, You are right. This row…
Hi,
You are right. This row is missing from the GitHub example.
Thank you for pointing it out. It's now fixed.
//Get next block.
image += count;
BR,
Mikko