RediGate 400 Tarball Update History
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: https://redigate.elecsyscorp.com/software
To verify the checksum of a downloaded file, use a SHA-256 calculation app, such as one of the following:
- Using Windows PowerShell: Get-FileHash filename
- At a Linux command line enter: sha256sum filename
- With 7-Zip installed, right-click on file and choose "CRC SHA" context menu (SHA-256)
Change Log
2019-05-17-1400 JPL SHA-256 checksum: BD272604D1CC9F042594C4BD1EAD145AA9FFD104556725DFBC04EA889451A006RediGateMMI : Each time a Banner is displayed, then check if ReconfiguringAutoProc : Looping of Event Files with Last Event / Jump to Last EventJSON_Rbe : use GMT/UTC instead of localtime() for all CSV operationsCellLEDs : Problem if not UBLOX or (CoreMSQID == 0)
2019-04-04-1000 JPLJSON_Rbe : From PRIORITY_HIGH-33 to PRIORITY_HIGH-397UMUX : Sent AT+CEDRSX+3,2 ..3,2...3,5.. to disable Power Save Mode: which could potentially disable inbound connectionsRediGate400_configs.tgz : New from Jon Tandy with SARA-R4 enabledcellmodem.tcl : From JPT. I forgot to update tarball with this file.CellLEDs : Try twice to set AT+UGPS=1,0,3 for basic satellitesuff2lnux : From Valmet5?????.1.cfg to Valmet5Mast?????.1.cfgSosMast : Read support of Omni-6K/7K Cmd-65SRTPMast : More support of CPU-Regs in word and Bit modes
2019-03-28-1700 JPLRediGateMMI : ALter Chan/Rtu in CustomReport option, can view CSV files: from /tmp/sdcard1/SNF*/*.csvenize : ENIZING for Schenck OpenSSL encryptionROCMast : Fuller support of TypePnt-99 (Tables 0 - 15) Configurable: OpCodes 10/11 reading and writingCirrusRBE : Can process SARA-R4 GPS data. It could take up to two minutes: to get GPS intializedJSON_Rbe : Fixed bug in processing sdcard/*.csv historical filesstart : Attempt to mount USB memory stick if SCDARD does not existnodir : rm Bootdelay in both /tmp/director, /tmp/redigate/
2018-12-12-1800 JPLbootdelay : If ttyS0 interrupts occur within 15 seconds then wait up: to 1.5 minutes before starting RediGate or BootloaderSosMast : ASCII Modbus handles LRC errors without crashingModMast : Dittouff2lnux : UBlox SARA-R410 Verizon and AT&T support w, w/o UMUXUMUX : NewestRediGateMMI : 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_LISTgwutl : JPT updates some error messagesNetMon.sh : DittoNetworkMonitor: DittoJSON_Rbe : LatestROCMast : Better processing of Echoed back PARAMETER header bytesVirtMast : Latest, Correct RTU_STAT_POLL_DONE/WROTE_DATAAutoProc : Fisrt VersionMQisdp : NewestMQRbePr : NewestDirectorXDBM : NewestYmodem : NewestCirrusRBE : AutoProc support to publish TextFile as RBE StringSpkPlgRBE : Support AutoProc to publish TextFile as RBE StringRediGateMMI : Support for AutoProc diags per Proces Table RowDirectorScan : If not OneBadPoll kills RTU then MS-DOS Epoch Secondsstart : mount -t vfat -o umask=000 /dev/mmcblk0p1 /tmp/sdcard/
2018-09-06-1000 JPLROCMast : More validation of certain OpCodeshex2bin : for SchneckE-nizing.comencryptionNetMon.sh : JPT updated logging bugNetworkMonitor: JPT updatedVirtMast : ENGINEERING_SCALE functionModMast : Preliminary 64bit data reading w/o writeSosMast (NOT) : Preliminary 64bit data reading w/o write (pending testing)JSON_Rbe : Cleaned up Historical file search of multiple daysdir_tool : produces output if "dir_tool -1 -1 DS" searches all RTU listuff2lnux : Network Monitor changes, AutoProcess object supportRediGateMMI : RPN-Calc option 'FF' has Double-Hex, Hex->Double converts
2018-08-07-0800 JPLuff2lnux : Removed some support for SangomaVirtMast : New POD_ENGINEER_SCALING function
2018-07-25-1400 JPLRediGateMMI : Option-21 (Alter CSV StartTime) correctly display MonthCirrusRBE : Processes Header Only CSV filesuff2lnux : JPT Network Monitor Version 2NetworkMonitor: JPT Initial Scriptstart : Added "NetworkMonitor restart" as last linegwutl : JPT Gateway Utility Scriptdir_tool : LatestNetMon.sh : JPT background Network Monitor Script
2018-06-20-0900 JPLJSON_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 timestampsRediGateMMI : Directory Services allows user to modify Last CSV Timeroot : call /etc/init.d/S01setuptimestamp updateS40crond : 55 **** /etc/init.d/S01setuptimestamp updateS01setuptimestamp : Make certain that clock is 2018 or betteruff2lunx : Support for multiple Network-Monitor ObjectsMQisdp : Will adhere better to Reconnect Pacingdir_tool : Latest
2018-05-22-1000 JPL
ArFunc.so.1.7 : Allow Single HReg write to >49999 addressJSON_Rbe : Allow Long ${GATEWAY} nameuff2lnux : Allow long ${GATEWAY} name in JSON TopicsS15cellmodem : kill tclsh added to all casesStoreFwd : Better file managment at Midnight, Send today and yesterday: dataTOTFLOMast : Support for DB-II Data Structure Groups 5,6,7MQisdp : Removed spaces from URL Names and Gateway Name
2018-04-23-1400 JPLStoreFwd : When no connection exists continuously check for Midnight: for creating new starting CSV files, No alter for TimezoneDirectorScan : Support for SetOsVal and other updatesuff2lnux : List names of POD Functions 129 to 139. Ctl/Mon Netwrk ObjectUffUpdate.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 JPLJSON_Rbe : THere was not enough checking if the MQttCLient buffer was: too fulluff2lnux : Latestdirprofile : added ":/sbin" into export $PATH
2018-02-20-2200 JPLuff2lnux : Ublox-SARA-R cell modem supportUffUpdate.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 JPLTOTFLOMast : More diagnostics for 8 byte UNION. Continue 2018-01-26 tarblluff2lnux : MeasData supportJSON_Rbe : Even more TagName Command Searching validation
2018-01-26-1400 JPLuff2lnux : Wesdac Protocol SupportTOTFLOMast : 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 158RediGateMMI : Don't ask for CellModem port 73 to 77
2017-12-27-0900 JPL SHA-256 checksum: 792ED046E0275225609DD7630A0BB470A8B9869BB5853C0B27073E83DFCA14FBCIPMast : Don't interpret "FLOTOTAL_100_Press" as "FLOTOTAL[100].Press
2017-12-13-1500 JPLdirprofile : Some got "Director" text instead of "RediGate"JSON_Rbe : Better management of Startup publishing
2017-12-12-1100 JPLTOTFLOWMast : Sending a command could get into infinite loopJSON_Rbe : Prevent double/triple publishes after New Broker Connection
2017-11-27-1200 JPLJSON_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 topicsTOTFLOMast : Added OPERATIONS APP and SU G4 LIQ APP Support.: DTYPE_LONG: in ParseReply() was for only 2 bytes not fourYmodem : Send file namess up to 127 bytes, debug to /tmp/ymodem.dbgdirprofile : Added /sbin/ to pathGOOBL.sh : Get Out of BootLoader scriptbootloader : Call GOOBL.shdirprofile : echo "reconfigure" or "reset" >/hom/dirctr/ in Bootloader modestart : Process STAR files in /home/Dirupld/ and Multiples as wellMQisdp : Timestamp JSON/dir_tool subscribe files in /tmp/director/: with Millisecondsuff2lnux : Enable JSON_Leg0 under legacy MQisdp
2017-11-02-1700 JPLJSONRbe : ProcessJSON() was not correctly check cmd StringLengthsCIPMast : Fragmented Reading and works up to 4000 bytes
2017-10-25-1700 JPLTOTFLOMast : Added Shutdown App Register(59, Safety Application)
2017-10-25-1000 JPLTOTFLOMast : Trend File APP needed to act like HoldReg APP for programmable: data matching Polll Table Column used and inspecting RTDB RegCellLEDs : Removed double quotes around strings, support ATI for U-Blox
2017-10-11-1100 JPLCIPMast : Support for 64bit "LINT" data type from L5XToolSpkPlgRBE : CMD_MOD_STAT was breaking ipcmsg's with _fGotCmdModStatCirrusRBE : Search for "/SNFCC_RRRRR/" for CSV Chan/Rtu numbersStoreFwd : Remove Spaces from CSV file namesTOTFLOMast : RAMS App (Alarm Registers-8) support
2017-10-09-0900 JPLRediGateMMI : Option-17 MQtt Status looks for 'SpkPlgRBE0'CirrusRBE : Support Option-17 above, better rcvd-TagName validationSpkPlgRBE : Ditto and if DNS-Ping fail, then netstat |grep 1883 |ESTAB: WalkTable command from MMICellLEDs : better -SIGINT managementJSON_Rbe : more validation of Received TagName search/matchinguff2lnux : Allow TOTFLOMast Protocol=271 for SlotNumb and StationName-10TOTFLOMast : LatestS92leds : usleep 1000000 from sleep 1
2017-08-24-1000 JPLuff2lnux : Possibility of multiple SpkPlgRBE, new ACE StructureStoreFwd : Possibility of multiple SpkPlgRBE, new ACE StructureCIPMast : Support for manually entered Multi-Level UDTs for single valueMQRbePR : LatestMQXRbePR : LatestCellLEDs : Release malloc() memory and close /dev/acscomm?? portCirrusRBE : If cannot connect to broker release malloc() memory and: after being killed.profile : added ':/sbin' to export $PATHRediGateMMI : Allow simple ENTER to abort CustUtil_* selection
2017-08-16-1500 JPLTOTFLOMast : HoldingRegs APP has unknown DTYPE_??? to use whatever: DTYPE_ associated inside the RTDB when DATA_SET_FORMATTEDBootloader : changed from "dctr" uff header marker to "drct"
2017-08-11-0900 JPLuff2lnux : Support for MultiRBE SparkPlugRBEVirtMast : 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 ProtocolSpkPlgRBE : Control process for CirrusRBECirrusRBE : Multiple RTU Support, control subscriptions of CMDsStoreFwd : If SpkPlgB_EZ not found then look for SpkPlgRBE instead
2017-07-24-1300 JPLVirtMast : New Poll 'Source Type' -> JSON COMMAND TRAPJSON_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 WonderwareStoreFwd : Some Diagnostic changes, dynamically locate starting RBE: Register instead of requirement of Coil 0001.Xml2uff : Allow *.xml.gz files names from 128 to 256 bytesbacnet4linux : 1st inclusion WEB server port 8000 of discovery dataBACnetIpMast : 1st inclusionuff2lnux : BACnetMast needs SOS Table Size in both old/new NetCircuitsstart : Added check for ../config/init.arcom/BACnetIpTool.shSpkPlgEZ : If DNS connection to Broker then ping test for only: 4 seconds and the ping failure can force MQtt shutdownSpkPlgEZ : If DNS connection to Broker then ping test for only: 4 seconds and then ping failure can force MQtt shutdownCirrusLink : 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 JPLJSON_Rbe : ${CHAN},${RTU},${DEV} replacements. PUB/SUB topics for: Device,Gateway,STATE,File(History?)MQisdp : Allow for Topics up to 256 bytesRbePush : Rotate through all four RBE Flags (0-3) each Interval: or Individual RBE flags if Chan00 to Chan03: Customer enters Interval in secondsCellLEDs : Prevent TIME.GPS from getting largeMQRbePr : Topics up to 256 bytes, Publish TagNames w/o RETAIN, but: send after every Gateway/Birth topic
2017-06-16-0900 JPLuff2lnux : MQisdpX? replacement for ${REDIGATE}, ${DIRECTOR} ${GROUP}MQisdp : 256 char Topics
2017-06-12-1400 JPLCellLEDs : If no AT-Cmds[] then only regular AT+CSQ requestMQisdp : Wild card replacementsModMast : If 32bit Format and 16bit RTDB regs then save pairsdir_tool : Write /tmp/*.dtl for "-1 -1 DS" device statusVirtMast : LatestMQisdp : More Wildcard placements from Global.txtDirectorPLC : Latestlibmosquitto.so.1 : Required for CirrusLinkCirrusLink : SparkPlugB-EZ supportSpkPlgEZ : Manager for CirrusLinkuff2lnux : Support for JSON_Rbe, StoreFwd, S03emux -SIGINT CellLEDsJSON_Rbe : Beta for BlueMixStoreFwd : Logging to SD-Card1 and publish via SpkPlgEZPLC2Mast : Validate unsoliced Write-Cmd-8 DestAddres in byte[4?]TANOMast : Removed some diags
2017-06-05-1800 JPLMQRbePr : Publish TagNames WITHOUT 'Retain' flag
2017-06-02-1000 JPLRediGateMMI : View Store-N-Forward files on sdcard/usb-stickMQRbePr : Publish TagNames after EVERY Director-BIRTH
2017-04-10-0900 JPLCellLEDs : SIGINT trap to remove ipcmsg() and then exit: Flash LED even if PPP not runningS92leds : killall -SIGINT CellLEDs 2> /dev/nullCirrusLink : Beta ver of SparkPlug-B EZ for RBE deliver to IgnitionSpkPlgEZ : Control Process of CirrusLink to launch and kilModSlave : added SIGCHLD so system() call won't cause zombie processDialBackup : Dittouff2lnux : Empty TagNames causes problems
2017-03-27-1100 JPLROCMast : Newest versionuff2lnux : Beta version of SparkPlug-B
2017-03-20-1500 JPLOmronFINSMast : Added Timer/Counter FLG(Bool) and PV(Word)
2017-03-20-1300 JPLOmronFINSMast : Added Expansion Banked(0-7) Data Memory (0x90 to 97)
2017-03-15-1100 JPLxmlupdate : was creating $ConfigName.xml.xml.gzOmronFINSMast : From 2012 but first release in 3.12 Linux
2017-03-09-1400 JPLuff2lnux : Was not managing Dirupld password correctlyRediGate400_configs.tgz : New from JTandy
2017-03-08-1000 JPLxmlupldate : Error to /home/*/Problem.txt if Multiple *.xml.gz filesDirectorWdog : umount /tmp/sdcard1/ /tmp/usb1/ if /home/director/rebootVirtMast : all Functions CfgPtrs can be dynamic RTDB references
2017-03-01-1600 JPLVirtMast : Enable TagNames as Column Headers in DATA_LOGGER: Data can change TYPE and have Address GapsDialBackup : Some local values set to zeroDirectorWdog : If Dialbackup using VirtCOM? then LED controls prevent: processing 'reset' or 'reconfigure' filesModMast : Newest for Passthru Modbus aware for validationsTANOMast : Newest for RESET RTU commandPLC2Mast : Support for Peer Write 16bitWordPairs to 32bit RTDB RegsSRTPMast : Force Local Source port to range 17000 to 17259 for OLD GEsS91RediGate : case start) and stop) added with umount /tmp/sdcard1/
2017-02-23-1000 JPLMELSECMast : For Denso project, read/write X,Y,M,D devices with RTDB: Bool,Int16,Int32,Real32,String-32
2017-02-22-1000 JPLVirtMast : if TS_ADC_AT_x100=1 then lower libdevmem(0x100 not 0x140)ModSlTcpd : NewestModSlave : Close serial port after CMD_TERMINATERediGateMMI : Newestxmlupdate : *.xml.gz and *.tmp.gz >> /home/*/AceConfigName.txtcustomer.Z4 : TS_ADC_AT_x100=1 for VirtMastPLC2Mast : PLC2 WRITE INT-PAIR to BE/LE WORD 32 bit RTDBTANOMast : If ModbusCoil Write an OFF then don't send CommandMQisdp : LatestDialBackup : Changed some Diagnostics
2017-01-31-0900 JPLVirtMast : VirtMast correctly rejects LOW_PRIORITY Cmd(MSG_REPLY) or: iCmdRespMSQID==MSQID_INVALIDdir_tool : Add 100 to Channel-Param to keep original file in: PF (publish-file) commandcellmodem.tcl : If DE910 then from "S11emux" to "S03emux"uff2lnux : TagName dots to slashes for Ignition.pub fileDialBackup : Resurected for PBF EnergyUdpHandler : Packet byte matching 0 to 5 to enable sending packetModMast : In PThru mode bottom 3 digits of ResponseTmout used for: InterChar DemarkationMQRbePr : LatestUdpServ : Latest
2017-01-03-1400 JPLuff2lnux : EIP TagName DOTs to SLASHES, 2 or More TagNams/ChannelCIPMast : RegSesn setup >60 seconds Idle TimerVirtMast : POD_GetRTUSTATUS works now, all polls normall SUCCESSFULL
2016-12-29-1000 JPLDnpMast : _fReconfigureDnpSlave : _fReconfigureSmartMux : _fReconfigurecustomer.Z* : IM_IGNORE_QUALITY=0VirtMast : All Polls successful, POD_QUALITYREG to set BAD qualityCIPMast : wStat uninitialized in UpdateMultiRTDB(), uSkipTest==NO_SAVEuff2lnux : LatestTOTFLOMast : LatestUdpHandler : _fReconfigure, never ported to ARM processor
2016-12-08-1600 JPLRediGate400_configs.tgz : From Jon Tandy
2016-12-05-1600 JPLRediGate400_configs.tgz : From Jon TandyRMNOTLD.sh : Reset EMUX after 4 consec ppp0 restart w/o successTANOMast : Diagnostic changesPLC2Mast : Diagnostic changes
2016-11-28-1300 JPLRegiGate400_configs.tgz : From Jon TandyS01setuptimestamp : Extract RediGate400_configs.tgz somewhereTOTFLOMast : A few more Arrays supported
2016-11-17-1200 JPLstart : use ethtool to obtain SerialNumber for .serialuff2lnux : CIPMast with SkipPoll options, SINT32 in TagName process: MQrbePr Enable list, _alCustFlags[BASH_USES_TILDE]: Subscriptions RBE-Data precedes RBE/RTU-BIRTH certificateMQRbePr : dittoMQisdp : LatestMQRbePr : LatestCIPMast : SKipReg, ResultReg Poll record processing, SKIP_SAVE_RTDB: SKIP_EXTRACT_BIT (removed need for +100,000,+200,000 MarkersVirtMast : Improved DiagLog( |uIndex ), String Rplacement last byteSRTPMast : Too much logic for Long Integers at 45001cellmodem.tcl : Reprogramming if SIM changedMQRbePr : Enable RTU ListDirectorPLC : SSCGP/MGLL XMl functions call lRequestSystemCmd()customer.Z* : BASH_USES_TILDE=1RediGateMMI : NewestCellLEDs : Newest, works without AT CommandsDirectorXDBM : Fixed more RBE StuffRMNOTLD.sh : If cellmodem fails four times in a row then "S03emux restart"dir_tool : LatestTANOMast : Model 100/05 Tano with Spy ModePLC2Mast : Supports Spy mode with Unsolicited Write DF1TOTFLOMast : ABB TotalFlow first Beta versioncustomer.Z4 : DIRUPLD_PASSWD=1
2016-05-02-1600 JPLBootloader : put "rdgt" into Override.UFF.UffUpdate.txt : openconnect.* to /etc/vpnc/ModMast : Allow full 16bit Ace RTU Address without breaking protocolCSPMast : Writing to Bit-15 with cmd 0xAB also wrote Bit-0 next wordDF1Mast : dittoTermServd : Remvoed Shared Resoure messagesuff2lnux : Newest
2016-04-12-0800 JPLuff2lnux : TAG_NAMEs any length
2016-03-16-1700 JPL started 1st Linux REDIGATE 400 from Plains-PLChange.log : First of REDIGATE 400 SeriesREDIGATE-400 : New BRANDING name for Tarballscustomer.Z[2,4]: RediGate_400, REDIGATE_400=1start.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->sValuesyslog.conf : /tmp/redigate/RediGateFifo mappingTarUpdate.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 DirectorCoreRediGateMMI : Newly aware of REDIGATE-400Xml2uff : Convert ACE 3.2 XML file to Apex.uff filexmlupdate : Modified uffupdate to proces RediGate.xml.gz to UFF with: ln -s ../config/Apex.uff -> /home/../RediGate.xml.gz.runS01setuptimestamp : from P66 moved to /etc/init.d/./scripts/*.sh : Moved to /etc/stunnel/syslog.conf : /tmp/redigate/RediGateFifonodir : /tmp/redigate/BootdelayS50stunnel : killall -SIGKILL stunnel 2> /dev/nullVirtMast : Pod Multi-IO card index offset by oneDirectorPLC : libdevmem_open( +0x1a0 );