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
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 );