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.
- 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.
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
- 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
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.
- Factory file load is
tftp -i 192.168.250.1 put "<path\filename>" user.fac
Local Update - Linux/IoS
- Install a TFTP client:
sudo apt install tftp
(Not required for IoS as tftp is natively installed) - Connect rr-mini via ethernet cable
- 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)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) - 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:
- 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)
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.10
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
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
v0.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)
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 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.