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. Forums
  3. Upgrade Firmware

Upgrade firmware

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 Varun Sharma , 27 May, 2020
Forums
General discussion

How can i upgrade the firmware in my c# code.
Please provide an example code.

Profile picture for user Kurumi

Kurumi

6 years 2 months ago

Hi,

Hi,

Here is an example:
https://www.gurux.fi/Gurux.DLMS.Client

BR,
Mikko

Varun Sharma

6 years 2 months ago

public void ImageUpdate

public void ImageUpdate(GXDLMSImageTransfer target, byte[] identification, byte[] data)

can you explain the info which i have to pass in this method.
What is target and data

Profile picture for user Kurumi

Kurumi

6 years 2 months ago

Hi,

Hi,

It updates the image to the meter. target is ImageUpdate object. identification is manufacturer specific image name. and data is updated firmware. You can use it to update the image.

BR,
Mikko

Varun Sharma

6 years 2 months ago

GXDLMSImageTransfer

GXDLMSImageTransfer imageTransfer = new GXDLMSImageTransfer();
byte[] ident = ASCIIEncoding.ASCII.GetBytes(tb_identification.Text);
_media.reader.ImageUpdate(imageTransfer, ident, FirmwareBytes);

i m using the above code but when in ImageUpdate method it goes for "Initiate the Image transfer process" it gives the exception Device reports a hardware fault.

Same file is used in Gurux tool it works fine.
Do i have to update any property of ImageUpdateobject before sending to the ImageUpdate Method

Profile picture for user Kurumi

Kurumi

6 years 2 months ago

Hi,

Hi,

They are using the same library and source code. Check identification and data values?
I believe the reason is in the identification if it fails here. Check that.

BR,

Mikko

Varun Sharma

6 years 2 months ago

foreach

foreach (GXDLMSImageActivateInfo it in target.ImageActivateInfo)
{
if (it.Identification == identification)
{
bFound = true;
break;
}
}

This method is creating problem
Both it.Identification == identification have same value but still it is not entering the loop to get bFound true.
Don't know why both values are showing mismatch instead both are having 9 bytes and same value

Profile picture for user Kurumi

Kurumi

6 years 2 months ago

Hi,

Hi,

This is fixed. Change this:

if (it.Identification == identification)
to:
if (GXCommon.EqualBytes(it.Identification, identification))

BR,
Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Mon, 07/27/2026 - 12:37
    gurux.dlms.cpp 9.0.2607.2701
  • Thu, 07/23/2026 - 16:19
    gurux.dlms.java 4.0.96
  • Thu, 07/09/2026 - 14:34
    Gurux.DLMS.Python 1.0.201
  • Fri, 06/26/2026 - 16:32
    Gurux.Service 3.0.2606.2601
  • Wed, 06/24/2026 - 08:36
    Gurux.DLMS.Python 1.0.200

New forum topics

  • Possible memory leak in file dlms.c, getCompactArrayItem(), getCompactArrayItem2()
  • Official Gurux.DLMS.Client.Example.Net fails during High GMAC secure association (Invalid PDU), while Gurux Director connects successfully
  • gurux_dlms.GXDateTime.GXDateTime object Error in Python
  • T_APPL_DATA_LN_N1 subtest 3 fails on an LN-only server regardless of the response to a non-existing-object GET
  • Version mismatch between Gurux.DLMS 9.x and Gurux.Common/Gurux.Serial 8.x
More

Who's new

  • KadokTen
  • xMjAupjsfUDybB…
  • GWcVnqgDuqbcJvFIAoke
  • Lewisnon
  • kxyxJyMJlzhuzi…
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin