RediGate 100 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: 4600CDA308A3C1A83AE5611C9A1663B5548E79DD5442CBCC1F58A53C723860A0
DirectorMMI : If New Banner then Check4 Reconfigure
AutoProc : Report Table Loop via LastEvtColumn / Jump2 LastEvtColmn
JSON_Rbe : Use GMT/UTC time instead of localtime in CSV files
CellLEDs : Problem if not UBLOX or if CoreMSQID == 0
2019-04-04-1000 JPL
UMUX : Disable UBLOX Power Save Mode which potentially could prevent
: Inbound connections
JSON_Rbe : Changed from PRIORITY_HIGH-33 to PRIORITY_HIGH-397
cellmodem.tcl : From JPT. I had forgotten to include this file.
CellLEDs : Try twice with AT+UGPS=1,0,3 for basic satellites
2019-03-28-1700 JPL
enize : OpenSSL aes-cbc-128 encryption loads faster
ROCMast : Fuller support of TypePnt-99 (Tables 0 - 15) Configurable
: OpCodes 10/11 reading and writing
CirrusRBE : AutoProc report is published as a SpkPlg-B RBE TextString
SpkPlgRBE : Ditto
DirectorMMI : Can view StornFwd-CSV files from /tmp/sdcard1/SNF*/*.csv
CellLEDs : Can process GPS information from SARA-R4 modem, might take
: up to two minutes to get SARA GPS activated
JSON_Rbe : Better processing of historical CSV files
2019-02-22-1000 JPL
JSON_Rbe : Better Support of processing Subscribed Long/Short-Strings
: Don't zombie if zero RTUs are located for RBE processing
AutoProc : Added support of reporting 64bit data.
: Support reading Text Files and Store back to RTDB.
MQRbePr : If IsaGraf/AutoProc issued DeathCertif then block sending
: any new RBE data until IsaGraf/AutoProc force a BirthCertif.
MQXRbePr : Ditto
DirectorMMI : CustomReport option 'A' to alter Source Channel/Rtu dynamicly
NetMon.sh : Support multiple Ping tests to see if TcpStack needs restarted
start : mount -t vfat -o umask=000 /dev/mmcblk0p1 /tmp/sdcard1/
RediLink-GateJ_configs.tgz : Added default configs for CAT-M1 modems
SosMast : ASCII Modbus hadles LRC errors without crashing
DirectorScan : If not OneBadPoll kills RTU then MS-DOS Epoch Seconds
VirtMast : Latest, Correct RTU_STAT_POLL_DONE/WROTE_DATA
MQisdp : Latest
uff2lnux : UBlox SARA-R410 Verizon and AT&T support w, w/o UMUX
ROCMast : Better processing of Echoed back PARAMETER header bytes
2018-10-24-1600 JPLÂ Â Â Â SHA-256 checksum: 9BF03CC5E50B64810D215DB448C4A7EEB37295E2691D72D58FEAA4EB41E90D12
 cellmodem.tcl : Support for SARA-R4 modems
 RediLink-Gate_configs.tgz : For testing purposes
 DirectorMMI  : System Services Option-15 (Cellmodem Diags) improved
 bootdelay    : Grep for Bootloader in process table to start GOOBL.sh
 uff2lnux     : Swapped Count and Formant in Process Reports table.
               : Register Offset is now a SINT32 integer from UINT16
2018-10-13-1300 JPL
 SosMast      : ASCII Modbus got into infinite loop if Reply too short
 ModMast      : ditto
2018-10-10-1500 JPL
 bootdelay    : If interrupt :36 (ttyS0) is changing then wait up to 1.5
               : minutes (15 seconds each) for 'user/user' or root login
 SosMast      : ASCII-Modbus was crashing due to LRC errors
 ModMast      : ASCII-Modbus was crashing due to LRC errors
 uff2lnux     : Ublox SARA-410 Verizon and AT&T support w, w/o UMUX
 UMUX         : Newest
 DirectorMMI  : Reverse video help text for Modem AT Commands
 dir_tool     : Corrected format for UINT32 in RC_LIST, RJ_LIST
 gwutl        : JPT updated some error messages
 NetMon.sh    : Ditto
 NetworkMonitor: Ditto
 JSON_Rbe     : Latest
 ROCMast      : Better processing of Echoed back PARAMETER header bytes
 VirtMast     : Latest
2018-09-06-1000 JPL
 ROCMast      : More reply validation for certain OpCodes
 hex2bin      : for base64 encryption (--to64 --from64 --tohex)
 NetMon.sh    : JPT Background Utility updated
 NetworkMonitor: JPT Startup script updated
 VirtMast     : ENGINEERING_SCALE function
 ModMast      : Preliminary 64bit data reading w/o write
 SosMast      : Ditto
 JSON_Rbe     : Cleaned up Historical File searching for multiple days
 dir_tool     : produces output if "dir_tool -1 -1 DS" searches all RTUs list
 uff2lnux     : Network Monitor support changes. AutoProcess objects.
 TClient      : If iPort > 3 then use iPort+4 for /dev/ttyS8 to ttyS10
 DirectorMMI  : RPN-Calculator Option-'FF' Double-Hex and Hex-Double
2018-08-07-0800 JPL
 uff2lnux     : Removed some support for Sangoma
 VirtMast     : New POD function for Engineering Scaling
2018-07-24-0900 JPL
 DirectorMMI  : Option-21 (New CSV Start Time) has correct Month
 CirrusRBE    : Processes HeaderOnly CSV files correctly
 uff2lnux     : JPT Network Monitor
 NetworkMonitor: Initial JPT 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-18-0900 JPL
 JSON_Rbe     : Support for 64bit Timestamps. Intelligent searching for
               : all MaxDays of StoreFwd CSV files and not just last two days.
 CirrusRBE    : Ditto. Service mosquitto_loop() callback during searching.
 SpkPlgRBE    : Force UNDERSCOREs into RtuName. Implement ReconnectDelay.
 StoreFwd     : Don't compress CSV files. Don't create a merge of last 2
               : days of CSV files but instead notify RBE processes of Channl
               : and RTU and MaxDays and they will locate CSV files.
               : If Pacing=0 seconds then Millisecond timestamps
 DirectorMMI  : Directory Services Option-21 allows modifying Last CSV times.
 root         : call /etc/init.d/S01setuptimestamp update
 S40crond     : 55 **** /etc/init.d/S01setuptimestamp update
 S01setuptimetamp : Make certain new Time has been achieved
 uff2lnux     : Support for multiple object Network-Monitor object
 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 aded to all cases
 StoreFwd     : Better file management at Midnight, Send today and yesterday
               : data
 TOTFLOMast   : Support for DB-II Data Structures Groups 5,6,7
 MQisdp       : Remove spaces from URL Names and Gateway Name
2018-04-23-1400 JPL
 uff2lnux     : Ctl/Mon-Netwk object, POD Fnc Names 129 to 139
 UffUpdate.txt : Move Mon-Netwk files to /etc/init.d/
 StoreFwd     : If no connection then check for Midnight CSV file names
               : Don't alter Epoch Seconds for Timezone
 TOTFLOMast   : Don't abort POLL/CMD if SendMsg() fails from Broken Pipe
2018-03-29-1100 JPL
 DirectorMMI  : SystServ Option-16 will restart Firewall.sh
 CellLEDs     : SKIP was not implemeted
 WesdacMast   : New protocol from Plains
2018-03-13-1400 JPL
 JSON_Rbe     : I did not have enough verification that the MQttClient's
               : QUE buffer was not full.
 uff2lnux     : Latest
 Harden.sh    : changed from /etc/password to /etc/passwd for mosquitto
               : and create Harden.003
2018-02-23-1600 JPL
 uff2lnux     : Ublox-SARA-R4 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 Handshake
               : Only send HDLC payloads of 107 byte, AT+CMUX=0,116,...
               : Requires a constant ping of remote server to allow
               : receiving large downloads.
 S15cellmodem : if Modem_type=SARA-R4 call /etc/init.d/CAT-M_PPP.sh
2018-02-07-1700 JPL
 SosMast      : If saving File Length to BOOL then only '0' or '1'
 uff2lnux     : Initial support for MeasurementData files
 VirtMast     : Altered some debug levels in FALSE_EXIT and SetOsVal
 StoreFwd     : Change from SPACE to UNDERSCORE in ChannelName
 TOTFLOMast   : Support for UNION data in RAMS Array 152
 JSON_Rbe     : Improved validation of TagName Command searches
2017-12-27-0900 JPLÂ Â Â Â SHA-256 checksum: A07537F122930A82A958BF5B17F345CA3FCB89EA9048C5469520AA1749D88330
 CIPMast      : Don't interpret "FLOTOTAL_100_Press" as "FLOTOTAL[100].Press"
2017-12-12-1100 JPL
 TOTFLOMast   : Commands could get into infinite loop after retries
 JSON_Rbe     : Prevent double/triple publishes after New Broker Connection
2017-11-27-1200 JPL
 TOTFLOMast   : DTYPE_LONG: in ParseReply() was only 2 bytes not 4
               : Include APP Name in Poll Record diagnotics statement
 GOOBL.sh     : Get Out Of BootLoader background script (NEW)
 dirprofile   : 5 sec delay if NetLogin during Bootloader, 'start' support
 bootdelay    : Run GOOBL.sh in background if not running RediGate code
 MQisdp       : Timestamp JSON/dir_tool Subscribe File in /tmp/director/
               : with Milliseconds, receive JSON/dir_tool files up to 3.01 Meg
 JSON_Rbe     : If not connected to broker then check again in 1.25 seconds
               : Immediately deliver RTU RBEs after Gateway Birth/State topics
 CellLEDs     : Allow user to save AT command reply to ANY RTDB Register
 Bootloader   : Option 8 to continue RediGate startup
 uff2lnux     : Enable JSON_Leg0 under Legacy MQisdp
2017-11-08-1300 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/
 TOTFLOMast   : Added SU G4 LIQ APP and OPERATIONS APP support.
 Ymodem       : Send file names up to 255 bytes, debug to /tmp/ymodem.dbg
2017-11-01-1600 JPL
 CIPMast      : reads all structures with CIP_FRAG_READ
 JSON_Rbe     : ProcessJSON() TagName search was correctly test StringLengths
2017-10-24-1700 JPL
 TOTFLOMast   : Trends app has many programmable type Arrays so use
               : Poll Table RTDB Columns to determine data type in RcvMsgBuf[]
               : System shutdown App support
 CellLEDs     : Remove double quotes from Quoted Strings
2017-10-18-1000 JPL
 TOTFLOMast   : Added Application-ID=8 for RAMS (Alarms) App.
2017-10-11-1100 JPL
 CIPMast      : Support for 64-bit "LINT" data types from L5X-Tool
               : L5K2Csv.exe tool supports PID and ALARM_DIGITAL PDTs
 CirrusRBE    : Search for "/SNFCC_RRRRR/" in CSV file name Chan_RTU
 SpkPlbRBE    : CMD_MOD_STAT was corrupting messaging from _fGotModStat
 StoreFwd     : Remove Spaces from CSV File Names
2017-10-09-1600 JPL
 S92redigate  : usleep 1000000 from sleep 1
 SpkPlgRBE    : 30 second startup delay
2017-10-05-0800 JPL
 TOTFLOMast   : Eleminated many usleep()s and some diagnostics to speed comms
 JSON_Rbe     : Created a 30 'do nothing' delay to allow field data to arrive
               : ${GATEWAY} Birth has Code-MD5SUM.txt, HW_Serial_Number
 uff2lnux     : S03emux 'usleep 1100000'. TotalFlowMast Protocol 271 adds
               : SlotNumber, StationName[11] and ${SLOT} replacement in
               : Vectors X.Y.ZZ as only Vector-X
 CirrusLink   : Latest
2017-09-27-1400 JPL
 CirrusRBE    : Better search/match of Command TagName from pRtu->pabTagNames
               : Support Option-17 MQtt Status
 SpkPlgRBE    : If DNS 'ping' fails then simply netstat -n |grep 1883 |ESTAB
               : Support MQttCommsStat and WalkBroker
 CellLEDs     : New version number (1.9) for CellLEDs
 uff2lnux     : TOTFLOMast can have new SlotNumber and StationName override
               : S03emux uses 'usleep 900000' up from 'usleep 500000'
 TOTFLOMast   : Protocol 271 can have SlotNumber,StationName override and
               : and Vector-Z replacement with ${SLOT}
 DirectorMMI  : Option 17 MQtt Status looks for 'SpkPlgRBE0', WalkTable too.
 JSON_Rbe     : Better search/match of rcv-TagNames from pRtu->pabTagNames
2017-08-24-1000 JPL
 uff2lnux     : Multiple SpkPlgRBE? instances, new ACE Structure
 StoreFwd     : Look for SpkPlgRBE? instances, new ACE Structure
 CIPMast      : Manually entered MultiLevel UDT Tags supported for single
               : elements such as PIC_100.PV.HIHI.LIMIT as REAL32
 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. Don't alway send DBIRTH at startup
 TOTFLOMast   : Native TCP/IP comms.
 Xml2uff      : UINT16LIST word count was not correct
 dirprofile   : added /sbin to export PATH=...
2017-08-07-1200 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 payload
               : SUB_TOPIC_TO_RTDB versus to 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
 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-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
               : Process replacement ${REG@xxxxx} with Strings from RTDB
               : Registers @ 'xxxxx' (e.g. 49001) into Topics
               : Convert <CR><LF><TAB> chars to <SPACE> for Wonderware
 StoreFwd     : Some Diagnostic changes. Dynamically locate starting RBE
               : register instead of the required Coil 0001 in the RTDB
 Xml2uff      : Allow *.xml.gz files names from 128 to 256 bytes
 CirrusLink   : Channel Number was not being read from config file
               : Double send Birth Certificates because of issues in DNS
               : with DHCP after pulling the RJ-45 Ethernet cable
 SpkPlgEZ     : If DNS connection to Broker then ping test for only
               : 4 seconds and then ping failure can force MQtt shutdown
2017-07-14-0900 JPL
 bacnet4linux : 1st time included
 html/*.png   : Suport icons for bacnet4linux
 JSON_Rbe     : Optimized Diagnostic messages
 uff2lnux     : removed a printf() statement
 start        : Added check for ../config/init.arcom/BACnetIpTool.sh
 BACnetIpMast : Removed SOS TABLE Count
2017-06-29-1200 JPL
 JSON_Rbe     : ${CHAN}, ${RTU}, ${DEV} replacement. PUB/SUB Topics for
               : Device, Gateway, STATE, File(History?)
 MQisdp       : ${SERIAL} and ${GATEWAY} as ClienID/Login, 256 char Topics
 uff2lnux     : ${SERIAL} and ${GATEWAY} as MQttClient Replacements
 RbePush      : Complicated technique for selecting individual RBE flags
               : or All RBE flags, User configures number of Seconds interval
 CellLEDs     : Prevent /tmp/director/TIME.GPS from getting large
 MQRbePr      : Topics up to 256 bytes, Publish TagNames w/o RETAIN but
               : after every Gateway/Birth message
 StoreFwd     : Monitor MQisdpX[0,1], Send CSV file name to JSON_Rbe[0,1]
2017-06-16-1800 JPL
 uff2lnux     : MQisdpX? replacement for ${REDIGATE}, ${DIRECTOR} ${GROUP}
 RbePush      : Rotate through all four RBE Flags (0-3) each Interval
2017-06-14-0900 JPL
 CellLEDs      : If no AT-Cmds then only regular AT+CSQ
 uff2lnux      : S03emux killall -SIGINT CellLEDs ; usleep 50000
 MQRbePr       : Latest
 MQisdp        : ${UUID}, ${DIRECTOR}, ${GROUP}, replacements, one less retry
 VirtMast      : Latest
 SpkPlgEZ      : Latest
 CirrusLink    : Historical data
 StoreFwd      : Delivery via SpkPlgEZ
 DirectorScan  : IsaGraf/PODs could not set unpolled RTUs ALIVE
2017-06-05-1800 JPL
 MQRbePr       : Publish TagNames WITHOUT 'Retain' flag
2017-06-02-1000 JPL
 MQRbePr       : Publish TagNames after EVERY Director-BIRTH
2017-05-11-0900 JPL
 uff2lnux      : StoreForward support, Space-to-Underscore in TagNames
 StoreFwd      : Beta Release with limited support
 start         : Kill all DirectorMMI if more than 2
 VirtMast      : Latest
 DirectorPLC   : updated SIGPIPE Handler
 DirectorMMI   : View /tmp/sdcard1/SNF??_??????/Channel~Rtu~Date.csv files
 dir_tool      : if "dir_tool -1 -1 DS" then output all Channels/RTUs
 ModMast       : BP Olympic 32bit reads checks RTDB to see if DTYPE_SHORT vs
                : DTYPE_LONG and pack accordingly
 MQRbePr       : CMD_MOD_STAT returns MQtt Connection state to StoreFwd
 CirrusLink    : Latest BETA (should get mosquitto.tgz installed)
 libmosquitto.so.1 : Required for CirrusLink
 mosquitto.conf : For mosquitto server loaded later
 mosquitto_pub : command line tool for MQtt publishing to a broker
 mosquitto_sub : command line tool for MQtt subscribing from a broker
 Harden.002    : emulation of "adduser mosquitto" creates /home/mosquitto/
2017-04-10-1000 JPL
 CellLEDs      : Trap SIGINT signal for msgctl(IPC_RMID) and exit
                : Flash Signale Quality even if PPP not running
 S92redigate   : killall -SIGINT CellLEDs 2> /dev/null
 CirrusLink    : SparkPlug-B EZ protocol for delivering RBEs to Ignition
 SpkPlgEZ      : Controller of standalone CirrusLink
 uff2lnux      : Handles SparkPlugB-EZ ACE Object, empty TagNames handled
 ModSlave      : Add SIGCHLD support so system() call to close serial port
                : won't cause Zombie
 OmronFINSMast : Timers/Counter, Expanded DM.
 VirtMast      : String Comparisons return INTEGERs (0,-1), not STRING
                : Get_Time to INT32 get Epoc-Seconds plus INT32+1 has mSec
2017-03-27-1000 JPL
 ROCMast       : ROC 800 support for new customers
 uff2lnux      : SparkPlugB-EZ support
2017-03-15-1100 JPL
 xmlupdate     : was creating $ConfigName.xml.xml.gz?
 MELSECMast    : Initial release
 OmronFINSMast : From 2012 but first 3.12 Linux release
2017-03-09-1500 JPL
 RediLink-GateJ_cofigs.tgz : From JTandy
 uff2lnux      : Was not handling Dirupld password correctly if DIRUPLD_PASS
2017-03-08-1100 JPL
 SRTPMast      : Sourc Port set from 17000 to 17259 for old GE PLCs
 VirtMast      : Multiple changes to DataLogger (TagNames in Header,
                : and gaps in Data Addresses allowed)
 ModMast       : PassThru more logic for Modbus aware
 DirectorWdog  : umount /tmp/sdcard1/ and /tmp/usb1/ at reboot
 xmlupldate    : Problem.txt if multiple *.xml.gz files /home/director,Dirupld
 UdpHandler    : Enable SEND message if Byte[4,5] matches MsgSize
2017-02-22-1000 JPL
 xmlupdate     : echo *.xml.gz and *xml.gz.run >> /home/*/AceConfigname.txt
2017-02-20-1400 JPL
 VirtMast      : Newest
 ModSlTcpd     : Newest
 DirectorMMI   : Newest
 DnpSlave      : Allow faster command processing
 ModMast       : PassThru is Modbus Aware, ignore spurious bytes
 ModSlave      : Close serial port after CMD_TERMINATE
 MQisdp        : Newest
 MQRbePr       : Newest
 SRTPMast      : Force SourcePort from Random>32k to 17000 to 17259
 TClient       : Close serial port after CMD_TERMINATE
 RediLink-Gate_configs.tgz : From Jon Tandy
2017-01-30-1700 JPL
 uff2lnux      : TagNams DOTs to SLASHs, 2 or more TagNames/Channel
 CIPMast       : RegstSesn setup at least 60 second idle timer
 VirtMast      : GetRTUSTATUS works, all polls normally SUCCESSFULL
                : 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
2016-12-30-0900 JPL
 CIPMast       : More uninitialized variables set to zero
                : Extend CIP Timeout form 10 to 60 seconds?
 CustUtil_NAT_5 : RS-Linx NAT'd through OpenVPN's tun0 interface
2016-12-29-1000 JPL
 customer      : DIRUPLD_PASSWD=1, IM_IGNORE_QUALITY=0
 CIPMast       : Uninitialized wStat in UpdateMultiRtdb() and added
                : "else if(pPoll->uSkipTest == SKIP_NO_SAVE )"
 uff2lnux      : latest
 DirectorMMI   : Latest
 TOTFLOMast    : Latest
 VirtMast      : POD_QUALITYREG to set to BAD Quality, All Polls successful
 UdpHandler    : Ported to XSCALE ARM
 dir_tool      : Latest
2016-11-02-1700 JPL
 customer      : BASH_USES_TILDE=1
 uff2lnux      : Subscriptions RBE-Data precedes RBE-RTU-BIRTH certificate
 MQRbePr       : ditto, Blocking data issue in P66
 MQisdp        : Newest
 start         : Quotes around *.XML.gz and in MyFileFileLink()
 DirectorMMI   : Last register in RTDB for Custom Report bug
 DirectorXDBM  : Rbe Data Blocks issue from P66
 CIPMast       : Newest requiring latest L5ktoCSV.exe
 TOTFLOMast    : Support for over 19 Applications
2016-09-15-0900 JPL
 uff2lnux      : MQRbePr Filter list was blocking "STATE/MQttHost"
 MQRbePr       : More cfg startup diagnostics
 start         : changed from "S92redilink restart" to "S92redigate restart"
2016-09-09-1000 JPL (Removed CmdLine tool)
 RediLink-Gate-configs.tgz : From J.T. for RediGate/Link Model detection
 DirectorPLC   : Did not actually get newest code copied
2016-08-30-1600 JPL
 RediLink-Gate-configs.tgz : From Jon Tandy, new script makes Cfg.xml.gz
 CIPMast       : Read/Write Bit Arrays[]
 DirectorPLC   : SouthernStar's SSGenerateReport.c was not newest
2016-08-26-1300 JPL
 RediLink-Gate-configs.tgz : From Jon Tandy
 DirectorPLC   : SouthernStart MqFile C-Func-Block system() bug
 CIPMast       : Latest
 SRTPMast      : Newest with EnronMap flag
 Bootloader    : put 'rdgt' in UFF Header
 .profile      : just in case .bash_profile is not located
2016-08-16-1500 JPL
 MQisdp        : Newest with ${DIRECTOR} ${HCP_ID} support in LastWillTopic
 MQRbePr       : Latest, DiagLog() with uRtuIndex
 uff2lnux      : More TagName fixes
 DirectorMMI   : Longer TagNames in CustomReports
 DirectorPLC   : PC-104 only on Director-Z4 not RediGate 1xx
 CellLEDs      : REmoved some diags
 VirtMast      : Latest, Diags with |0x10
 CIPMast       : First issue
 ModMast       : Newest
 DF1Mast       : Newest
Â
2016-06-15-1300 JPL
 S92cellmodem  : added 'cd /usr/director/bin/' at top
 CellLEDs      : If cannot find _lRootId don't use 'dir_tool' either
 S91Director   : rm /usr/director/bin/CoreMSQID for CellLEDs detection
 TarUpdate.txt : Move S91Director to /etc/init.d/
2016-06-14-1600 JPL
 keeproutes    : static route -host if via 'dev ppp0'
 DirectorMMI   : Newest, ONLINE/offline
 RediLink-Gate_configs.tgz : Newest
 HartMast      : Was missing
 uff2lnux      : Support for OpenConnect, TotalFlowDB-2
                : REDIGATE_400=1, ${GROUP}, ${DIRECTOR} process in MQttClient
                : LastWillTopic property, OpenConnect
 MQisdp        : Delay between connections between brokers, **URL_Name[24]
 MQRbePr       : Supports STATE/HcpID topic logic
 ModMast       : Newest
 DirectorScan  : Make two complete passes of Scan Table before marking ALIVE
 start         : enable/disable RS-485 terminating resistor
                : Move *.XML.gz to /home/director/, . xmlupdate
                : rm /usr/director/bin/CoreMSQID at top of script
 xmlupdate     : From RediGate-400
 Xml2uff       : From RediGate-400
 TermServd     : Removed some Diagnostics, DF1 Half/Full duplex aware
 HartMast      : Magnetrol double buffer?
 VirtMast      : Trigger/Aways Write to RTU waits 30 seconds for ACK/NAK
 S61openconnect : OpenConnect startup beta
 TarUpdate.txt : S61openconnect move to /etc/init.d/
 UffUpdate.txt : openconnect0.sh, openconnect0.conf to /etc/vpnc/
 DnpMast       : Was missing
 DnpSlave      : Was missing
 SpyMast       : Needed for May 2016 project
 cellmodem.tcl : If reprogramming Modem then don't lock up afterwards
2015-12-28-1100 JPL
 uff2lnux      : Latest xSubsubscription instance handling
 MQRbePr       : Latest Plains BIRTH logic
 TClient       : DNS Lookup with DIALSTRING if 0.0.0.0 and Device="DNS"
 DirectorMMI   : ONLINE,offline Data Dump option
 dir_tool      : New help on command line
 DirectorXDBM  : Better limit checking in Get_Rbe_Typed()
 DF1Mast       : Serial Port resource protection
 CSPMast       : Approved CSP-DF1 by Plains
 CustUtil_Stuff_Uff : _fReconfigure
 TermServd     : DF1 HALF/FULL Duplex awareness
 S15cellmodem  : Remove /usr/dir/bin/HasAModem.txt before if[] logic
 MQisdp        : Using more static arrays instead of pData=malloc(cData)
 MQRbePr       : Only send Birth after 5th time looking for RBE data
 UffUpdate.txt : S09vlan moved to /etc/init.d/
 VirtMast      : Less use of malloc() in POD_PARSE_MQtt with more looping
 keeproutes    : If "dev/ppp0" in sroutes then more new logic
2015-11-09-1300 JPL
 keeproutes    : added "2> /dev/null" to while[:] loop
 S15cellmodem  : Check for '..."CM_UseMUX=YES =="" '
 MQisdp        : Newest
 MQRbePr       : support for State/HCP_ID (ONLINE/OFFLINE)
 MQXRbePr      : ditto
 DirectorMMI   : Newest
 DirectorPLC   : Updated SegSend(), SegRecv(), ArChkCrC(), DataMovs.c
                : for WaterTronics
 EMUX          : Newest
 dir_tool      : Upated help text
 SRTPMast      : Register reads saved to Booleans and Vice Versa
 RediLink-Gate_configs.tgz : Updated for all hardware variations
 uff2lnux      : Rockwell CSP/PCCC support
2015-10-15-1500 JPLÂ all 'C' programs recompiled for _fReconfigure in protect.c
 ArFunc.so.1.7 : _fReconfige in protection.c, ModUtil.c Supports BigEndian
 EMUX          : Cell Modem Virtual Ports
 uff2lnux      : EMUX, AT-Commands for CellLeds.conf, Tag-Names
 start         : Better management of /etc/resolv.conf, /etc/ppp/resolv.conf
                : Move /home/Dirupld/*.star to /home/director/ and Run it
 cellmodem.tcl : EMUX ready
 hasamodem.tcl : EMUX ready
 DirectorMMI   : Cell Modem Diagnostics
 CellLEDs      : AT-Commands to RTDB
 UffUpdate.txt : S03emux->S11emux, cmux.conf, CellLeds.conf to /etc/*
 customer      : PPP_CMUX_PTDEV=1
 dir_tool      : was skipping data with (RC/RJ)_NZ,ALL,SUM options
 RMNOTLD.sh    : from 450 to 90 sec sleep if Zombie.log
 MQRbePr       : Tag-Names
 MQXRbePr      : Tag-Names
 VirtMast      : Read/Write DB9-RS232 pins
 RediLink-Gate_configs.tgz : UFF files for testing
 S01setuptimestamp : Extract RediLink-Gate_configs.tgz
2015-06-23-1700 JPL
 uff2lnux      : Set REDIGATE flag for DirectorPLC because no PC-104 bus
 DirectorPLC   : Don't try to open PC-104 bus on RegiGate hardware
 customer      : RBE_ALL_DATA=0, NO_HEALTH_ECHO=0, Z4_ONBOARD_COM4_7=0
                : CAMP_IS_PROT_129=0
 celmodem.tcl  : From Falcon does AT-CCID command
2015-06-16-1600 JPL
 S02eth_vlan   : *20C* and *20E* same between RediLink and RediGate
2015-06-15-1300 JPL
 uffupdate     : search for ACE 3.1+ branding of UFF with 'drct'
 uff2lnux      : Newest, PPP_METRIC_91=1, PPP_CMUX_PTDEV=1
 ModMast       : Validate FuncCode, CMDLOG_2_STRING32
 SosMast       : Ditto
 DF1Mast       : CMDLOG_2_STRING32
 dir_tool      : Latest
 DirectorChan  : Timestamp with mSec
 DirectorCore  : Latest
 DirectorPLC   : PC-104 board not working, 'C' Funcs REAL2MSG(), MSG2REAL()
 DirectorMMI   : Newest
 DirectorScan  : FORCE_SCAN,FORCE_RTU_SCAN works now.
 DirectorXDBM  : LONG64 registers
 MQisdp        : Latest with MQtt3.1.1,URLs
 MQRbePr       : RBE_ALL_DATA=1 correct flag support
 ntp           : from P66 ntp returns result code from NTPDATE to ntpcron
 ntpcron       : if NTPDATE fails sleep 121 secs, echo Good/Fail to timesync
 start         : included some logic from P66 start
 fstab         : entire root (/) file system is 'sync'
 TarUpdate.txt : fstab mode to 0664, S85skeeproutes to /etc/init.d/
 customer      : RBE_ALL_DATA=1 from '0'
 S15cellmodem  : Taken from Gibson with 'raccoon' and Loop to detect Modem
 S85skeeproutes : From Gibsons
 keeproutes    : From Gibsons
 mdev.conf.C   : Taken from falcon_tar.d (was backwards)
 mdev.conf.E   : Taken from falcon_tar.d (was backwards)
 customer      : PPP_CMUX_PTDEV=0
2015-03-30-1600 JPL
 ntpcron       : update rate either 86400 or 121 seconds
 S43ntpd       : pass result code to ntpcron, ntpdate -t 5 for VSAT
 start         : several file privilege changes
 S84quagga     : copied from p66_tar.d/
 TarUpdate.txt : #10 S84quagga
 DnpMast       : From DnpMast_TClient
 uff2lnux      : S36timezone needed != "x0"
2015-02-23-1200 JPL based on RediLink
?? Mounting SD Card ??
 DirectorXDBM  : Value Returns to ZERO is always an RBE
 uff2lnux      : MSEC_TIMESTAMP=1
 DirectorScan  : Ditto
 customer      : MSEC_TIMESTAMP=1 and from RediLink to RediGate
 MQisdp        : Latest
 MQRbePr       : Latest, CMD_TERMINATE not reliable
 MQXRbePr      : Latest, CMD_TERMINATE not reliable
 VirtMast      : GetRtuStatus function written
 ArFunc.so.1.7 : Thread mutex added
 DnpMast       : Mutex added around Diagnostics
 Term1Serv     : Added more CMD_NODE_STAT information for MMI
 dir_tool      : Newly added
 rl_tool       : Removed
 WhiteList     : Removed
 ace-server.tcl : Removed
 S92redigate   : from S92redilink but remove rl_cmds, HostLEDs, DeviceLEDs
                : and ace-server.tcl
 rl_cmds       : Removed
 HostLEDs      : Removed
 DeviceLEDs    : Removed
 Bootloader    : Newest
 ModMast       : Newest
 ModSlave      : Newest
 ShellMMI.sh   : Removed
 TarUpdate.txt : Remove ZEUS-3.12 and FALCON-3.12
 mdev.conf.E   : Swap ttyS8/ttyS9 as ttyS0, ttyS1
 mdev.conf.C   : Swap ttyS8/ttyS9 as ttyS0, ttyS1
 S02eth_vlan   : Test if [ NOT fw_printenv |grep buart ], fw_setenv std* buart