Firmware invalid

Hi,

We were initially using firmware version 10.6.2.
We then recently purchase a new license and started using version 11.0.5 in a new PC.
Our application software was working fine in the older pc with the older firmware. But when we installed the same application software in the new PC with the new firmware, we are getting a firmware invalid error in the CheckError function.

This is the full message:

{“Control: firmware invalid :: {control.c, line 10592} (Error 1563) (MotionController::InitControl) (Object 0) (File motioncontroller.cpp) (Line 409) (Version 10.6.2.0)”}

Why does it say Version 10.6.2.0 in this message? We made sure we downloaded the latest RMP version and also the right license file from the portal.

Please help us resolve this soon.

Also when we run RapidSetup, everything runs as expected and we are also able to get the network in Operational state. So we are not able to pin point what goes wrong when we run the same code which has been proven over the months/years

Hi @RK_8323 ,

Good news first: this isn’t a bad download or a license problem. Licensing failures report different error codes, and the “firmware invalid” error (Error 1563) is purely a version-matching issue.

The key is that confusing (Version 10.6.2.0) at the end of the message. That version is not the RMP firmware version. It’s the version of the RapidCode library your application actually loaded at runtime. RSI stamps the loaded library’s build number onto every error message. So the message is really telling you: your application is still running against the old 10.6.2.0 binaries.

So even though you downloaded 11.0.5 correctly, your app is still built against the 10.6.2 RapidCode. If your application is C++ or C#, copying DLLs alone isn’t enough: it needs to be recompiled against the 11.0.5 RapidCode so the library version matches the RMP firmware. To fix it:

  1. Recompile your application against the 11.0.5 files. Point your build at the 11.0.5 RapidCode headers/references and libraries, not the 10.6.2 ones.
  2. Check what’s next to your application’s executable. If old RSI DLLs (e.g. RapidCode, rsi*, RSI.RapidCode.dll) from 10.6.2 were copied into your app folder, replace them with the 11.0.5 ones from the new install.
  3. Check your PATH. If the 10.6.2 install (or a leftover copy) is still on the system PATH ahead of the 11.0.5 install, the old DLLs get loaded first. Remove the stale path entries.
  4. Confirm the running RMP firmware is 11.0.5 and that you started it from the 11.0.5 install location.

Once your application loads the 11.0.5 binaries, that (Version ...) in any future error will read 11.0.5.x and the firmware-invalid error will clear.

If you’re still stuck after that, can you tell us: how your app references RapidCode (C++ link, C#/.NET, or Python), and where it’s loading the DLLs from? That’ll let us pinpoint which old copy is winning.