*** tGW-700 RevB / RevB2 only ***

This firmware is designed for "tGW-700 RevB/RevB2" series only.
Make sure there is a "RevB" or "RevB2" mark after the model name on the front cover.

Firmware V1.x : Supports hardware tGW-700 (not RevB, not RevB2).
Firmware B1.x : Supports hardware tGW-700 RevB.
Firmware B2.x : Supports hardware tGW-700 RevB and RevB2.

+----------------+----------+---------------+----------------+
| FW \ HW        | tGW-700  | tGW-700 RevB  | tGW-700 RevB2  |
+----------------+----------+---------------+----------------+
| Firmware V1.x  |    OK    |        -      |        -       |
+----------------+----------+---------------+----------------+
| Firmware B1.x  |    -     |       OK      |        -       |
+----------------+----------+---------------+----------------+
| Firmware B2.x  |    -     |       OK      |        OK      |
+----------------+----------+---------------+----------------+


eSearch Utility : 
This is the software utility to update the firmware.
https://www.icpdas.com/en/download/index.php?kw=esearch

tGW_Firmware_Update_xxx.pdf : 
This is the document describing how to update the firmware.
https://www.icpdas.com/en/download/show.php?num=2417

===========================================
B2.4.1, Oct.31, 2023

Fix: Modbus TCP does not work if IPv6 SLAAC address is assigned.

===========================================
B2.4.0, Jul.28, 2023

Chg: Model name format is changed to tGW-700(i)_RevB2.

Chg: Reduce latency when parameter configuration saving. 

Chg: Reset Ethernet each time the module is restarted.

Chg: Respond to eSearch Utility with a * symbol after the model name when 
     the module is running in init mode.

Add: Firmware supports 110 and 75 bps baud rates.
     Note: Hardware may have other limitations.

===========================================
B2.3.8, May.11, 2023

Add: New information on the Monitor web page.
     (No Buffer) Busy Packets : Count when no buffer for new packets.
     (Queue-Timeout) Busy Packets : Count when queued packet expires.
     (No Response) Slave Timeouts : Count when Slave does not respond to request.
     (Receiving) Slave Timeouts : Count when data is received but timed out.
     Maximum Response Time (ms) : The round trip time between Gateway and Slave.

Chg: Reply to the eSearch utility with the IP 0.0.0.0 if the module is still 
     waiting for a DHCP IP to be assigned.

Chg: Reboot the module if it does not obtain an IP from DHCP within 70 seconds. 
     Turn off the Ethernet for a few seconds before rebooting.
     
Chg: Count busy errors instead of using a flag.
     The seriousness of the problem can be judged by its value.

Fix: Reset TCP when SLAAC address changes instead of state changes.

===========================================
B2.3.7, Feb.14, 2023

Fix: Timeout requests in the queue (MTCP receive buffer) may cause the next 
     request to respond incorrectly if it has the same ID/function code.
     Add the Queue-Timeout parameter (1000 - 65000 ms) to the port settings 
     to check the timeout more accurately and prevent an incorrect response.

===========================================
B2.3.6, Dec.28, 2022

Chg: Non-isolated models may be discontinued in the future.
     The isolated version for better protection is actually supplied when 
     non-isolated models are ordered.
  
     New firmware reports a combined model name on the web page and in the eSearch Utility.
     For example: tGW-712_RevB, tGW-712i_RevB ==> tGW-712/712i_RevB

===========================================
B2.3.5, Oct.21, 2022

Add: New information on the Monitor web page.
     Buffer Usages (%): Shows the Modbus Cache Buffer usage ratio of a single port.
     Cache Hits (%): Shows the performance of the cache.
     Log a single record (leading 20 bytes or header) of the MTCP/MUDP/MRTU/MASCII 
     send/receive messages for debugging reference.

Add: Supports multiple MTCP/MUDP requests in a single packet.
     For example (31-byte packet contains 3 requests): 
        01 02 00 00 00 04 01 01 01 00 02 03 00 00 00 04 01 01 01 00 05 06 00 00 00 05 01 01 02 00 00
     Processed as 3 requests: 
        01 02 00 00 00 04 01 01 01 00 
        02 03 00 00 00 04 01 01 01 00 
        05 06 00 00 00 05 01 01 02 00 00 

     Note: Multiple responses can also be queued and sent in a single TCP/UDP packet. 
           For ease of processing on both sides, we still recommend using the single 
           request-response method instead.

Chg: Reconfigure the memory buffer for better operation with Modbus Cache.

Chg: Change the IP Filter interface of the web page.

Fix: The web configuration may not be saved correctly. 
     The previous or factory default setting may be loaded instead.

===========================================
B2.3.4, Jul.12, 2022 (no release)

Add: Support SNMP v2c agent and following information...
     MIBII: sysContact, sysLocation, sysDescription, sysName.
     Private MIB: modelName, aliasName, firmwareVersion, webServerPort.
     Traps: coldStart, warmStart.

Fix: Force leading MAC address with 00:0d:e0 when updating firmware.

===========================================
B2.3.3, Mar.29, 2022

Chg: Change the DHCP waiting time from 20 seconds to 60 seconds.

Chg: Allowing change password back to factory default.

===========================================
B2.3.2, Dec.13, 2021 

Fix: Modbus TCP function code 0x11 does not work, fixed.

===========================================
B2.3.1, Sep.23, 2021 

Fix: Web page sometimes may unstable. Fixed.

===========================================
B2.3.0, Aug.24, 2021  

Chg: Arrange the monitor page to have Modbus TCP, Modbus RTU/ASCII sections.
     Add connection state for reference.
     Show ERROR when connection is rejected by remote site.

Chg: Combines the Remote Server IP / Host Name input fields of the port configuration.
     Removes the IP Mode / Host Name Mode options, 
     firmware will analysis the input to see if IP or name is used.

Chg: Change the display name of TCP / IPv4, UDP / IPv4, TCP / IPv6, UDP / IPv6 
     to TCPv4, UDPv4, TCPv6, UDPv6 for easy reading.

Chg: Arrange the IP address section of network page into 3 parts: IPv4, IPv6, DNS.
     Arrange the descriptions of the Restore defaults, Reboot, Firmware Update.
     Change some exception options to use checkbox for easy setting.

Chg: Disable the UDP Heartbeat by default.

===========================================
B2.2.7, Mar.11, 2021  

Chg: The default configuration about VID (Virtual ID Range) change to 0-247.

Chg: In the Web Server feature, user have to configure a new password if the
     password is same as factory default. 

===========================================
B2.2.6, Dec.15, 2020 

Fix: If user configure Client mode setting twice, the previous connection will 
     be not closed completely. Fixed.   

Fix: If the CTS Pin receive Low level, the module will reboot. Fixed.   

Add: Adding the DNS information in Web page, user can use these information to 
     observer the DNS feature state. 

Add: If the module queries the IP by Host Name success, the IP will be recorded. 
     If the module queries the IP by same Host Name fail, the module will use the 
     recorded IP to communicate.  

Chg: Improve the SLAAC configuration speed. 

Chg: Adjust the DNS features, the module only query the IP by Host Name when 
     specific situations happen.
     Device Boot, related configuration change, TCP connection broken. 

===========================================
B2.2.5, Nov.26, 2020 

Fix: The static IPv4 settings will be change to zero after using eSearch utility 
     to enable the DHCP feature. Fixed.

Add: Adding the DNS features in client mode.
     User can configure the Preferred DNS Server IP and Alternate DNS Server IP 
     by manual, supports IPv4 and IPv6. 
     In IPv4 DHCP mode, user can configure the Preferred DNS Server IP and Alternate 
     DNS Server IP automatically by DHCPv4.
     In the client mode, user can use the Host Name as the remote server, the 
     tGW-700 will use DNS feature to query the IP address.

Add: User can adjust the Ethernet Speed field: Auto-negotiation, 10 Mbps, 100 Mbps. 
     (default Auto).
   
===========================================
B2.2.4, Nov.04, 2020 

Fix: UDP Configuration setting always be enabled after booting. Fixed.

Add: Adding the UDP Heartbeat feature, user can adjust or disable the Heartbeat.

===========================================
B2.2.3, Sep.29, 2020 

Fix: For the IPv4, some DHCP services not be closed completely in static IP mode. Fixed.

Chg: For the TCP Protocol, the tGW-700 sends the RST+ACK packet originally when the 
     connection is abnormal, change to send the RST packet only.

===========================================
B2.2.2, Sep.03, 2020 

Add: Adding the watchdog for SLAAC address configuration. 
     If the time of the configuration is time out, the tGW-700 module will reboot and try again.

Fix: With the DC power supply, the SLAAC may valid slowly if the RJ-45 is not be connected 
     immediately after booting. Fixed.

===========================================
B2.2.1, Aug.21, 2020 

Add: IPv6-Support the Stateless Address Auto-configuration(SLAAC).

Add: IPv6-Show the link-local address and SLAAC address on the Web page.

Chg: The Static IPv6 address field is changed to IPv6 User-defined Address.

Fix: With the DC power supply, the Ethernet will invalid after reconnecting RJ-45. Fixed.

===========================================
B2.2.0, Jul.29, 2020

Add: Both Server Mode and Client Mode support the IPv6 communication. 

Add: The filter supports the IPv6 address.

Chg: Change the members of the Network Protocol field, 
     it is composed of "TCP / IPv4", "UDP / IPv4", "TCP / IPv6", "UDP / IPv6".

Chg: Merge the Remote IP to one field, it's more convenient for entering.

===========================================
B2.0.2, Feb.24, 2020

Fix: Web page does not show settings correctly when using client-mode. Fixed.

Fix: The Gateway ID does not work correctly with Virtual ID range. Fixed.

Add: Remember last required web page, and redirect to it after login.

===========================================
B2.0.1, Jan.16, 2020

Add: Support a single Modbus TCP/UDP master to access 3 serial ports based on 
     the VID (virtual ID) range and offset. 
     PID (physical slave ID) = VID + offset.
     
Add: Support Modbus RTU master to access the same Modbus TCP/UDP slave device
     based on the VID range and offset. 
     Note: If the same remote IP/port are used, ensure the local tcp port of 
     each serial port are different.

===========================================
B2.0.0, Dec.16, 2019 

Add: Support tGW-700 RevB2 series that are RS-485 direction controlled by MCU.
     Firmware B2.x supports tGW-700 RevB and RevB2 series.

===========================================
B1.7.0, Jul.16, 2019

Add: Allow user to input user-defined baud rate.
     User have to test if the user-defined baud rate works or not,
     since the errors of the baud rate can cause communication problem.

Fix: Sometimes the read-cache function may not work correctly. Fixed. 
     TCP may receive responses from wrong serial port.

Fix: Wrong cache lifetime in firmware B1.6.9, fixed.

===========================================
B1.6.9, Jul.10, 2019

Fix: Modbus TCP master may get wrong response when serial device timed out. Fixed.

Fix: Busy exception may happen when previous request timed out. Remove this exception.
     Masters should have longer slave timeout setting and wait requests to be processed.

     For example: 
       If the slave timeout of tGW is configured as 300 ms, we would suggest :
       the slave timeout of a single master is configured as 400 (300 + 100) ms.
       the slave timeout of two masters are configured as 800 (400 *2) ms.
       the slave timeout of three masters are configured as 1200 (400 *3) ms.
       ...
       
     The slave timeout of masters may be configured with larger value if the Ethernet 
     network loading is heavy.
     
===========================================
B1.6.8, Apr.17, 2019

Add: Add "MTCP Length Swap" option in each port settings.
     This is used to configure the Modbus TCP header length format.
     0:TX/RX=High byte first.  1:TX=High, RX=Low byte first.
     3:TX/RX=Low byte first.   2:TX=Low, RX=High byte first.

Add: Add debug information of the monitor page.
     "MTCP TX/RX/Drop Packets" shows Sent/Received/Dropped packets for Modbus TCP/UDP.
     "MRTU TX/RX/Drop Packets" shows Sent/Received/Dropped packets for Modbus RTU/ASCII.
     
     When sending a request, we can see the related TX/RX/drop packet counted.
     Based on these information, we can check if the packet is correctly transmitted or not.
     
===========================================
B1.6.7, Mar.21, 2019 [ECR 6/12, 2019]

Add: Add "Remove Errors" options for each serial port.
     When error happens, the RX FIFO data will be cleared.
  
     Parity Error (PE): default disabled (keep data).
     Framing Error (FE): default enabled (remove data).
     Break Error (BE): default enabled (remove data).   

===========================================
B1.6.6, Oct.24, 2018 [ECR 12/4, 2018]

Chg: Provides more information for QC operations.

===========================================
B1.6.5, Aug.22, 2018 

Fix: Port1 status does not show correctly on IE6/8. Fixed.

Chg: Change the model name tGW-718-D to tGW-718i-D.

===========================================
B1.6.4, Apr.27, 2018 [ECR 5/17, 2018]

Fix: "Parameter Error" may be shown for web configuration. Fixed.

===========================================
B1.6.3, Apr.11, 2018

Fix: Response with slave ID when TIMEOUT exception, instead of Gateway ID.

===========================================
B1.6.2, Mar.30, 2018

Fix: Module may be rebooted when using web browser to show the monitor page 
     under unstable network environment (for example: Wi-Fi) for a few minutes.

===========================================
B1.6.1, Jan.03, 2018

Add: Supports tGW-718-D new model.
     Which has configurable RS-232/485/422 interface via web.
     
     Supports interface, pull-high/low and terminal resister
     configuration on the port 1 setting web page.
     
     Interface is changed immediately without reboot the modules
     after submits the settings on port 1 setting web page.

Chg: Hide unused client-mode options when selecting server mode 
     on port setting web page.

Chg: Combines the information of baud rate and data format on the 
     Home web page.
     
===========================================
B1.6.0, Aug.02, 2017

Chg: Auto-enable/disable flow-control field on web pages based on model.

Chg: Change the web page encoding with utf-8 char-set.

Add: Support user-specified http port (default 80).

Add: Records the first error code on monitor page for reference.

Fix: Based on MAC address to use random DHCP client xid (transaction id).
     This prevents using same xid on all modules.

===========================================
B1.5.9, Jan.12, 2017

Chg: Change the max. waiting time to 20 seconds for getting DHCP IP.

===========================================
B1.5.8, Dec.20, 2016

Fix: Remove leading messages on serial port 1.

===========================================
B1.5.7, Aug.17, 2016 [ECR 9/30, 2016]

Add: Supports tGW-724i/734i new model names.

===========================================
B1.5.6, Jul.14, 2016

Add: Supports CTS/RTS flow control function for tGW-712/722/724 models.

===========================================
B1.5.5, Jun.30, 2016

Fix: Add delay before reconnecting to remote site.
     This prevents busy reconnecting, and prevent problems on some devices.

===========================================
B1.5.4, Jun.16, 2016

Add: Supports new model tGW-722i.

===========================================
B1.5.3, Apr.25, 2016

Fix: Web auto-logout setting does not work correctly. Fixed.

===========================================
B1.5.2, Apr.06, 2016

Enable IP address: x.x.x.0 and x.x.x.255.

===========================================
B1.5.1, Mar.18, 2016

Supports new models tGW-725i and tGW-735i.

Check the JavaScript status on login page.

===========================================
B1.5.0, Dec.28, 2015

Fresh SYS LED 3 times at power-up.

===========================================
B1.4.9, Dec.18, 2015

This is the first version released for tGW-700 RevB series.


##
