📣 Firmware Update Release:
Firmware Version v0.13 is now released! Please follow the link here or update via Cloudloop Device Manager.
Firmware and Config Update Process
This page covers the process for Firmware and Config updates. The RockBLOCK Pro receives regular firmware updates that contain enhancements and new features, many of which may have added more configuration - therefore we advise checking our User Configuration page and updating the file as required.
Mass Storage Drive via USB Type-C​
The RockBLOCK Pro will enumerate as a mass storage drive under the name of "RockBLOCK P" once connected to an end device via USB Type-C.
This can currently serve to upload a Firmware or User Configuration file to, and after a reboot of the RockBLOCK Pro the new file will be found and updated to.
The files are case-sensitive and will have to match the following naming convention
- Firmware =
L4-App.new
- User Configuration =
user.cfg
It is recommended to use a JSON editor when changing the file as invalid JSON will revert to the default User Configuration file with no error
AT Interface and C-Kermit via Serial​
The RockBLOCK Pro allows the update of the Firmware or User Configuration file via Serial over a different individual method
User Configuration update over AT Interface​
The User Configuration can be read with AT+CFGR
and will return a single line JSON payload followed by OK
Example payload:
{"Serial":{"Enabled":true,"mode":"RS232","baud":115200,"parity":"NONE","bits":8,"stop":1},"BLE":{"Enabled":false},"GNSS":{"Enabled":true,"nmeaForwardEnabled":false,"reportInterval":0,"stlMode":"DYNAMIC","stlSens":"HIGH"},"Sensors":{"Enabled":true},"IO":{"IOtype":"NONE"},"SleepMode":"NONE","LEDS":{"Enabled":false},"Imt":{"defaultTopic":244,"defaultTTL":86400},"BUZZER":{"Enabled":true}}
Once edited, it can be updated withAT+CFGW={<SinglelineJSONpayload>}
- More Information
Firmware Update over Kermit​
This Firmware update method requires the use of C-Kermit and the AT interface which is used to set the RockBLOCK Pro in "Kermit Receive" mode
The Firmware file must be named case-sensitive L4-App.new
Windows
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 RockBLOCK Pro 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 'L4-App.new' (case-sensitive)
- Progress bar will reach 100% and the dialogue will close.
- The RockBLOCK Pro will automatically reboot on completion.
Linux
Linux​
- Save Kermit script to "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 L4-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:L4-App.new /BINARY \m(FILENAME)
# Uncomment this for stats to be displayed at the end
# statistics /VERBOSE
close
exit
- Put the RockBLOCK Pro 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:
./fw-update.kerm /dev/ttyUSB0 115200 /<filepath>/<Firmware File>
- Progress bar will reach 100% and the dialogue will close.
- The RockBLOCK Pro will automatically reboot on completion.
Replace ttyUSB0
with your correct serial device name (run dmesg | grep tty
to find)
Also replace baudrate and other parameters if required
Mac OS X
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 L4-App-Test-0-0-0.new, close, exit"
Replace /dev/tty.usbserial-FT4WLSEC
with your correct serial device name (run dmesg | grep tty
to find)
Also replace baudrate and other parameters if required
Also replace L4-App-Test-0-0-0.new
with the correct filename
Over the Air via Cloudloop Device Manager​
Cloudloop Device Manager allows remote management and troubleshooting of devices and uses IMT (Iridium Messaging Transport)
Any use of Cloudloop Device Manager will result in data usage
User Configuration update over IMT and CDM​
Optimising for lowest possible satellite data usage, the user configuration file is split by sections in CDM.
Each section can be individually requested, and updated.
Firmware update over IMT and CDM​
CDM allows the upgrade and downgrade of Firmware with the option to check the current version, see the release notes of new versions and the estimated size of the new version.
Downloads & Release Notes​
v0.13​
Download FW Version 0.13 - LATEST
New Features:
- RockBLOCK PRO is now supported in Cloudloop Device Manager, including configuration and firmware updates over-the-air
- RockBLOCK PRO enumerates a second virtual serial port over USB-C, enabling AT command support
- RockBLOCK PRO STL module support is now enabled (Set up in production and disables the use of internal GNSS)
- Tracking position reports can now be sent at configurable intervals to Cloudloop Device Manager and Cloudloop Tracking (Messages include Time, Latitude, Longitude, Altitude, COG and SOG)
- User-configurable NMEA forwarding from the GNSS (or STL) module via the serial interface
- Message queuing system revised to significantly increase MO and MT storage capacity and allow concurrent processing (Increasing absolute stored message count from ~500 to ~6000 and increasing the total capacity from ~1.8Mb to ~3Mb)
- Cloudloop Device Manager MT File transfers are now revised and significantly improved
Bug Fixes:
- Fixed mismatch between
+IMTMTRING
and+IMTMTS
MTMessageID
- SMTP email formatting corrected by removing name fields and trimming angle brackets ("< >")
- Altitude values >9000m now correctly handled (previously returned
Invalid Position
) - Resolved deaf timer triggering when 0 topics are provisioned but data services are active
RS4XX_FULL
now correctly persists in configuration and no longer reverts toRS232
after reboot- Requesting all configuration segments from Cloudloop Device Manager no longer triggers an unexpected reboot
- Firmware update over Cloudloop Device Manager is now fully functional
- Zero-length CDM MT messages no longer cause a malloc failure
- IMT MT message handling improved and fixed – multiple back-to-back messages can now be processed reliably
Known Bugs:
- Enabling NMEA forwarding via serial (
AT+CFGW
) may cause a soft reboot. - Updating the Iridium modem firmware over Serial may require a manual reboot.
- On the RockBLOCK Pro - Physical Sleep Pin is not yet implemented.
- On the RockBLOCK Pro - Mass Storage and virtual serial ports may not enumerate properly in low current USB ports and may require an additional power supply using the Power, Serial and GPIO cable (Seen on Raspberry Pi 4).
RockBLOCK Pro STL only:
- Kalman filter on STL module is hard set to
Marine
and power saving toOFF
View previous Release Notes
(BETA) v0.12.28
Connectivity & Interfaces
- Communicates via Iridium Satellite using IMT (Message Transport) protocol with support for ASCII (text), binary and JSON payloads.
- USB-C interface supports dual virtual serial ports and mass storage enumeration.
- 1 Virtual Serial Port showing Status and Statistics
- 1 Virtual Serial Port enabling AT+CMD
- Sleep pin functionality on Power, Serial and GPIO Cable.
Messaging & Data Handling
- Stores messages and dynamically balances MO and MT queues.
- Full support for MO/MT message history, clear/cancel operations, and status queries via AT commands.
- Cloudloop Device Manager (CDM) allows remote configuration, firmware upgrades, location reports and more.
- Configurable tracking reports sent at defined intervals containing GNSS position.
- Message delivery reliability watchdogs and re-queueing logic to avoid loss during transmission.
Configuration & Management
- All device configuration can be updated remotely over-the-air (OTA) via Cloudloop Device Manager.
- Full Cloudloop Device Manager integration for remote command, reboot, and configuration inspection.
- Virtual Serial Port exposing status and statistics via Type-C.
- Supports firmware updates via Cloudloop Device Manager OTA (from Iridium network), Mass Storage (USB Type-C), and Serial (Kermit protocol).
GNSS & Positioning
- Supports GNSS positioning with user-configurable NMEA sentence forwarding via serial.
- AT command available to report or manually inject GNSS coordinates.
AT Command Interface
Complete AT command set for:
- Message queue management
- Modem and MCU diagnostics
- GNSS reporting
- Configuration control
Reliability & Stability
- Built-in watchdog resets MCU after lockup (4s timeout).
- Iridium modem auto-restart logic during provisioning or signal failure (2m timeout).
Hardware Support & Expansion
- Supports RS232,RS422/RS485 (full duplex) serial modes.
Known Bugs:
- When a series of IMT MT messages are sent in quick succession in some cases one or more messages may be lost/dropped - this behaviour has mainly been seen/replicated when requesting all sections from the Config from CDM.
- MO Queue can stall in low signal environments and cause a reboot.
- RS4XX_FULL reports as RS232 in User Configuration and may default to RS232 after a reboot.
- Firmware update over CDM might not be possible due to dropped MTs. Local firmware update unaffected. We are working with Iridium to resolve this problem.
- Soft-reboot can occur when NMEA forwarding is first enabled through serial (AT+CFGW).
- Updating the Iridium Modem Firmware over Serial can cause a Bootloader Cycle requiring a manual reboot.
- Mass Storage and virtual serial ports may not enumerate properly on Raspberry Pi OS.
- Physical Sleep Pin not yet implemented.
- SBD Emulation currently incomplete.
Recommendations:
- Physical Serial Configuration: RS232, 115200, 8 data bits, no parity, no flow control
- Local Firmware and Configuration update either via Mass Storage (USB Type-C) or Serial (Kermit)
- Sending MT at intervals longer than 15s apart