Skip to main content

Software and Config Update Process - BETA

This page covers the process we are initially using for FW upgrade during the ALPHA/BETA phase. An Ethernet connection is required directly to the product for the TFTP update and a Serial connection is required for the Kermit update.

The process will be streamlined as we move toward full release.

The User Configuration will be retained following an update - although it is recommended to check the new user.cfg for any additions.

danger

These documents are intended to provide early access information to interested parties during the development process. Whilst we strive to maintain accuracy, any part of the specification or design of these products may change without notice.

This page was last reviewed for accuracy on October 29th 2024.

Local Update - Windows

Software updates are distributed in files with .new suffix and can be updated as follows.

  1. Set your PC's static IP to a value in the same range as the Mini or Mini OEM. This can be done from the command line with:
    netsh interface ipv4 set address name="Ethernet" static 192.168.250.10 255.255.255.0 192.168.250.1

    note

    Ethernet is used as an example here. You will need to replace this with the adaptor number you are using.

    If you monitor the network connections when you plug in the Mini or Mini OEM ethernet you will see the name appear.

    Network connection example

  2. Go to: Control Panel –> Programs –> Turn Windows features on or off and Scroll down to TFTP and select it.

  3. You can then use the TFTP client to copy new image over Ethernet. NOTE: -i option for octet transfer

note

When updating firmware the supplied 'user.cfg' file should also be loaded - see instructions and downloads below.

In addition the command tftp -i 192.168.250.1 put "<path\filename>" user.fac will create a user factory file which is used when factory reset is performed.

Devices since FW v0.4 are shipped with user.fac pre-loaded, however it is a common practice to update it when updating the user.cfg and FW file

e.g: tftp -i 192.168.250.1 put "C:\Users\Major Tom\Documents\user1.fac" user.fac

  1. Windows command line tftp -i 192.168.250.1 put "<path\filename.new" H7-App.new
    e.g: tftp -i 192.168.250.1 PUT "C:\Users\Major Tom\Documents\H7-App-v0.3.new" H7-App.new
  2. LED blinks between BLUE-GREEN and LIGHT BLUE during the TFTP transfer
  3. When tftp reports completion with correct size against our published value the file transfer is complete.
  4. Power cycle the unit. Restart after update takes about 30s The LED is red whilst the FLASH is erasing and flashes RED/GREEN for about half a second whilst the new image is programmed.
  5. Then continues with normal start - GREEN until modem starts, then LIGHT BLUE.

User config Update - Windows

  1. User config load is tftp -i 192.168.250.1 put "<path\filename>" user.cfg
  2. To get the current config out use tftp -i 192.168.250.1 get user.cfg "<path\filename>"
    For example: tftp -i 192.168.250.1 get user.cfg "C:\Users\Major Tom\Documents\user.cfg"
  3. LED blinks between BLUE-GREEN and LIGHT BLUE during the TFTP transfer

User factory file Update - Windows

Early BETA hardware will not have the user.fac file present so this needs to be put on the device so that the file is there if a factory reset is intiated from the reset button press. The step is only required before updating to v0.3 or later.

  1. Factory file load is tftp -i 192.168.250.1 put "<path\filename>" user.fac

Local Update - Linux/IoS

  1. Install a tftp client: sudo apt install tftp (Not required for IoS as tftp is natively installed)
  2. Connect rr-mini via ethernet cable
  3. Static the IP of the network interface the rr-mini is connected to, eg if connected to "eth0" use sudo ifconfig eth0 192.168.250.10
  4. Launch the tftp client by running the command tftp. Hit the enter key twice to initialise the prompt.
  5. Once tftp is running it will issue the prompt "tftp>" type the following commands, one by one to complete the transfer:
  6. connect 192.168.250.1 (makes the connection with the host)
  7. binary (Sets mode to binary)
  8. put <path>H7-App-X-Y-Z.new H7-App.new (Initiates file transfer)
  9. After transfer power cycle the unit. Restart after update takes about 30s The LED is red whilst the FLASH is erasing and flashes RED/GREEN for about half a second whilst the new image is programmed.

User config Update - Linux/IoS

  1. User config load is put <path><new-config> user.cfg (Initiates file transfer)
  2. To get the current config out use get user.cfg <uploaded-file-name> (Initiates file transfer)

Example user.cfg

Refer to the User Configuration Page.

If the software update fails for any reason:

  • Disconnect the power from the device, wait 1 minute and reconnect the power.
  • The Mini will restart using the original software version, you can then attempt to update the software again following the process above.

Firmware update via Serial Port

info

Serial update is supported from FW v0.6 onwards

Windows

Requires connection to a terminal application that supports Kermit file transfer. Example below uses Teraterm for Windows

  • Serial port settings are 115200,n,8,1

  • Terminal settings are:

terminal-settings.png

  • Put the RockREMOTE Mini in "Kermit Receive" Mode:

Command:

AT+CTOK

Expected response:

+CTOK: <token number>

OK

Command:

AT+CDFU=<insert token number>

Expected Response:

+CDFU: READY

teraterm-upgrade-commands.png

Click File>Transfer>Kermit>Send... Select the firmware file in the dialog.

tip

The downloaded firmware file must be renamed 'H7-App.new' (case-sensitive)

teraterm-file-transfer.png

Progress bar will reach 100% and the dialogue will close.

RockREMOTE Mini will automatically reboot on completion.

Linux

  1. Put the RockREMOTE Mini in "Kermit Receive" mode by sending it:

Command:

AT+CTOK

Expected response:

+CTOK: <token number>

OK

Command:

AT+CDFU=<insert token number>

Expected Response:

+CDFU: READY

  1. Save Kermit script to "rr-mini-fw-update.kerm"
#!/usr/bin/kermit +
if < \v(argc) 4 {
echo "Usage: \%0 <serial port> <baudrate> <*.new app file>"
echo "eg. \%0 /dev/ttyUSB0 115200 H7-App.new"
exit 1
}
assign SERIAL_PORT \%1
assign SERIAL_BAUD \%2
assign FILENAME \%3
# Set the communication parameters
set line \m(SERIAL_PORT)
set speed \m(SERIAL_BAUD)
set flow none
set parity none
set stop-bits 1
set carrier-watch off
set file names literal
set window-size 1
set receive packet-length 94
send /AS-NAME:H7-App.new /BINARY \m(FILENAME)
# Uncomment this for stats to be displayed at the end
# statistics /VERBOSE
close
exit
  1. Run the script by:
./rr-mini-fw-update.kerm /dev/ttyUSB0 115200 /<filepath>/<Firmware File>
note

Replace ttyUSB0 with your correct serial device name (run dmesg | grep tty to find)

RockREMOTE Mini will automatically reboot on completion.

Downloads & Release Notes

note

Ensure that both user.cfg and user.fac are PUT onto the Mini or OEM unit. As covered in the instructions above. These files can be downloaded using the links below.

v0.8

FW Version 0.8 - LATEST

Changes Included:

  • Firmware Watchdog - The MCU will now automatically reset after a 4-Second Lock-Up, improving stability
  • Iridium Modem Auto-Restart - The Iridium modem will now reset during initialisation if there’s no signal or valid provisioning data within 2 minutes. This change can improve registration with the Iridium Gateway
  • Serial Parameters - Support for RS422, RS4XX_FULL

Bug Fixes:

  • Inbound Rules Configuration – Fixed an issue where missing inbound rules in user.cfg could cause the firmware to lock up when accessing the local web or TFTP interfaces
  • MO Transmission Stability – Resolved a lock-up issue occurring after multiple Mobile Originated (MO) messages were sent repeatedly over several hours.
  • RS4XX Compatibility – Fixed an issue affecting RS4XX_FULL on the user serial interface.
  • Web UI – Corrected an issue where DNS 2 was displaying the same value as DNS 1.

Known bugs:

  • DHCP Re-assigns already allocated address after reboot
  • AT+IMTQ error: Reports no waiting packets but still had data waiting to send

v0.7 (BETA)

FW Version 0.7 (BETA)

Changes included:

  • Port forwarding added.
  • Outbound IP filtering added.
  • Sleep pin functionality enabled.
  • Number of messages in queue now increased to 100 (Each for MO and MT)

AT commands added:

  • No new AT commands added

Bug fixes:

  • No major bug fixes

Known bugs:

  • DHCP Re-assigns already allocated address after reboot
  • AT+IMTQ error: Reports no waiting packets but still had data waiting to send

v0.6 (BETA)

FW version 0.6 (BETA)

Changes included:

  • OTA upgrade and downgrade via CDM
  • Firmware configuration via CDM
  • Remotely access RockREMOTE configuration and status information via Cloudloop
  • KERMIT library integration
  • Transfer config file over serial port
  • Firmware update via Serial port
  • Device status web page
  • DNS server addresses supplied by DHCP

AT commands added

  • AT+CGCV: RR-mini firmware version
  • AT+CIRV: 9770 firmware version
  • AT+CFGR: Read RR-mini configuration
  • AT+CFGW: Write RR-mini configuration
  • AT+IMTRJ: Read MT message with JSON payload
  • AT+IMTWJ: Send MT message with JSON payload
  • AT+IMTWU: Send unchecked MO message - binary payload

Bug fixes:

  • AT+IMTWT failed if there is comma in the message payload

Known bugs:

  • DHCP Re-assigns already allocated address after reboot
  • AT+IMTQ error: Reports no waiting packets but still had data waiting to send

v0.5 (BETA)

FW version 0.5 (BETA)

Changes included:

  • The idle power consumption be less than 350mW (ethernet off)
  • Additional AT commands to return the current power consumption
  • AT GNSS command to tell Mini its location (from external host with GNSS)
  • Additional AT command to enable and disable Ethernet interface

Known bugs:

  • AT+IMTQ reports correct number of queued messages, but the incorrect size of queued data
  • After device is turned off DHCP server will incorrectly re-allocate the 1st defined IP address to the next client that requests.
  • AT+IMWT will not accept messages that contain commas

v0.4 (BETA)

FW version 0.4 (BETA)

Changes included:

  • Addition of IP routing support
    • No firewall/filtering (planned for a future release)
    • RockREMOTE Mini provides a ‘default gateway’ for LAN devices.
    • Dynamic NAT for ICMP4, UDP, and TCP
  • HTTP server running on port 80 to show local status information
  • Cloudloop Device Manager (CDM) features
    • Device remote reboot (IMT control message)
    • Device reports status on startup (IMT message to CDM)
    • Device reports GNSS location on request.
  • DHCP supported
  • SNTP supported
  • Enable/Disable of functional blocks in user.cfg
  • Support for 1D hardware - except selection of active GNSS antenna

Incorporated internal testing and field feedback:

  • Fixed: Occasionally packets on the LAN were not forwarded to the WAN.
  • Fixed: More than 10 queued MO messages caused a crash.
  • Fixed: Limit of 30kbytes on MO message - now full 100kbytes.
  • Fixed: Limit of 64kbytes on MT message - now full 100kbytes.
  • Fixed: AT+GNSS reports incorrect longitude.
  • Fixed: QSPI FLASH could be locked with PoE supply.
  • Fixed: Firmware update failed when using PoE supply.

Known bugs:

  • AT+IMTQ reports the correct number of queued messages, but the incorrect size of queued data.
  • After the device is turned off, the DHCP server will incorrectly re-allocate the first defined IP address to the next client that requests it.

v0.3.3 (BETA)

FW version 0.3.3 (BETA)

Changes included:

  • The bug causing the device to reset if there were more than 10 outgoing messages queued is fixed.
  • The size of IMT message reliably handled is now the full IMT 100,000 byte capacity.

Known bugs:

  • The statistics reported by the AT+IMTQ command can be inaccurate.
  • The number of queued incoming and outgoing messages is correct. The total size of the outgoing messages is not.

v0.3 (BETA)

FW version 0.3 (BETA)

This release allows the Mini or Mini OEM serial port to be used for sending and receiving blocks of either binary or text to or from provisioned topics over Iridium IMT. Full definition of the AT command interface can be found in the 'Mini Serial Interface' section of these docs.

Known bugs: Data transfer can be unreliable with message sizes above 30kB.

Config Files

Example User Config File

Example User Factory File

note

The purpose of the .fac file is to provide a reset to factory default path. If a factory reset takes place, this file will replace the user.cfg file within the product.

Iridium Firmware

Although it is possible to update the Iridium 9770 modem firmware directly. Only do this if instructed by Ground Control - the latest firmware is bundled in the main software update.