How to check memory

Hello everyone,

I'm new to Arduino, so don't scold me.
I have a device with an Arduino mega2560 board
The manufacturer provided me with a new firmware, but the device does not work. If I install an old firmware, then the device works well. The manufacturer says that the new firmware uses new memory areas and that the Arduino board is defective and needs to be replaced by the manufacturer (the user cannot replace the board for security reasons)

My question is:
How can I check the Arduino memory without damaging the existing data (the license for the device is recorded there)

Thank you all, especially those who replied

Is the manufacturer going to replace the board free of charge and will they pay for shipping? If so, it is best not to mess with it and just send it back.

What does "the device does not work" mean? Be specific.

The Arduino board controls the keyboard, creates an Ethernet and USB connection, and prints messages about its status.
If I install a new firmware, the Arduino board freezes and nothing happens

The device is out of warranty, so I have to send it to the manufacturer at my own expense (back and forth) and the device is large enough, weight about 7 kg

This is not an Arduino IDE Installation and Troubleshooting question.

Please use the flag button to ask a moderator to move it to a more suitable location, and post the details needed to address the issues.

Almost everyone here is new. If anyone gets scolded, it's because they skipped over the introductory threads that they were asked to read when they created an account. Then post without knowing the requirements.

Topic moved to a more suitable forum category as requested.

Regards,
pert

You’re in a sticky position…
As the product isn’t open source, and possibly protected by some copyright, you may not be pp able to post too much detail.

The supplier’s possibly just trying to protect gus revenue source, the reason may be BS, but there’s not much you can do.

Maybe a CLEAR photo of the affected module would give us a hint, but behind that, the solution is guesswork.

Do you need the new firmware? Does it provide functions that you need or fix issues that you have?

The avrdude utility can read and write flash memory without disturbing the contents, unless the security fuse bits have been set. You may be able to read the firmware and program it into another Mega.

May need to read the EEPROM also, and the fuse settings, but if the manufacturer is paranoid they may have disabled reading back some areas of memory.

How is the firmware installed? Custom program, avrdude, etc?

The firmware is installed using Xloader (Windows)

There are new features that are not in the old version

I think need to check the EEPROM. The size of the new firmware is slightly smaller, so the FLASH memory is good

Unless the vendor is asking exhorbitant amounts of money for it, it may not be worthwhile to crack. Not to be too "smarmy" but in that case, would it be ethical if the cost is reasonable?

Are you certain you have a good copy of the new firmware? If it was downloaded, was there an md5 or sha1/sha256 checksum?

I have already paid 55 USD for the firmware update and much more for the device.
I don't need to crack the firmware, I want to know what the problem is. The manufacturer says that the problem is in the memory of the Arduino 2560 and that the Arduino board needs to be replaced.
Therefore, I want to check the EEPROM memory

The firmware was sent by email in a zip archive. There is a CRC32 checksum and it is matches.
Thanks for the tip, didn't think about that and just checked

Sounds like it's directly connected to the USB port of the Mega and hence the board is not protected with fuse bits. You should be able to use avrdude to read out the memory. To get you started:

  1. AVRDUDE: 1 Introduction
  2. https://www.cs.ou.edu/~fagg/classes/general/atmel/avrdude.pdf

Also I toyed with avrdude in the past, I don't have the time to go through it to find the correct commands.

Because you paid, I guess that you need those features.