Where to find RN2483 firmware updates

That’s super, thanks for all your help!!!

I just recovered an RN2483 using @kersing’s PicKit3 method. This was after I bricked it by doing a normal firmware upgrade using the Java utility inside a Windows 7 Vbox, using USB forwarding.

With the Pickit3 it was natively under Linux using MPLAB IPE.

Those dev tools are broken on Mac, the firmware file selector throws an exception mentioning someting about an invalid path. Any chance this will be fixed? Is there an issue tracker where we can report and follow up on such bugs?
I wonder if the same thing happens on Linux

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>