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.

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 RockREMOTE Mini or skip to Step 2 if using DHCP.
    • 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
      • Or by going to Control Panel -> Network and Internet -> Network and Sharing Centre -> Change adapter settings -> Your adapter -> Properties -> ~IPv4
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 RockREMOTE Mini's ethernet you will see the name appear.

Network connection example

  1. Go to: Control Panel –> Programs –> Turn Windows features on or off and Scroll down to TFTP and select it.
  2. 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

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

  1. Put the RockREMOTE Mini in "Kermit Receive" Mode:

Command:

AT+CTOK

Expected response:

+CTOK: <token number>

OK

Note that the token number will only be valid for 30s

Command:

AT+CDFU=<insert token number>

Expected Response:

+CDFU: READY

teraterm-upgrade-commands.png

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

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

teraterm-file-transfer.png

  1. Progress bar will reach 100% and the dialogue will close.
    • The RockREMOTE Mini will automatically reboot on completion.

Linux

  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. Put the RockREMOTE Mini in "Kermit Receive" Mode:

Command:

AT+CTOK

Expected response:

+CTOK: <token number>

OK

Note that the token number will only be valid for 30s

Command:

AT+CDFU=<insert token number>

Expected Response:

+CDFU: READY

  1. Run the script by:
./rr-mini-fw-update.kerm /dev/ttyUSB0 115200 /<filepath>/<Firmware File>
  1. Progress bar will reach 100% and the dialogue will close.
    • The RockREMOTE Mini will automatically reboot on completion.
note

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

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.10

FW Version 0.10 - LATEST

Changes Included:

  • Message storage and Queue design reworked - Buffer size expanded for stored messages to 1.8MB and Queue is dynamically adjusting between MOs/MTs with max number of 1500 messages
  • IMT Messages History list - Queued, Sent, Dropped, Expired
  • Extended DHCP functionality - Editable DHCP scope, Invalid scope will revert to default (192.168.250.100-199), Persisted DHCP table, Editable Lease Time
  • Port Forwarding is blocked to the local gateway/Mini
  • Redesigned Web Status Page

Bug Fixes:

  • Ethernet works on 10M/100M Half and Full duplex
  • DHCP address allocation functions as intended
  • +IMTQ now reports packets accurately
  • Serial Update Kermit protocol reliability issue resolved

Known Bugs:

  • +IMTC1 has been observed to cause a crash
  • +IMTWU incorrectly reports +IMTWB for error status

AT commands changed:

  • Full support of +IMTMOS - MO Status
  • Full support of +IMTC - Clear/Cancel Message
  • Full support of +IMTS - MO/MT History

v0.8

FW Version 0.8

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
  • +IMTQ - Reports no waiting packets but still had data waiting to send
  • Ethernet speed: Mini only communicates on 100M/Full
  • Update over serial can be found unreliable

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)

Known bugs:

  • DHCP Re-assigns already allocated address after reboot
  • +IMTQ - 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
  • +IMTQ - Reports no waiting packets but still had data waiting to send
  • Freeze if new config is loaded: Do not update user.cfg to latest before upgrading Firmware

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.