RediGate 400 Tarball Update History
As of December 2017, RediGate firmware releases include a file checksum (SHA-256), which can be used to validate the authenticity of a downloaded file.
To view the expected file checksum, find the release date of the file in its Change Log (or locate the SHA hash of other released software) at the RediGate Product Support Page: http://redigate.elecsyscorp.com/software
To verify the checksum of a downloaded file, use a SHA-256 calculation app, such as one of the following:
- MD5 & SHA Checksum Utility
- With 7-Zip installed, right-click on file and choose "CRC SHA" context menu (SHA-256)
- Or, at a Linux command line enter: sha256sum filename
Change Log
2019-05-17-1400
JPL SHA-256 checksum: BD272604D1CC9F042594C4BD1EAD145AA9FFD104556725DFBC04EA889451A006
RediGateMMI : Each time a Banner is displayed, then check if Reconfiguring
AutoProc : Looping of Event Files with Last Event / Jump to Last Event
JSON_Rbe : use GMT/UTC instead of localtime() for all CSV operations
CellLEDs : Problem if not UBLOX or (CoreMSQID == 0)
2019-04-04-1000 JPL
JSON_Rbe : From PRIORITY_HIGH-33 to PRIORITY_HIGH-397
UMUX : Sent AT+CEDRSX+3,2 ..3,2...3,5.. to disable Power Save Mode
: which could potentially disable inbound connections
RediGate400_configs.tgz : New from Jon Tandy with SARA-R4 enabled
cellmodem.tcl : From JPT. I forgot to update tarball with this file.
CellLEDs : Try twice to set AT+UGPS=1,0,3 for basic satellites
uff2lnux : From Valmet5?????.1.cfg to Valmet5Mast?????.1.cfg
SosMast : Read support of Omni-6K/7K Cmd-65
SRTPMast : More support of CPU-Regs in word and Bit modes
2019-03-28-1700 JPL
RediGateMMI : ALter Chan/Rtu in CustomReport option, can view CSV files
: from /tmp/sdcard1/SNF*/*.csv
enize : ENIZING for Schenck OpenSSL encryption
ROCMast : Fuller support of TypePnt-99 (Tables 0 - 15) Configurable
: OpCodes 10/11 reading and writing
CirrusRBE : Can process SARA-R4 GPS data. It could take up to two minutes
: to get GPS intialized
JSON_Rbe : Fixed bug in processing sdcard/*.csv historical files
start : Attempt to mount USB memory stick if SCDARD does not exist
nodir : rm Bootdelay in both /tmp/director, /tmp/redigate/
2018-12-12-1800 JPL
bootdelay : If ttyS0 interrupts occur within 15 seconds then wait up
: to 1.5 minutes before starting RediGate or Bootloader
SosMast : ASCII Modbus handles LRC errors without crashing
ModMast : Ditto
uff2lnux : UBlox SARA-R410 Verizon and AT&T support w, w/o UMUX
UMUX : Newest
RediGateMMI : Reverse video help text for Modem AT command
: Does not have AutoProc Debug level support yet.
dir_tool : Corrected format for UINT32 in RC_LIST, RJ_LIST
gwutl : JPT updates some error messages
NetMon.sh : Ditto
NetworkMonitor: Ditto
JSON_Rbe : Latest
ROCMast : Better processing of Echoed back PARAMETER header bytes
VirtMast : Latest, Correct RTU_STAT_POLL_DONE/WROTE_DATA
AutoProc : Fisrt Version
MQisdp : Newest
MQRbePr : Newest
DirectorXDBM : Newest
Ymodem : Newest
CirrusRBE : AutoProc support to publish TextFile as RBE String
SpkPlgRBE : Support AutoProc to publish TextFile as RBE String
RediGateMMI : Support for AutoProc diags per Proces Table Row
DirectorScan : If not OneBadPoll kills RTU then MS-DOS Epoch Seconds
start : mount -t vfat -o umask=000 /dev/mmcblk0p1 /tmp/sdcard/
2018-09-06-1000 JPL
ROCMast : More validation of certain OpCodes
hex2bin : for Schneck E-nizing.com encryption
NetMon.sh : JPT updated logging bug
NetworkMonitor: JPT updated
VirtMast : ENGINEERING_SCALE function
ModMast : Preliminary 64bit data reading w/o write
SosMast (NOT) : Preliminary 64bit data reading w/o write (pending testing)
JSON_Rbe : Cleaned up Historical file search of multiple days
dir_tool : produces output if "dir_tool -1 -1 DS" searches all RTU list
uff2lnux : Network Monitor changes, AutoProcess object support
RediGateMMI : RPN-Calc option 'FF' has Double-Hex, Hex->Double converts
2018-08-07-0800 JPL
uff2lnux : Removed some support for Sangoma
VirtMast : New POD_ENGINEER_SCALING function
2018-07-25-1400 JPL
RediGateMMI : Option-21 (Alter CSV StartTime) correctly display Month
CirrusRBE : Processes Header Only CSV files
uff2lnux : JPT Network Monitor Version 2
NetworkMonitor: JPT Initial Script
start : Added "NetworkMonitor restart" as last line
gwutl : JPT Gateway Utility Script
dir_tool : Latest
NetMon.sh : JPT background Network Monitor Script
2018-06-20-0900 JPL
JSON_Rbe : If column heading has EpochTimeMS then 64 bit integer time
: of MilliSeconds since 1969. Intelligent searching through
: CSV files for records to publish and publish all records
: not just the last two days.
CirrusRBE : ditto. Service mosquitt_loop() during searching.
SpkPlgRBE : Force UNDERSCOREs into RtuName. Implement ReconnectDelay.
StoreFwd : If Pacing is 0 seconds then store Milliseconds since 1969
: into first column with heading of "EpochTimeMS"
: If pacing=0 seconds then Millisecond timestamps
RediGateMMI : Directory Services allows user to modify Last CSV Time
root : call /etc/init.d/S01setuptimestamp update
S40crond : 55 **** /etc/init.d/S01setuptimestamp update
S01setuptimestamp : Make certain that clock is 2018 or better
uff2lunx : Support for multiple Network-Monitor Objects
MQisdp : Will adhere better to Reconnect Pacing
dir_tool : Latest
2018-05-22-1000 JPL
ArFunc.so.1.7 : Allow Single HReg write to >49999 address
JSON_Rbe : Allow Long ${GATEWAY} name
uff2lnux : Allow long ${GATEWAY} name in JSON Topics
S15cellmodem : kill tclsh added to all cases
StoreFwd : Better file managment at Midnight, Send today and yesterday
: data
TOTFLOMast : Support for DB-II Data Structure Groups 5,6,7
MQisdp : Removed spaces from URL Names and Gateway Name
2018-04-23-1400 JPL
StoreFwd : When no connection exists continuously check for Midnight
: for creating new starting CSV files, No alter for Timezone
DirectorScan : Support for SetOsVal and other updates
uff2lnux : List names of POD Functions 129 to 139. Ctl/Mon Netwrk Object
UffUpdate.txt : Move Ctl/Mon-Network object files to /etc/init.d/
TOTFLOMast : Don't abort POLL/CMD if SendMsg() fails from Broken PIPE
2018-03-13-1400 JPL
JSON_Rbe : THere was not enough checking if the MQttCLient buffer was
: too full
uff2lnux : Latest
dirprofile : added ":/sbin" into export $PATH
2018-02-20-2200 JPL
uff2lnux : Ublox-SARA-R cell modem support
UffUpdate.txt : CAT-M_PPP.sh, Dial.sh move to /etc/init.d/
UMUX : CAT-M modem multiplexer. Does not use virtual hanadshake
: Only send HDLC payloads of 107 byte, AT+CMUX=0,116...
S15cellmodem : If Modem_type=SARA-R4 call /etc/init.d/CAT-M_PPP.sh
2018-02-06-0900 JPL
TOTFLOMast : More diagnostics for 8 byte UNION. Continue 2018-01-26 tarbll
uff2lnux : MeasData support
JSON_Rbe : Even more TagName Command Searching validation
2018-01-26-1400 JPL
uff2lnux : Wesdac Protocol Support
TOTFLOMast : Support for RAMS Array 104 debugging. Allow for UCHAR+32
: Data Type to indicate UNION data of INT32/REAL32 pair to be
: after storing this UCHAR data. Real32 data regi will be
: counted as a INT32 register. Support RAMS arrays 148 to 158
RediGateMMI : Don't ask for CellModem port 73 to 77
2017-12-27-0900 JPL SHA-256 checksum: 792ED046E0275225609DD7630A0BB470A8B9869BB5853C0B27073E83DFCA14FB
CIPMast : Don't interpret "FLOTOTAL_100_Press" as "FLOTOTAL[100].Press
2017-12-13-1500 JPL
dirprofile : Some got "Director" text instead of "RediGate"
JSON_Rbe : Better management of Startup publishing
2017-12-12-1100 JPL
TOTFLOWMast : Sending a command could get into infinite loop
JSON_Rbe : Prevent double/triple publishes after New Broker Connection
2017-11-27-1200 JPL
JSON_Rbe : Device Management by subscribing to File topic with /DEVMAN/
: will allow subscribed files to stored into /tmp/director/
: and periodically a script will run to move to /home/director/
: Immediately pub all RTUs RBEs after Gateway Birth/State topics
TOTFLOMast : Added OPERATIONS APP and SU G4 LIQ APP Support.
: DTYPE_LONG: in ParseReply() was for only 2 bytes not four
Ymodem : Send file namess up to 127 bytes, debug to /tmp/ymodem.dbg
dirprofile : Added /sbin/ to path
GOOBL.sh : Get Out of BootLoader script
bootloader : Call GOOBL.sh
dirprofile : echo "reconfigure" or "reset" >/hom/dirctr/ in Bootloader mode
start : Process STAR files in /home/Dirupld/ and Multiples as well
MQisdp : Timestamp JSON/dir_tool subscribe files in /tmp/director/
: with Milliseconds
uff2lnux : Enable JSON_Leg0 under legacy MQisdp
2017-11-02-1700 JPL
JSONRbe : ProcessJSON() was not correctly check cmd StringLengths
CIPMast : Fragmented Reading and works up to 4000 bytes
2017-10-25-1700 JPL
TOTFLOMast : Added Shutdown App Register(59, Safety Application)
2017-10-25-1000 JPL
TOTFLOMast : Trend File APP needed to act like HoldReg APP for programmable
: data matching Polll Table Column used and inspecting RTDB Reg
CellLEDs : Removed double quotes around strings, support ATI for U-Blox
2017-10-11-1100 JPL
CIPMast : Support for 64bit "LINT" data type from L5XTool
SpkPlgRBE : CMD_MOD_STAT was breaking ipcmsg's with _fGotCmdModStat
CirrusRBE : Search for "/SNFCC_RRRRR/" for CSV Chan/Rtu numbers
StoreFwd : Remove Spaces from CSV file names
TOTFLOMast : RAMS App (Alarm Registers-8) support
2017-10-09-0900 JPL
RediGateMMI : Option-17 MQtt Status looks for 'SpkPlgRBE0'
CirrusRBE : Support Option-17 above, better rcvd-TagName validation
SpkPlgRBE : Ditto and if DNS-Ping fail, then netstat |grep 1883 |ESTAB
: WalkTable command from MMI
CellLEDs : better -SIGINT management
JSON_Rbe : more validation of Received TagName search/matching
uff2lnux : Allow TOTFLOMast Protocol=271 for SlotNumb and StationName-10
TOTFLOMast : Latest
S92leds : usleep 1000000 from sleep 1
2017-08-24-1000 JPL
uff2lnux : Possibility of multiple SpkPlgRBE, new ACE Structure
StoreFwd : Possibility of multiple SpkPlgRBE, new ACE Structure
CIPMast : Support for manually entered Multi-Level UDTs for single value
MQRbePR : Latest
MQXRbePR : Latest
CellLEDs : Release malloc() memory and close /dev/acscomm?? port
CirrusRBE : If cannot connect to broker release malloc() memory and
: after being killed
.profile : added ':/sbin' to export $PATH
RediGateMMI : Allow simple ENTER to abort CustUtil_* selection
2017-08-16-1500 JPL
TOTFLOMast : HoldingRegs APP has unknown DTYPE_??? to use whatever
: DTYPE_ associated inside the RTDB when DATA_SET_FORMATTED
Bootloader : changed from "dctr" uff header marker to "drct"
2017-08-11-0900 JPL
uff2lnux : Support for MultiRBE SparkPlugRBE
VirtMast : JSON_TRAP with correct Register Range Limit based on 'Count'
JSON_Rbe : No RBE Topics DiagMessage(Level-4), AWS Historical data
: SUB_TOPIC_TO_RTDB versus Protocol
SpkPlgRBE : Control process for CirrusRBE
CirrusRBE : Multiple RTU Support, control subscriptions of CMDs
StoreFwd : If SpkPlgB_EZ not found then look for SpkPlgRBE instead
2017-07-24-1300 JPL
VirtMast : New Poll 'Source Type' -> JSON COMMAND TRAP
JSON_Rbe : Accept DATA_SET_FORMATTED from VirtMast JSON_CMD_TRAP
: to enable a 'command' publish topic to Remote Device
: Allow new Replacement ${REG@xxxxx} to use Strings from
: Rtdb Regsiters @ 'xxxxx' (e.g. 49001) as replacements
: Convert <CR><LF><TAB> chars to <SPACE> for Wonderware
StoreFwd : Some Diagnostic changes, dynamically locate starting RBE
: Register instead of requirement of Coil 0001.
Xml2uff : Allow *.xml.gz files names from 128 to 256 bytes
bacnet4linux : 1st inclusion WEB server port 8000 of discovery data
BACnetIpMast : 1st inclusion
uff2lnux : BACnetMast needs SOS Table Size in both old/new NetCircuits
start : Added check for ../config/init.arcom/BACnetIpTool.sh
SpkPlgEZ : If DNS connection to Broker then ping test for only
: 4 seconds and the ping failure can force MQtt shutdown
SpkPlgEZ : If DNS connection to Broker then ping test for only
: 4 seconds and then ping failure can force MQtt shutdown
CirrusLink : Channel Number was not being read from the config file
: Double send Birth Certificates because of issues in DNS
: with DHCP after pulling the RJ-45 Ethernet cable
2017-06-29-1200 JPL
JSON_Rbe : ${CHAN},${RTU},${DEV} replacements. PUB/SUB topics for
: Device,Gateway,STATE,File(History?)
MQisdp : Allow for Topics up to 256 bytes
RbePush : Rotate through all four RBE Flags (0-3) each Interval
: or Individual RBE flags if Chan00 to Chan03
: Customer enters Interval in seconds
CellLEDs : Prevent TIME.GPS from getting large
MQRbePr : Topics up to 256 bytes, Publish TagNames w/o RETAIN, but
: send after every Gateway/Birth topic
2017-06-16-0900 JPL
uff2lnux : MQisdpX? replacement for ${REDIGATE}, ${DIRECTOR} ${GROUP}
MQisdp : 256 char Topics
2017-06-12-1400 JPL
CellLEDs : If no AT-Cmds[] then only regular AT+CSQ request
MQisdp : Wild card replacements
ModMast : If 32bit Format and 16bit RTDB regs then save pairs
dir_tool : Write /tmp/*.dtl for "-1 -1 DS" device status
VirtMast : Latest
MQisdp : More Wildcard placements from Global.txt
DirectorPLC : Latest
libmosquitto.so.1 : Required for CirrusLink
CirrusLink : SparkPlugB-EZ support
SpkPlgEZ : Manager for CirrusLink
uff2lnux : Support for JSON_Rbe, StoreFwd, S03emux -SIGINT CellLEDs
JSON_Rbe : Beta for BlueMix
StoreFwd : Logging to SD-Card1 and publish via SpkPlgEZ
PLC2Mast : Validate unsoliced Write-Cmd-8 DestAddres in byte[4?]
TANOMast : Removed some diags
2017-06-05-1800 JPL
MQRbePr : Publish TagNames WITHOUT 'Retain' flag
2017-06-02-1000 JPL
RediGateMMI : View Store-N-Forward files on sdcard/usb-stick
MQRbePr : Publish TagNames after EVERY Director-BIRTH
2017-04-10-0900 JPL
CellLEDs : SIGINT trap to remove ipcmsg() and then exit
: Flash LED even if PPP not running
S92leds : killall -SIGINT CellLEDs 2> /dev/null
CirrusLink : Beta ver of SparkPlug-B EZ for RBE deliver to Ignition
SpkPlgEZ : Control Process of CirrusLink to launch and kil
ModSlave : added SIGCHLD so system() call won't cause zombie process
DialBackup : Ditto
uff2lnux : Empty TagNames causes problems
2017-03-27-1100 JPL
ROCMast : Newest version
uff2lnux : Beta version of SparkPlug-B
2017-03-20-1500 JPL
OmronFINSMast : Added Timer/Counter FLG(Bool) and PV(Word)
2017-03-20-1300 JPL
OmronFINSMast : Added Expansion Banked(0-7) Data Memory (0x90 to 97)
2017-03-15-1100 JPL
xmlupdate : was creating $ConfigName.xml.xml.gz
OmronFINSMast : From 2012 but first release in 3.12 Linux
2017-03-09-1400 JPL
uff2lnux : Was not managing Dirupld password correctly
RediGate400_configs.tgz : New from JTandy
2017-03-08-1000 JPL
xmlupldate : Error to /home/*/Problem.txt if Multiple *.xml.gz files
DirectorWdog : umount /tmp/sdcard1/ /tmp/usb1/ if /home/director/reboot
VirtMast : all Functions CfgPtrs can be dynamic RTDB references
2017-03-01-1600 JPL
VirtMast : Enable TagNames as Column Headers in DATA_LOGGER
: Data can change TYPE and have Address Gaps
DialBackup : Some local values set to zero
DirectorWdog : If Dialbackup using VirtCOM? then LED controls prevent
: processing 'reset' or 'reconfigure' files
ModMast : Newest for Passthru Modbus aware for validations
TANOMast : Newest for RESET RTU command
PLC2Mast : Support for Peer Write 16bitWordPairs to 32bit RTDB Regs
SRTPMast : Force Local Source port to range 17000 to 17259 for OLD GEs
S91RediGate : case start) and stop) added with umount /tmp/sdcard1/
2017-02-23-1000 JPL
MELSECMast : For Denso project, read/write X,Y,M,D devices with RTDB
: Bool,Int16,Int32,Real32,String-32
2017-02-22-1000 JPL
VirtMast : if TS_ADC_AT_x100=1 then lower libdevmem(0x100 not 0x140)
ModSlTcpd : Newest
ModSlave : Close serial port after CMD_TERMINATE
RediGateMMI : Newest
xmlupdate : *.xml.gz and *.tmp.gz >> /home/*/AceConfigName.txt
customer.Z4 : TS_ADC_AT_x100=1 for VirtMast
PLC2Mast : PLC2 WRITE INT-PAIR to BE/LE WORD 32 bit RTDB
TANOMast : If ModbusCoil Write an OFF then don't send Command
MQisdp : Latest
DialBackup : Changed some Diagnostics
2017-01-31-0900 JPL
VirtMast : VirtMast correctly rejects LOW_PRIORITY Cmd(MSG_REPLY) or
: iCmdRespMSQID==MSQID_INVALID
dir_tool : Add 100 to Channel-Param to keep original file in
: PF (publish-file) command
cellmodem.tcl : If DE910 then from "S11emux" to "S03emux"
uff2lnux : TagName dots to slashes for Ignition.pub file
DialBackup : Resurected for PBF Energy
UdpHandler : Packet byte matching 0 to 5 to enable sending packet
ModMast : In PThru mode bottom 3 digits of ResponseTmout used for
: InterChar Demarkation
MQRbePr : Latest
UdpServ : Latest
2017-01-03-1400 JPL
uff2lnux : EIP TagName DOTs to SLASHES, 2 or More TagNams/Channel
CIPMast : RegSesn setup >60 seconds Idle Timer
VirtMast : POD_GetRTUSTATUS works now, all polls normall SUCCESSFULL
2016-12-29-1000 JPL
DnpMast : _fReconfigure
DnpSlave : _fReconfigure
SmartMux : _fReconfigure
customer.Z* : IM_IGNORE_QUALITY=0
VirtMast : All Polls successful, POD_QUALITYREG to set BAD quality
CIPMast : wStat uninitialized in UpdateMultiRTDB(), uSkipTest==NO_SAVE
uff2lnux : Latest
TOTFLOMast : Latest
UdpHandler : _fReconfigure, never ported to ARM processor
2016-12-08-1600 JPL
RediGate400_configs.tgz : From Jon Tandy
2016-12-05-1600 JPL
RediGate400_configs.tgz : From Jon Tandy
RMNOTLD.sh : Reset EMUX after 4 consec ppp0 restart w/o success
TANOMast : Diagnostic changes
PLC2Mast : Diagnostic changes
2016-11-28-1300 JPL
RegiGate400_configs.tgz : From Jon Tandy
S01setuptimestamp : Extract RediGate400_configs.tgz somewhere
TOTFLOMast : A few more Arrays supported
2016-11-17-1200 JPL
start : use ethtool to obtain SerialNumber for .serial
uff2lnux : CIPMast with SkipPoll options, SINT32 in TagName process
: MQrbePr Enable list, _alCustFlags[BASH_USES_TILDE]
: Subscriptions RBE-Data precedes RBE/RTU-BIRTH certificate
MQRbePr : ditto
MQisdp : Latest
MQRbePr : Latest
CIPMast : SKipReg, ResultReg Poll record processing, SKIP_SAVE_RTDB
: SKIP_EXTRACT_BIT (removed need for +100,000,+200,000 Markers
VirtMast : Improved DiagLog( |uIndex ), String Rplacement last byte
SRTPMast : Too much logic for Long Integers at 45001
cellmodem.tcl : Reprogramming if SIM changed
MQRbePr : Enable RTU List
DirectorPLC : SSCGP/MGLL XMl functions call lRequestSystemCmd()
customer.Z* : BASH_USES_TILDE=1
RediGateMMI : Newest
CellLEDs : Newest, works without AT Commands
DirectorXDBM : Fixed more RBE Stuff
RMNOTLD.sh : If cellmodem fails four times in a row then "S03emux restart"
dir_tool : Latest
TANOMast : Model 100/05 Tano with Spy Mode
PLC2Mast : Supports Spy mode with Unsolicited Write DF1
TOTFLOMast : ABB TotalFlow first Beta version
customer.Z4 : DIRUPLD_PASSWD=1
2016-05-02-1600 JPL
Bootloader : put "rdgt" into Override.UFF.
UffUpdate.txt : openconnect.* to /etc/vpnc/
ModMast : Allow full 16bit Ace RTU Address without breaking protocol
CSPMast : Writing to Bit-15 with cmd 0xAB also wrote Bit-0 next word
DF1Mast : ditto
TermServd : Remvoed Shared Resoure messages
uff2lnux : Newest
2016-04-12-0800 JPL
uff2lnux : TAG_NAMEs any length
2016-03-16-1700 JPL started 1st Linux REDIGATE 400 from Plains-PL
Change.log : First of REDIGATE 400 Series
REDIGATE-400 : New BRANDING name for Tarballs
customer.Z[2,4]: RediGate_400, REDIGATE_400=1
start.new : /tmp/redigate/ and RediGate.0.cfg and AceCfg.xml.gz file
: /home/Dirupld/*.XML.gz moved to /home/director/
uff2lnux : RediGate 400 throughout group with 'redigate'
: Any length TagName->sValue
syslog.conf : /tmp/redigate/RediGateFifo mapping
TarUpdate.txt : syslog.conf to /etc/ mode 0644, scripts/* -> /etc/stunnel/
: S01setuptimestamp to /etc/init.d/
TermServd : Eliminate "Could not semop(?) Success
.profile : 'ps|grep RediGateCore' and ${MYDIR#*RediGate.0.cfg}"
S90DirectorPipe: /tmp/redigate/*
S91Director : /tmp/redigate/*
RediGateCore : Copied from DirectorCore
RediGateMMI : Newly aware of REDIGATE-400
Xml2uff : Convert ACE 3.2 XML file to Apex.uff file
xmlupdate : Modified uffupdate to proces RediGate.xml.gz to UFF with
: ln -s ../config/Apex.uff -> /home/../RediGate.xml.gz.run
S01setuptimestamp : from P66 moved to /etc/init.d/
./scripts/*.sh : Moved to /etc/stunnel/
syslog.conf : /tmp/redigate/RediGateFifo
nodir : /tmp/redigate/Bootdelay
S50stunnel : killall -SIGKILL stunnel 2> /dev/null
VirtMast : Pod Multi-IO card index offset by one
DirectorPLC : libdevmem_open( +0x1a0 );