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 ago

Hi,

Hi,

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

BR,
Mikko

Varun Sharma

6 years 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 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 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 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 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 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

  • 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

Who's new

  • Tuanhgg
  • Adel
  • charnon
  • Paddles
  • Miguel Ángel
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin