Firmware and Config Update Process
This page covers the process for local FW upgrade.
An Ethernet connection is required directly to the product for the TFTP update and a Serial connection is required for the Kermit update.
The User Configuration will be retained following an update - although it is recommended to check the new user.cfg for any additions.
Firmware V0.10 and earlier will not gain an Iridium connection with Iridium firmware versions higher than 1.3.4.
At the time of V0.12 release all RR Mini products in the field have Iridium firmware version 1.3.4.
Product shipped after 7th April 2025 will have Iridium firmware version 1.5.5 or higher.
These products MUST not have the RR Mini firmware downgraded lower than V0.12.
Local Update - Windows
Firmware updates are distributed in files with .new
suffix and can be updated as follows.
- 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
- This can be done from the command line with:
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.
- Go to: Control Panel –> Programs –> Turn Windows features on or off and Scroll down to TFTP and select it.
- You can then use the TFTP client to copy new image over Ethernet. NOTE: -i option for octet transfer
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.
The downloaded firmware file must be renamed 'H7-App.new' (case-sensitive)
- 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
- LED blinks between BLUE-GREEN and LIGHT BLUE during the TFTP transfer
- When TFTP reports completion with correct size against our published value the file transfer is complete.
- 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.
- Then continues with normal start - GREEN until modem starts, then LIGHT BLUE.
User config Update - Windows
- User config load is
tftp -i 192.168.250.1 put "<path\filename>" user.cfg
- 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"
- LED blinks between BLUE-GREEN and LIGHT BLUE during the TFTP transfer
- Reboot the unit
Local Update - Linux/IoS
- Install a TFTP client:
sudo apt install tftp
(Not required for IoS as tftp is natively installed) - 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
- Launch the TFTP client by running the command
tftp
. Hit the enter key twice to initialise the prompt. - Once TFTP is running it will issue the prompt "tftp>" type the following commands, one by one to complete the transfer:
connect 192.168.250.1
(makes the connection with the host)binary
(Sets mode to binary)
The downloaded firmware file must be renamed 'H7-App.new' (case-sensitive)
put <path>H7-App-X-Y-Z.new H7-App.new
(Initiates file transfer)- 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
- User config load is
put <path><new-config> user.cfg
(Initiates file transfer) - Reboot the unit for the change to take effect - 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 firmware or config 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 firmware/config version, you can then attempt to update the firmware/config 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:
- 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
- Click File > Transfer > Kermit > Send ... Select the firmware file in the dialog.
The downloaded firmware file must be renamed 'H7-App.new' (case-sensitive)
- Progress bar will reach 100% and the dialogue will close.
- The RockREMOTE Mini will automatically reboot on completion.
Linux
- 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
- 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
- Run the script by:
./rr-mini-fw-update.kerm /dev/ttyUSB0 115200 /<filepath>/<Firmware File>
- Progress bar will reach 100% and the dialogue will close.
- The RockREMOTE Mini will automatically reboot on completion.
Replace ttyUSB0 with your correct serial device name (run dmesg | grep tty
to find)
Mac OS X
MacOS, including older versions of C-Kermit (v9) running on Linux require the following:
kermit -l /dev/tty.usbserial-FT4WLSEC -b 115200 -i -C "set carrier-watch off, set flow none, set parity none, set stop-bits 1, set file names literal, set window-size 1, set receive packet-length 94, send /AS-NAME:H7-App.new /BINARY H7-App-Test-0-0-0.new, close, exit"
Downloads & Release Notes
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.12
Download FW Version 0.12 - LATEST
New Features (RockREMOTE Mini):
- REST API now accessible via LAN with commands to request Iridium Signal quality, Iridium registration state and to command a reboot of the Mini terminal.
- SMTP Server with ability to receive a MIME attachment via LAN then process the attached file via a single or multiple IMT messages as required. File rebuilt and forwarded to destinations in Cloudloop Data.
- Now possible to make all Configuration updates Over The Air via Cloudloop Device Manager.
- SNTP available on the LAN with time sourced from local GNSS.
- RR-Mini and the upcoming RockBLOCK PRO will now have the ability to support the OTA upgrade of the Iridium modem FW directly from the Iridium system. Ground Control will have full control over triggering the modem upgrade and customers will be notified in advance. (OTA will only be available for products using Iridium modem FW versions 1.5.5 or above.)
New Features (RockBLOCK PRO):
- In preparation for early adopters of RB PRO, 2 virtual serial ports and a mass storage device are now available via the USB-C port.
- One of the virtual serial ports of RB PRO will stream status information.
Bug Fixes:
- Fixed IP Lock-Up after a large amount of consistent IP Data.
- Fixed various refinements to AT command functions and responses.
+CETH
will now return+CETH ERROR 1
rather than+CETH ERROR
so that future additional error states can be enumerated if required.AT+IMTC3
will now cancel the selected MO providing it is not transferred to the modem.AT+IMTC2
will now clear all messages in the MO queue aside from any that are transferred to the modem.AT+IMTA
now works as documented with the use of MessageID.+IMTC1
no longer observed to cause a crash.+IMTWU
no longer incorrectly reporting +IMTWB for error status.
Know Bugs:
- When a series of IMT MT messages are sent to the RR-Mini in quick succession in some cases one or more message may be lost/dropped - this behaviour has mainly been seen/replicated when requesting all sections from the Config from CDM.
- The RR-Mini will re-boot if sent a zero length message (empty field) is sent from Cloudloop Device Manager.
AT+CETH=ASCII
will turn Ethernet OFF.+IMTMTS
MT MessageID could deviate and have a mismatch from+IMTMTRING
.
ALERT
- Firmware V0.10 and earlier will not gain an Iridium connection with Iridium firmware versions higher than 1.3.4. At the time of V0.12 release all RR-Mini products in the field have Iridium firmware version 1.3.4. Product shipped after 7th April 2025 will have Iridium firmware version 1.5.5 or higher. These products MUST not have the RR-Mini firmware downgraded lower than V0.12.
v0.10
v0.10 no longer available for download here. Contact our support team if required.
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+IMTA
does not use<Message ID>
but only acknowledges MT at head of queue
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
v0.8 no longer available for download here. Contact our support team if required.
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 asDNS 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
+IMTA
does not use<Message ID>
but only acknowledges MT at head of queue
v0.7 (BETA)
v0.7 no longer available for download here. Contact our support team if required.
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)
v0.6 no longer available for download here. Contact our support team if required.
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 versionAT+CIRV
- 9770 firmware versionAT+CFGR
- Read RR-mini configurationAT+CFGW
- Write RR-mini configurationAT+IMTRJ
- Read MT message with JSON payloadAT+IMTWJ
- Send MT message with JSON payloadAT+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
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 Modem Firmware
The process to update the Iridium 9770 modem firmware locally is similar to the updating the product firmware over TFTP.
If this update is required further instructions will be provided by the Ground Control team.