Remote program update - ENODATA error

I am using the Remote Program Update by creating a http client that gets the remote firmware from a server… The initial steps work well, it is possible to execute buDownloadInit() and buOpenFirmwareTemp(), the issue appears when buGetInfo() is executed because it currently prints the ENODATA error… I found in the documentation that this error means there is no info found in source and/or source not open.

Is this related to the new firmare itself or am I ignoring something?

Troubleshooting steps:

  • Use Dynamic C to “Compile to .bin File”
  • Upload that file to your web server (if via FTP, make sure it’s in BINARY mode and not ASCII).
  • Download the file using your computer and verify that it’s unchanged from the original .bin file.
  • Have your Rabbit firmware download the same URL.
  • Test the content with buOpenFirmwareTemp() and buGetInfo().

For the download:

  • Call buDownloadInit().
  • Call buDownloadTick() until it returns something other than -EBUSY. If it returns 0, you should have a complete download.

You can use buReadFirmware() after buOpenFirmwareTemp() to look at what’s actually stored in the “Temp” firmware location.