GwLin Changelog

From Phobos Wiki
Revision as of 10:11, 2 July 2021 by MarkTomm (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Info below not updated anymore, see redmine roadmap for latest data

Warning: Last update below was for 2.0.156 (03.04.2020)


Recommended software

Warning! GWS >= 2142 must be used


2.0.156-3e1f29e-k4 - GW6e VMX53/6DL, AGC 6DL/6UL

2.0.156-3e1f29e-k4-03 - GWM VMX25/VMX53/6DL/6UL

kernel2(pre 2014 devices):

2020.04.01-next-02-c8fd29a - GW6e (No IEC61850 Client)

Firmware downgrade


  • Downgrading firmware has never been supported.
  • It is possible to downgrade, but there are no guarantees.

telem-app Changelog for kernel 4

  • 2.0.156-3e1f29e-k4/2.0.156-3e1f29e-k4-03 (GWS 2142)
IEC61850 | IEC 61850 Client KEMA certified
IEC60870 | 104 Server KEMA certified
IEC60870 | 101UB Server fix AI event sent as normalized when implied float
IEC60870 | FIX AO subtype determination
IEC60870 | Fix DO/AO unknown COT
IEC60870 | 101B Server fix floating point subtype up
IEC60870 | Fix deact in client
IEC60870 | Fix multiple lower level addresses per device (fix #3450)
IEC60870 | DO/AO fixes
OPC UA | OPC UA Server implementation
Api | Add cls.json to webserver (fix #3522)
Db | Fix backup import
Core | Boost 1.71
Core | Sensor code safer
Core | Sensor objects have flags
ModBus | Mitigate offset in value<->data (fix #3462)
ModBus | Initial impl of 64 bit ai type (fix #3402)
  • 2.0.141-3b46188-k4-02  Telem-GWM (GWS 2133)
Core | Fixed Control issues
Logging | PCAP feature
  • 2.0.141-3b46188-k4  Telem-AGC, Telem-GW6e (GWS 2133)
Core | Fixed Control issues
Logging | PCAP feature
  • 2.0.132-ddea1dd-k4-02  Telem-AGC, Telem-GW6e (GWS 2131)
Core | Fixed Select event loss issue
Logging | Improved logging
  • 2.0.132-ddea1dd-k4-03  Telem-GWM (GWS 2131)
Core | Fixed Select event loss issue
Logging | Improved logging
  • 2.0.82-288715d-k4  Telem-GW6e, Telem-GWM (GWS 2104)
Updates | Minor bug fixes
  • 2018.02.08-linux_4-04-b7d1941 / 2018.02.08-next-02-1a34917 (GWS 2086)
Formula | Fix complex formulas not recalculating after after init
  • 2018.01.12-linux_4-01-8b72574 / 2018.01.12-next-02-abe5e00 (GWS 2083)
Formula | DB accessor thread optimisations
Change Filter | Discard NaN values. Pass event with previous value and OVF bit
IEC60870 | Event priority rework
Core | Periodical GI improvements
IEC61850 | Alstom P14 DI bug workaround #2916
IEC61850 | Improve cmds #2925
IEC101UB Slave | Improve varLenMsg parsing #2933
IEC101/104 | Add debug messages to AO cmd
Scale Filter | Fix AI scaling twice on lower device timeout #2930
  • 2017.11.18-linux_4-01-87d4416 / 2017.11.18-next-01-9c9c97b (GWS 2081b)
Build for all devices and kernels
  • 2017.11.10-linux_4-01-8595646 / N/A k2 (GWS 2081b)
Formula | Integral expression minor timing fix #2848
IEC60870 | Fix device objects not sent with GI on 101-104 translation, only lower device objects #2908
  • 2017.10.31-linux_4-03-e9d281f / N/A k2 (GWS 2081b)
Formula | Integral expression rewrite to integral(@ai, @di) #2848
Filter | Optimize lock usage between LatestValues and UpdateLatest

telem-app Changelog for kernel 2

  • 2018.02.08-next-02-1a34917
Formula | Fix complex formulas not recalculating after after init
Other fixes
  • 2017.09.26-next-03-c81082e / 2017.09.26-linux_4-05-50ff00d (GWS 2079)
HOTFIX IEC101/104 DO_FN | Fix: SCADA did not receive command status responses if DO_FN object configured for IED #2871
  • 2017.09.20-next-01-b162ac5 / 2017.09.20-linux_4-02-2436894 (GWS 2079)
Modbus | Polling sequence fix (AI was polled less) #2871
Modbus | Communication on port stalls if any device has no valid objects #2873
  • 2017.09.13-next-01-800b844 / 2017.09.13-linux_4-feature-integral-expression-01-930dddd (GWS 2079)
Modbus | fix AO scaling #2807
  • 2017.09.11-linux_4-01-7ee57df (GWS 2079)
Telem Master | support 18 (was 17) CMD address
Formula | AI Formula -> AO CMD fix
  • 2017.08.08 (GWS 2079)
WebServer | Correctly set persistant pages
WebServer | Fix user credentials
GWM IO-Board IFR feature #2841
Modbus | Fix polling delay #2839
WebServer | fix sprintf buffer size
Channel | Channel optimisations
Core | Fix thread pool manager (TaskIoBase)
WebServer | replace deprecated functions
IEC101/104 | add DST bit functionality #2833
  • 2017.06.09-next-01-353984f (GWS 2079)
Reset 2 Clear Buffers fix #2814
  • 2017.04.17-next-08-af772c0
Logging | Buffered logging
  • 2017.04.05-next-07-65a2e5a
SPA-Bus | Timesync: send 3x short ts and 3x long ts
  • 2017.04.03-next-01-557bc40
Core | Fix spontaneous events after GI on initial successful lower lever device initialisation (#2793)
Core | Refix sending reset cmds from TDC
  • 2017.03.21-next-03-b5cc1d0
Optimisation (Webserver) | Avoid websocket connection duplicates
Optimisation (app close) | make WebSocketAppender thread safe
Optimisation (app close) | fix numerous potential places that cause segfault on app close
Build | build with latest GNU compilers (v 6).
IEC60870 | IEC103 events without timetag fix
Formula | fix Formula output controller trying to execute DO CMD until it succeeds.
Formula | fix Formula when using another formula object as argument, that is further down the list in GWS (#2794)
  • 2017.01.31-next-01-3eefdf3
Optimisation | all telem-app optimisations merge
IEC60870 | fix control state conatiner in IEC 101 for GWM with IO board
Protocol | control state logger improved logs
  • 2016.12.02-next-01-a502dae Don't use on VMX25 Don't use on GWM with DO
SPA-Bus | ABB SPAC330C feature
IEC61850 | 101 support multiple DO with same v-addresses (multiple rows with same v-addresses)
  • 2016.11.23-next-01-0260688 Don't use on VMX25 Don't use on GWM with DO
IEC61850 | 103 support multiple DO with same v-addresses (multiple rows with same v-addresses)
  • 2016.11.15-next-02-b43c191 Don't use on VMX25 Don't use on GWM with DO
Localization | Change non-ASCII characters to * in Port and Device commments (#2751)
  • 2016.11.15-next-01-5dc3aa7 Don't use on VMX25 Don't use on GWM with DO
IEC61850 | 104 event loss after disconnect fix (#2725)
  • 2016.11.04-next-02-3a9808a Don't use on VMX25 Don't use on GWM with DO
Database | Set object flags to Invalid instead of NotTopical on startup
SPA-Bus | objects not going not topical on Timeout fix
SPA-Bus | potential segfault fix
  • 2016.10.08-next-01-c91481f
IEC-101,104 | GI Switch per object (requires GWS
IEC-101,104 | DO can have 2 downstream addresses (like 1/2)
  • 2016.10.05-next-06-bb13408
Protocol | Remove event sorting by time when sending to upstream Retract 2016.09.19-next-01-c0127ec additions
Protocol | upstream events faster
IEC-103 | Micom workarounds
  • 2016.10.03-next-02-1cb7e5f
Protocol | time sync interval from XML implementation
SPA-Bus | fix event time is it is assumed that event came before last minut change
SPA-Bus | request L, then poll once and change device
SPA-Bus | delay next device for 50ms after timesync
  • 2016.09.26-next-01-91e178f
SPA-Bus | Scaling fix (#2689)
Logging | raw port log in ASCII
  • 2016.09.23-next-01-00fde37 (#2721)
SPA-Bus | event can have effect on multiple objects
  • 2016.09.19-next-01-c0127ec (#2693)
Protocol | Events are sent upstream in order of the lowest timetag Retracted in 2016.10.05-next-06-bb13408
  • 2016.09.08-next-01-526b387
IEC | fix IEC 101 UB variable length frame bigger than 255 issue
Formula | fix double masking in fomrula ???
  • 2016 year device fw and GWS
NoMainLog for formula
  • 2016.08.25-next-03-b45984d
Modbus | ai_bit DI type
Modbus | DO: define ON and OFF address in the same cell
improved logging
SPA-Bus | poll all
  • 2016.08.23-next-01-d702b81
Logging | fine tuned device initialization logging. Old device oriented (GW6, RTA)
fix DO Inversion bug (#2702)
  • 2016.05.11-next-02-e02304a
SPA-Bus | minor fixes for rare nack and timeout cases
SPA-Bus | commented out object sorting
  • 2016.05.04-next-01-64e4492
SPA-Bus | protocol subtype for ABB ref542
SPA-Bus | poll L messages after 5 object poll requests
SPA-Bus | mode 1 implementation: poll multiple objects in one request (#2635)
SPA-Bus | DO: define ON and OFF address in the same cell
SPA-Bus | channel number definable for every event number (#2637)
SPA-Bus | event numbers for Intermediate and Error states
SPA-Bus | fallback fixes (#2658)
SPA-Bus | switch between devices on same port after L message
SPA-Bus | define incoming DI object type (Dobule/Single) (#2654)
SD card licence implementation (#2592)
remove non ASCII characters from object comment (#2577)
  • [22.03.2016]
1-wire segfault on bing temp. change fix (#2640)
  • [11.03.2016]
IEC-104 object type priorities fix. Big amounts of AI data prevented DI events propagation. (#2625)
  • [23.02.2016]
webserver v2 IE11 not working fix
  • [10.02.2016]
NEW_DATABASE formulas numerous fixes
logging optimizations using fastformat. VMX25 up to 10x faster
  • [16.12.2015]
license additions to support no modem GWM (#2565)
  • [17.11.2015]
longer interval for some tasks
SyncDatabaseToFile 2s->5s
ProcessRetranslation 10ms->500ms
explicitly sync db backup to non-volatile memory only on reset/low-power.
  • [06.11.2015]
IEC-101/104 QOC (Qualifier of command) implementation (#2495)
  • [05.11.2015]
AI scaling rewrite (COMPATIBILITY BREAK)
virtual I/O object pair crash app if invalid address fix (#2572)
  • [30.10.2015]
web-server v2 shows device eth info (#2532)
  • [16.10.2015]
fix SPA-Bus polling delay (#2546)
  • [14.10.2015]
IEC DO_FN | IEC101/104 type 105 C_RP_NA_1 (reset process) implementation (#2498)
IEC DO_FN | IEC101/104 GI command via DO implementation (#2499)
  • [13.10.2015]
zero value deadband implementation (#2536)
  • [24.09.2015]
DO/AO stops IEC-101 messages fix for devices using old database (#2527)
allow bigger conf size for NEW_DATABASE devices
  • [07.09.2015]
GWM IO-board + 101-104 conversion not working fix (#2520)
  • [25.08.2015]
IEC-61850 mem-leak/consumption fixes
  • [22.08.2015]
devie booting time nnX times faster (#2472)

kernel 4 Changelog since 2017

  • 2017.08.22
fix GW DNS service
  • 2017.02.10
fix sftp access
fix configuring SSH from GWS

kernel 2 Changelog since 2013

  • 2017.07.12
log4cxx | patch for socket appender
pack_logs | pack modem history log
init | fix spamming logs (S48, S61m S99)
fw_update | fix errors on fw update (S12usb)
init | fix spamming logs on stop (S37)
modem | fix handling huawei modems
WebServer | Restore syslog options
  • 2017.04.17-next-08-af772c0
update | Additional checks in post-update scripts for GWM rev.1 FTDI IO Board
  • 2017.04.05-next-07-65a2e5a
pack_logs now packs all existing console logs and eeprom log if exists
  • 2017.04.03-next-03-49423a0
fix enabling peripheral power on startup with usbs suspended (fixes old GWM53 FTDI IO Board)
  • 2017.01.31-next-01-3eefdf3
remove cifs support from vmx25 kernel. No more space left on device.
  • 2016.11.04-next-01-51a8c40 Don't use on VMX25 Don't use on GWM with DO
IEC-101,104 | DO invert fix sending ACK with inverted address
init | S99phy fix toggling LAN power and wait longer
init | fix starting modem then date is in the start of epoch (1970)
init | Script fixes for fresh device with linux default time
  • 2016.10.19-next-09-3e89e79 Don't use on VMX25 Don't use on GWM with DO
CIFS support in kernel for network mounts !! This change bricks VMX25. Removed from VMX25 after 30.01.2017
  • 2016.10.08-next-01-c91481f
init | optimizations for FTDI eeprom software
init | getwdbootmsg fixes
init | major refactoring. Performance & readability fixes
  • 2016.10.03-next-02-1cb7e5f
Syslog | Add possibility to change loglevel and remote server port
ntp | do not restart ntp if only gps is configured (2711)
ntp | avoid frequent ntp restarts by other scripts
modem | avoid frequent modem restart by multiple scripts (only 1 restart allowed per one minute).
modem | rewrite telit modem reseting as described in telit manual
init | fix socat sometimes creating /dev/tty* as ordinary file instead of letting modem driver to do it.
init | performance fixes
  • 2016.07.28-next-06-3d426af
Device CPU frequency lowered from 1.2GHz to 1.0GHz | Improved ssh key generation and license cheking
  • [11.02.2016]
physical interface checker script implementation
  • [10.02.2016]
  • [26.01.2016]
GWS 'Get logs' acquires n+1 more rotating logs
  • [23.07.2015]
ADDED LIB TO PROJECT: boost_chrono to (websocketpp 0.6.0 depends)
  • [08.06.2015]
application segmentation fault fix (2429)
  • [27.04.2015]
DI fallback bug fix (2312)
  • [23.04.2015]
DI object double inversion bug fix (2345)
  • [21.04.2015]
no flags not working fix (2194)
  • [24.03.2015]
Periodical GI implementation for all protocols (every 5th minute of hour)
  • [16.03.2015]
Telem Master protocol implementation
  • [29.01.2015]
IEC-10x ASDU transfer implementation
  • [30.10.2014]
IEC-101B serial communication improvements
  • [23.10.2014]
No main/CSV log for individual objects
  • 2014.01.13-next-01-2a5df30
added uINT16 (unsigned 16bit integer) in modbus protocol. (also update gws)
  • 2014.01.09-next-01-2fae2d9
fix IEC104 bug in GW6
  • 2014.01.07-next-01-8180155
fix fallback (GW6e and GWM), "NONE" protocol, device "in use"=no, FP-to-normalised conversion, deadband issues, IEC104 bug in GW6e. (also update gws)
  • 2013.11.18-next-04
fix IEC-104 bug (mark data as NT if connection to IEC-104 slave is lost and parameter "failed query count for disabling contr." > 1)
  • 2013.11.12-next01
fix AO feedback bug in GW6 and RTA-A
  • 2013.11.04-next
time invalid flag for GW6 and RTA-A (also requires DSP/RTC software update!)
  • 2013.10.24-next
IEC101-to-IEC104 short time to long time conversion
  • 2013.09.16-next07
configurable COT=2 Bytes for IEC101b
  • 2013.09.09-next01
configurable COT=2 Bytes for IEC101ub
  • 2013.07.12-next02
write modem status to /var/log/

Old Devices RTA-A and GW6

Latest Firmware

Last fw version GW6: 2015.12.11-develop-01-104a492

Last fw version RTA-A M502: 2015.12.11-develop-01-104a492

Last fw version RTA-A M501: 2015.12.11-develop-01-104a492


  • Timezones for ports and system.


  • dnsmasq
  • iperf


  • iptables: Support for -m limit. For instance:
 /usr/sbin/iptables -t filter -A INPUT -p tcp --dport 2404 --sport 1024:65535 -m state --state NEW -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
  • tc: Basic support. For instance:
/sbin/tc qdisc del dev eth0 root    2> /dev/null > /dev/null
/sbin/tc qdisc del dev eth0 ingress 2> /dev/null > /dev/null

/sbin/tc qdisc add dev eth0 handle ffff: ingress
/sbin/tc filter add dev eth0 parent ffff: protocol ip prio 1 u32 match ip src police rate 512kbit burst 1m drop flowid :1

/sbin/tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth 20mbit 
/sbin/tc class add dev eth0 parent 1: classid 1:1 cbq rate 512kbit allot 1500 prio 1 bounded isolated 
/sbin/tc class add dev eth0 parent 1: classid 1:2 cbq rate 512kbit allot 1500 prio 2 bounded isolated
/sbin/tc class add dev eth0 parent 1: classid 1:3 cbq rate 512kbit allot 1500 prio 3 bounded isolated
/sbin/tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip protocol 1 0xff flowid 1:1
/sbin/tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip sport 80 0xffff flowid 1:2
/sbin/tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip sport 22 0xffff flowid 1:3


  • IEC104: Respond to message sent to broadcast ASDU (0xFFFF)
  • IEC-62056: mask incoming data with 0x7F (ASCII protocol)
  • Serial ports: Suppress echo
  • WebPage: Long awaited by all interenet browsers the favicon.ico


  • IEC104: Fix possible event loss on ethernet cable removal.
  • Formula: Do not generate control event, on first successful calculation.


  • Firmware version readable through internal WebServer
  • Fix possible event loss when lots of changes arrive for one input.
  • GPRS-modem protocol: if connection to internet is lost, all TCP client connections are closed
  • IEC104: force long-time format


  • IEC101/103 Unbalanced Master: add feature polling delay
  • When sending a control operation over IEC103 channel with many devices. Speed up receiving of control response.


  • Connection loss with RTC-board does not result in watchdog reset.
    • Symptoms: device will reset after 20 seconds of running.
  • Device will write system boot count and application start count to console.log. Latest values can be found in /var/local/telem/stats


  • RTA-A: possible to define DO object to clear annunciator LED 's
  • Modbus Master: Fix receiving of negative 16bit normalized values.


  • Added new update pack type app-only.
    • Note: This update pack type should only be used on device with SW version 1190 or later.
    • This update will not overwrite system files - less chance for bricking if something goes wrong (accidental power loss or reset).
  • Generate /etc/network/interfaces file once after receiving new setup.
  • New protocol type IEC ^ Setup
    • Only reading and writing of device setup is allowed on this Port.
    • Allows faster booting of device with a lot of unused Up-channel ports.