Where to find RN2483 firmware updates

The Java based tools was created by Microchip for use on Windows. As far as I know it was not released to the general public so I very much doubt bug fixes will be made available.
You could try if the functionality is included in the LoRa Development Suite found on this page.

Hello francisdb,

A week ago, I had a similar issue when trying an RN2483 (on a Lorabee) from version 0.9.5 to 1.0.1 with Microchip firmware tools using an FTDI cable. The firmware update process did not work and trying to select a file/folder using Bootloader mode on the tool gave me these errors:

Sep 30, 2016 11:05:12 AM java.util.prefs.WindowsPreferences
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(ā€¦) returned error code 5.
Exception in thread ā€œJavaFX Application Threadā€ java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
[ā€¦ long calling stack dump ā€¦]

Also:

Caused by: java.lang.IllegalArgumentException: Folder parameter must be a valid folder
at com.sun.glass.ui.CommonDialogs.convertFolder(CommonDialogs.java:238)
at com.sun.glass.ui.CommonDialogs.showFileChooser(CommonDialogs.java:190)
at com.sun.javafx.tk.quantum.QuantumToolkit.showFileChooser(QuantumToolkit.java:1496)
at javafx.stage.FileChooser.showDialog(FileChooser.java:416)
at javafx.stage.FileChooser.showOpenDialog(FileChooser.java:350)
at dfu.DFUFXMLController.onFileBrowse(DFUFXMLController.java:238)
[ā€¦ long calling stack dump ā€¦]

I am using LoRa Development Utility (help / about says: LoRa Xtensive v1.0 Beta) running Java 1.8.0_102-b14 on Win10 (64 bits)

How I fixed it:

It seems the issue is related to accessing the registry on Windows and I had to manually delete and re-create the key here:
[HKEY_CURRENT_USER\SOFTWARE\JavaSoft\Prefs]

After I did that fix, the error in LoRa Development Utility disappeared and I found a new key written in the registry:

[HKEY_CURRENT_USER\SOFTWARE\JavaSoft\Prefs\dfu]
ā€œ/File/Pathā€="/D://lora//"

You may be able to apply a similar fix on your MAC, if it has a registry equivalent.

Cheers.

The lora development suite (mac download) on the link you provided contains a newer version of the java tool in Applications / LoraDevUtility folder but it has the same issue that @jsperri mentionned.

Event Type: 1.Event Value: 3.Port Name: /dev/tty.usbserial-DN01EYAZ
Before validation
5
dfuTabSelected
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
	at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
...
Caused by: java.lang.IllegalArgumentException: Folder parameter must be a valid folder
	at com.sun.glass.ui.CommonDialogs.convertFolder(CommonDialogs.java:238)
	at com.sun.glass.ui.CommonDialogs.showFileChooser(CommonDialogs.java:190)
	at com.sun.javafx.tk.quantum.QuantumToolkit.showFileChooser(QuantumToolkit.java:1496)
	at javafx.stage.FileChooser.showDialog(FileChooser.java:416)
	at javafx.stage.FileChooser.showOpenDialog(FileChooser.java:350)
	at fed.FEDFXMLController.onFileBrowse(FEDFXMLController.java:7049)
	... 83 more

The java preferences for mac are stored in ~/Library/Preferences/ā€¦ but I could not find anything related to fed or dfu

Seems that somebody else already tried to fix this for linux but Microchip is the only one who can fix this unless they make the source code available.

@kersing Is there an issue tracker where we can report and follow up on LoRa Development Suite bugs?

I am not aware of any issue trackers for Microchip products. You could ask the question on the Microchip forumā€¦

For me Java upgrade didnā€™t work at all. Hereā€™s a step-by-step guide to upgrade firmware with Microchip Pickit 3:

@BoRRoZ Thanks. Your upload kept me going ! I could neither make it at 57600 nor even at 19200. Luck struck only at 9600. Huh !! :slight_smile:
Hope this helps someone.

2 Likes

Hey, is it possible to modify this firmware (1.0.1), Iā€™m not talking about the hex code but is there any possibility to find the source code this hex file was built from ?

I have a RN2483 on a bee (Sodaq Mbili). But TEST0 and TEST1 are not on the header. Is there a way to update my two (bricked) beeā€™s then? I have a Pickit3.

Check post 7 (or 8) in this topic for a picture of the adapter I created and use just for that purpose.

For those looking for version 1.0.3 of the RN2483 firmware, the hex file is embedded in the SODAQ firmware updater. Just take the part between the curly braces ( { and } ), remove the double quotes and comma at the end of the line and save with .hex extension.

Resulting file should contain:

:10030000D7EF01F0FFFFFFFF5A82FACF2AF0FBCFB1
ā€¦ skipping a lot of lines ā€¦
:00000001FF

The result can be used to update using the serial port. (Software for updating can be found in the LoRa Development Suite, available on the Microchip website)

1 Like

I am happy to report successful RN2483 firmware upgrade on Ubuntu Linux :slight_smile:

After a lot of trial and error, I flashed a few devices using LoRaDevUtility.jar from
http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=dv164140-1.

Notes:

  • java -version: openjdk version ā€œ1.8.0_131ā€
  • run in a terminal: java -jar LoRaDevUtility.jar
  • if you see the exception(s) ā€œā€¦Folder parameter must be a valid folderā€¦ā€:
    add the path to some valid folder on your system to the files
    ~/.java/.userPrefs/dfu/prefs.xml
    ~/.java/.userPrefs/fed/prefs.xml
    ~/.java/.userPrefs/toplevel/prefs.xml.

In my case, all 3 prefs.xml are the same actually. Example prefs.xml:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE map SYSTEM "http://java.sun.com/dtd/preferences.dtd">
<map MAP_XML_VERSION="1.0">
  <entry key="FilePath" value="/home/blabla/"/>
</map>

This did the trick for me. Hope it helps somebody out there!

5 Likes

FYI, the firmware is now officially available on the Microchip website:
www.microchip.com/RN2483 (868MHz)
www.microchip.com/RN2903 (915MHz)

ā€¦ and the RN2903 command ref guide (also on the link above) gives the details of the bootloader process so you can build it in to any device

5 Likes

Hi,

I tried using the same setup as you replacing the path with my username but it still having the same folder error. Is there anything that I could miss out?

Thanks.

Hi,

I upgraded to firmware V1.0.3 and tested with sys sleep command. It doesnā€™t work as I expected, so I dont know if they fixed this issue with new firmware.
When I sent sys sleep 86400000 to rn2483. It replied ā€œinvalid_paramā€, and then ā€œokā€, and later ā€œinvalid_paramā€. It kept going like that. Can someone confirm this one or did I miss something ?

Thank you

The invalid_param response is caused by the ā€˜UUUUā€™ characters you used to wake the device in the previous attempt. Only one 1 needed, additional ones will be in the command buffer resulting in the command looking like
ā€˜UUUUUsys sleep 86400000ā€™ which the module does not recognize to be a valid command.
You can resolve this on two ways:

  • just send one U
  • if you want to send multiple (not a bad idea), send an additional line termination ā€˜\r\nā€™ as well to clear the command buffer (this will get you an invalid_param response, just read it and ignore it)

BTW. There is no need to post screen shots of putty output, you can just cut-and-paste the contents of the terminal window into your message. This allows the forum to index the contents of the screen shot as well.
(Make the text a block quote [the " symbol] for readibilty)

2 Likes

A post was split to a new topic: How to increase RN2483 duty cycle for development purposes?

Thank you for this hint! I wasted so much time with thisā€¦

I only put the following lines in /home/mattthias/.java/.userPrefs/dfu/prefs.xml and it worked :smiley:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE map SYSTEM "http://java.sun.com/dtd/preferences.dtd">
<map MAP_XML_VERSION="1.0">
    <entry key="FilePath" value="/home/mattthias/"/>
</map>

Has somebody found out what to to so that the Java app opens the File Dialog Box?

Since Iā€™m working with a Mac I would like to know if there is a simple program for the Mac which allows me to upload the hex file?

Meanwhile I found this here, but didnā€™t test it yet:

Hi,
Iā€™m trying to update the firmware of the TTN Node for consumption problem (The Things Node Battery consumption)-
Iā€™m not an experienced user, looking at this interesting thread I try the following steps:

  • Connect the TTN node to a workstation (ubuntu 64 bit 17.10) USB port

  • Launch the LoRaDevUtility by $ java -jar ./LoRaDevUtility.jar

  • The LoRaDevUtility GUI show a ā€œFinding Devicesā€ for about a minute without result

  • in the meantime the shell shows:
    Trying to Connect: /dev/ttyACM0
    Connection Successful
    Disconnection Successful
    Tool List Refereshed
    No Server in List

  • Next, when I try ā€œModule-Boot Load Recoverā€ from the menu I get
    BootLoadRecovery and after a while it come back to the home GUI.
    In the meantime the shell shows:
    Trying to Connect: /dev/ttyACM0
    Connection Successful
    Tool List Refereshed
    No Server in List
    In Baud Rate Handler
    In Data Bits Handler
    In Stop Bits Handler
    In Parity Handler
    /dev/ttyACM0 Bootloader: v1.02
    In Baud Rate Handler
    FF
    08
    1D
    3C
    FF
    BF
    85
    FF
    00
    00
    0F
    E0
    0F
    40
    READ_VER
    55000000000000000000READ_VER_DONE
    READ_VER
    55000000000000000000READ_VER_DONE
    READ_VER
    55000000000000000000READ_VER_DONE
    READ_VER
    55000000000000000000READ_VER_DONE
    READ_VER
    55000000000000000000READ_VER_DONE
    Trying to Disconnect: /dev/ttyACM0
    Disconnection Successful
    No FED Selected by the user
    In Bootloader Failure

So I imagine the tool is able to connect to the device, but there is some problem to set/get information from it.
Do you have any suggestion about this issue ?
Thanks