=========================================== AM Automation Protocol Suite Modbus Bridge Software Release Notes Copyright 2020 Lantronix Inc. =========================================== --COBOX/LTX Platforms-- Current version is 1.71 Beta (as of 30-Apr-2002) (Released as 1.40 with formal DVT in Jan-2002) AMxxxx.ROM is IAP version with locking key, code = AM (TFTP locks to A*) MODxxxx.ROM is E1M/OEM version - no IAP key, code = 4D (TFTP no locking) CVxxxx.ROM is Schneider Electric version, SWType == 8, code = CV (TFTP locks to CV) --DSTni-LX Platforms (DLX)-- Current version is 2.5.0.0 (as of 25-May-2005) AMDXxxxx.ROM is IAP version with locking key, code = DA (TFTP locks to DA) MODXxxxx.ROM is E1M/OEM version - no IAP key, code = 4E (TFTP locks to 4E) CDxxxx.ROM is Schneider Electric version, SWType == 8, code = CD (TFTP locks to CD) MBGDxxxx.ROM is General Electric version - no IAP key, code = G3 (TFTP locks to G3) --XPort Platform-- Current version is 3.3.0.5RC1 (as of 1-Aug-2014) AMXPXXXX.ROM is IAP version with locking key, firmware code = XM --XPort-05 Platform-- Current version is 3.3.0.5 (as of 27-Aug-2014) AMXPT05_XXXX.ROM is IAP version with firmware code = YM --WiPortG Platform-- Current version is 3.2.0.1 (as of 04-April-2012) AMWPTGxxxx.ROM is IAP version with locking key, firmware code = GA --WiPort Platform-- Current version is 2.5.0.1 (as of 17-August-2005) AMWPTxxxx.ROM is IAP version with locking key, firmware code = WA --WiBox Platform-- AMWBXxxxx.ROM is IAP version with locking key, firmware code = wA --XPress-DR+ Platform-- Current version is 4.0.0.1 (as of 19-Dec-2019) AMDRxxxx.ROM is IAP version with locking key, firmware code = rA --XPress DR+ Wireless Platform-- Current version is 3.2.0.1 (as of 22-May-2012) AMDRWxxxx.ROM is IAP version with locking key, firmware code = IA --xPico Platform-- Current version is 3.3.0.0 (as of 21-Feb-2013) AMXPCxxxx.ROM is IAP version with firmware code = PA --xDirect Platform-- Current version is 4.0.0.2 (as of 11-Nov-2020) AMXDxxxx.ROM is IAP version with firmware code = TA --Micro125 Platform-- Current version is 3.3.0.3 (as of 03-Oct-2013) AMMxxxx.ROM is IAP version with firmware code = CA --UDS1100 Platform-- Current version is 4.0.0.1 (as of 19-Dec-2019) AMUAXXXX.ROM is IAP version with locking key, firmware code = UA --XPressDR -03 Platform-- Current version is 4.0.0.1 (as of 19-Dec-2019) AMEAXXXX.ROM is IAP version with locking key, firmware code = EA =========================================================== Known issues and out-standing requests: - add auto-adjust to slow down unrealistic message timeouts - add Java/Web pages =========================================================== Version 4.0.0.2 release notes on 11-November-2020 Current firmwares: - amxd_4002.rom (11-Nov-2020) Modbus Updates: FEATURES: - None. BUG FIXES: - LEG-198 Lantronix Banner is missing in xDirect IAP release Cobos Updates: FEATURES: - None. BUG FIXES: - LEG-158 Failed to update setup rec 0 via DI - LEG-165 UDS1100 - Cobox code 7.0.0.1 unable to respond to a ping that is not local - LEG-166 Cobos Code 7.0.0.1 firmware History : --------- Version 4.0.0.1 release notes on 19-Dec-2019 Current firmwares: - amua_4001.rom (19-Dec-2019) - amea_4001.rom (19-Dec-2019) - amdr_4001.rom (19-Dec-2019) - amxd_4001.rom (19-Dec-2019) Modbus Updates: FEATURES: - LEG-3 Implement support for default password changes according to California Law SB327 - Bugzilla 27635 - 160928-000002 - Feature request Xport IAP Modbus firmware -configurable Modbus port number - LEG-4 Review Security Vulnerability - Default Password - LEG-54 Add new security flag Telnet Authentication across all the products - Support added for xDirect to build in Paradigm environment. BUG FIXES: - Bugzilla 25946 - 161019-000010 - XSDRIN-03 - TCP Retransmit timer hard coded to 500ms in Modbus firmware - Bugzilla 27222 - XPort Modbus resets during an ARP flood 27222 - XPort Modbus resets during an ARP flood Cobos Updates: FEATURES: - None. BUG FIXES: - Bugzilla 25232 - Boundary overrun issue in Setpar.c - Bugzilla 25785 - Web Potential bug in get_fs.c::checkAuthorization() - Bugzilla 26995 - CoBOS TCP TX bug across all products - BugZilla 27850 - 170514-000003 xPico when using Modem emulation in RS-485 -2 wire causes reboot. - BugZilla 27532 - Add 16 pin cp support under configuration pin - BugZilla 27951 - 170407-000004 - XPC100100S-01 xPico DHCP behaviour Using Same Transaction ID for DHCP - BugZilla 28084 - COBOS device reboots if 9999 telnet session closed abruptly. - BugZilla 30021 - Cleanup FWARE.c file - BugZilla 30044 - XPort 05 series - RX is not dropping in RS-485 as fast as it should - BugZilla 30482 - Modification of bit.c, bit.h and NIOBITS reference - LEG-5 Review Security Vulnerability - Cleartext Passwords - LEG-24 SDS1101 - When enabling enhanced password, all other security settings are defaulted - LEG-52 MatchPort NR does not get IP address during DHCP when 2 DHCP servers are on network - LEG-56 Device is responding Ping request from different subnet Version 3.4.0.8 release notes on 02-Jan-2018 Current firmwares: - amua_3408.rom (02-Jan-2018) Cobos Updates: FEATURES: - None. BUG FIXES: - None. Modbus Updates: FEATURES: - None. BUG FIXES: - Bugzilla 25845 - Telnet password should not be 'seen' by querying record 0 via 77FE. - Bugzilla 29907 - 4 byte basic telnet password cannot be read from record. Version 3.4.0.3 release notes on 19-September-2016 Current firmwares: - amdr_3403.rom (19-September-2016) Modbus Updates: FEATURES: - Support of 6 byte MAC scheme in XPressDR+. BUG FIXES: - None. Cobos Updates: FEATURES: - Support of 6 byte MAC scheme in XPressDR+. BUG FIXES: - Bugzilla 17440 - garbage seen in scan results. - Bugzilla 24895 - 160414-000001 - MP b/g - All CoBos - Device Does Not Send Same ‘secs’ Field In REQUEST As In DISCOVER. Version 3.4.0.2 release notes on 08-Jun-2016 Current firmwares: - amea_3402.rom (08-Jun-2016) Modbus Updates: FEATURES: - None. BUG FIXES: - Fixes the customer escalation 160510-000004: - Preserving 232/485 switch selection and execution approach from LX code. - 485 2wire mode DXA_EN(PIO3) is always on, couldn't receive data & causes bus contention. Cobos Updates: FEATURES: - None. BUG FIXES: - None. Version 3.4.0.1 release notes on 06-April-2016 Current firmwares: - amdr_3401.rom (06-April-2016) Modbus Updates: FEATURES: - Support added for XPressDR+ to build in Paradigm environment. - Support for XPressDR in EX chip with external PHY. - Support of 6 byte MAC scheme in XPressDR. Cobos Updates: FEATURES: - Support for XPressDR in EX chip with external PHY. - Support of 6 byte MAC scheme in XPressDR. BUG FIXES: - 160311-000013 – Xpress DR+ getting lockups that require power cycling - Bugzilla 24424: RS232/RS485 switch has no effect. Version 3.4.0.0 release notes on 14-May-2015 Current firmwares: - amua_3400.rom (14-May-2015) Cobos Updates: FEATURES: - 6 byte MAC address support for Micro125 & xPort Direct+. - Bugzilla 21171 - Support of 6 byte MAC scheme is required in parallel flash products. - Bugzilla 22182 - Feature request: OCP-10-2014-0124 - Provisioning to configure 0 to disable ARP cache timeout functionality. - Bugzilla 21116 - Provide selectable Read-Only or Read-Write access thru 77FEh port. - Bugzilla 21172 - Need new monitor mode command to show 'flash write count' in serial flash devices. - Bug ID 21172: Need new monitor mode command to show 'flash write count' in serial flash devices - Bug ID 18481: Escalation : 130219-000019 - Feature request to implement new monitor mode command to show full firmware release version. BUG FIXES: - Bugzilla 22117 - Web Manager hang under heavy requests from multi IP addressed browsers. - Bugzilla 22524 - Micro125 WebM - Product logo need to be updated in new format & Device status page not displaying properly. - Bug ID 20426: Ping not working with Hyperv Setup for xport-03 & 05. - 140107-0000210: CoBos Across The Board - DHCP IP fails after A Faied First Attempt. - 131125-000035: "Serial flash products corruption issue", i.e avoid multiple writes on serial flash devices. - Bug ID 20185: XPort-05 will randomly stop transmitting data mid stream. - Bug ID 20402: Xport 05 - Telnet menu locked out after firmware upgrade fails to release telnet menu. - Bug ID 21160: New: xPico - Extended MAC address checksum is not recovered from the backup. Modbus Updates: FEATURES: - Build environment changed to Paradigm tools - Bug ID 21171: Support of 6 byte MAC scheme is required in parallel flash products. BUG FIXES: - Bugzilla 22748 - UDS1100/SDS1101: Changing setup record contents via Monitor Mode commands causes unit to crash. - Bug ID 22189: Modbus IAP products erases setup record 1 after pushing record 2 to device. - Bug ID 21585: device waits for user input even though change password is set to 'N'. - Bug ID 22568: WC, RC commands does Set or Get setup record 0, instead of showing invalid command in 4K EEPROM parallel flash products. Version 3.3.0.5 release notes on 27-Aug-2014 Current firmwares: - amxpt05_3305.rom (27-Aug-2014) Cobos Updates: - FEATURES None. - BUG FIXES None. Modbus Updates: - FEATURES None. - BUG FIXES - Bug ID 21168: "CP1 -RS485" option not available in 3.3 - Bug ID 21169: "CP2-RS485" option not working in 3.3 - Bug ID 21170: "CP1-RTS Output->Active with transmit" not working in 3.2 Version 3.3.0.4 release notes on 18-Apr-2014 Current firmwares: - amua_3304.rom (18-Apr-2014) Cobos Updates: - None. Modbus Updates: FEATURES: -> Release Candidate for the UDS1100-Modbus-IAP firmware on latest 3.3 baseline. BUG FIXES: - None. Version 3.3.0.3 release notes on 03-Oct-2013 Current firmwares: - amxpt05_3303.rom (03-Oct-2013) - amm125_3303.rom (03-Oct-2013) Cobos Updates: - None. Modbus Updates: FEATURES: ->XPort-05 in Modbus IAP baseline with new MAC scheme. BUG FIXES: - Support setup record 4 OEM bytes to display splash string. Version 3.3.0.2 release notes on 10-June-2013 Current firmwares: - amm125_3302.rom 10-June-2013) Cobos Updates: - None. Modbus Updates: FEATURES: ->Micro125 IAP is new product to the Modbus Baseline. BUG FIXES: -None. Version 3.3.0.1 release notes on 12-Apr-2013 Current firmwares: - amxp3301.rom (12-Apr-2013) Cobos Updates: BUG FIXES: - Bug ID 17608: common library changes for xdirect need to be 'cleaned up'. Modbus Updates: FEATURES: - None. BUG FIXES: - Bug ID 17727: common library changes for xdirect-IAP need to be 'cleaned up'. - Bug ID 17740: IAP key should not be needed on new xpico and xdirect builds. Version 3.3.0.0RC3 release notes on 06-Feb-2013 Current firmware: amxpc3300RC3.rom(06-Feb-2013) Cobos Updates: - FEATURES None. - BUG FIXES --> Bug ID 17589: remove ECHO port security setting. --> Bug ID 17639: Advanced Modbus Protocol missing settings. --> Bug ID 17489: RTS/CTS Modem Settings for channel 2. Version 3.3.0.0RC2 release notes on 10-Dec-2012 Current firmware: amxd3300RC2.rom (10-Dec-2012) ->xDirect IAP is new product on the Modbus Baseline. Cobos Updates: xDirect IAP 3.3 is ported on Cobos 6.9 baseline(Tag: COBOS_6_9_0_1B2). - FEATURES None. - BUG FIXES None. Version 3.3.0.0RC1 release notes on 29-Nov-2012 Current firmware: amxp3300RC1.rom (29-Nov-2012) Cobos Updates: - FEATURES -->Security setting features are supported on Modbus. - BUG FIXES None. Version 3.3.0.0RC1 release notes on 28-Nov-2012 Current firmware: amxpc3300RC1.rom (28-Nov-2012) ->xPico IAP is new product to the Modbus Baseline. Cobos Updates: Xpico IAP 3.3 is ported on Cobos 6.9 baseline. - FEATURES None. - BUG FIXES None. Version 3.2.0.2RC1 release notes on 05-June-2012 Current firmware: amxp3202RC1.rom (05-June-2012) ->Xport IAP is ported from 2.4.0.0 to 3.2.0.2RC1 and built on Cobos 6.5.0.0(tag UDS1100_6_5_0_0B1). Cobos Updates: - BUG FIXES --> 110216-000021 – UDS1100IAP – UDS drops offline and requires a reboot. --> 20404-000008 – UDS1100 IAP – Drops offline and Requires Reboot. - FEATURES None. - BUG FIXES --> 120404-000027- Web server stops working with the Xport ModBus. Version 3.2.0.0 release notes on 12-May-2009 Current firmware: amdrw_3200.rom (11-May-2009) --> Ported Modbus code to XPress DR+ Wireless on Cobos 6.5.0.0 Current firmware: amwptG_3200.rom (05-February-2007) --> Ported Modbus code to WiPortG and Cobos 6.5.0.0 Cobos Updates: - FEATURES - Disassociate on repeated failure of transmission, scan and search for "new" AP - Addition of "Defaults (In) Wired" option. When used, this would allow the firmware to reset the settings to factory defaults including the network settings and select the Wired Only network mode for operation on restart. A "Defaults (In) Wireless" is also available for CP configuration and will provide the same functionality as in previous "Defaults (In)" wireless mode of operation on restart. - BUG FIXES - C-060427-79577 XPort-03- Sometimes Takes 5 Minutes To Get A DHCP Address - C-060803-83381 XPort-Part Of Record 1 Overwritten When Using SS Command In Mon Mode - C-060807-83529 XPort-03-Web Manager "Error 400" Code Incorrect Should Be "404"--- - C-060920-85283 WiPortG-Using Hub In Bridging Causes Long Lasting Loop Of Messages - C-060728-83149 XPort-03-Applet Sub From XPort Web Server Will Not Load In Browser - C-061002-85801 WiPort - WiPort Resets With Power Management Enabled - C-061018-86460 WiBoxEG-Firmware 6.4.0.0RC6 Monitor Mode Command SA Fails - C-061109-87424 WiPortG - WLAN & EMAIL settings changed via telnet to 9999 are not discarded when option 8 is selected - C-061025-86738 WiPortG-6.3.0.2 Modem Mode Locks Up WiPort - C-061102-87111 WiPort B-Applet Sub Custom Web Server Will Not Load In Browser (Child case to C-060728-83149) - C-061204-88255 XPort - Encryption Fails If All 16 Bytes Of IV Is Not Transmitted - Bug 5343 Datagram 0 loss of serial data with back-to-back messages - Bug CLI issue with EX chip Version 3.1.0.0 release notes (30-October-2006) Current firmware: amdrw_3100.rom only --> Ported Modbus code to XPress DR+ Wireless and Cobos 6.3.0.0 Cobos Updates: - 802.11i with PreShared Keys. Including CCMP encryption. - Monitor mode command: SA. Available in wireless only mode and bridging mode. Scans the air and reports found BSS's. - Monitor mode command: NS. Reports the status of the Ethernet and Wireless interfaces, including current negotiated settings. - TX data rate auto with max setting - WEP passphrase hashing generates all 4 keys. Algorithm as in Linksys WRT54G. - Operational change: Wireless encryption settings changed meaning from fixed to minimum. If TKIP is configured under 802.11i, it will choose the higher CCMP if the AP supports it. If the AP supports only TKIP, that is chosen. If it supports WEP only it will not associate with this setting. - Bug Fixes: - WiPortG: TKIP+WEP64 and TKIP+WEP128 modes not correctly working. - Web Manager access over wired Ethernet in Bridging Mode not available. - Wired Network access in Bridging Mode inoperational if wireless interface is not associated and open. - Ethernet PHY not turned off in Wireless only mode, causing 100mA extra current consumption. - Short preamble capability not advertised when creating adhoc network. - C-051117-73096 Xport-03: Parity Errors with extended ascii at 7O1 - C-060427-79577 Xport-03 sometimes takes 5 minutes to get a DHCP address if 77fe flooding occurs. - C-050303-61010 UDS100 - Bug in TCP Stack - RST connection, takes time to allow SYNs - C-060522-80531 WiPort - Slow TCP Disconnection in v6.1 - C-060327-78241 WiBox E- 6.1.0.1RC1-DSTest Results Failing At Higher Baud For SW & N Flow - C-060725-82989 WiPort G-AdHoc Network With WEP On, Fails Sometimes Version 3.0.0.0 release notes (12-May-2006) Current firmware: amdr_3000.rom only 01) Ported Modbus code to XPress-DR+ and Cobos 6.1.0.1 Cobos Updates: 01) C-040728-51716, C-050221-60400 Xport/All CoBOS-Monitor Mode Command To Display MAC Address For All: new GM command 02) C-050427-63786 WiPort-Wants Range Of Low Power Modes => CPU performance: Low setting added. 26MHz. 03) C-050711-67254 WiPort-Needs SP Setting In SetZone Added For Spain 04) TKIP+WEP selection split into TKIP+WEP64 and TKIP+WEP128 05) 10sec search before creation of Adhoc network when enabled. 06) Canada and Spain added to configurable countries 07) Support for Intel parallel flash 08) Monitor command PI keeps pinging until keyboard hit 09) C-051207-73818 XPort-03 - Opening & Closing Port 9999 Causes XPort Restart 10) C-050829-69577 XPort - XPort-Port 77f0 Locks Up 11) C-050615-66189 XPort - Reboots When Telnet Is Terminated Using Escape Char 12) C-050620-66373 XPort(CoBos) - TCP Packet # Not In Sequence 13) C-050420-63378 XPort - DHCP Discovery TransID Not Random 14) C-050303-61071 Tellermate reported issue with ISN 15) C-051114-72916 WiPort - Enabling WPA Will Cause The Unit to Ignore Setup Records - fixed in upcoming release 16) WiPortB associating with some wireless stations that have mismatching SSID 17) First outgoing connection attempt after bootup fails. Version 2.5.0.1 release notes (27-September-2005) Current firmware: amwpt2501.rom only 01) Fixed the WiPort build to use Bootram.obj in place of Boot.obj so that the code now executes in RAM like standard firmware and HW dependent variables are initialized properly. The old build caused problems in production which required the radio FW to be reloaded. Version 2.5.0.0 release notes (17-August-2005) Current firmware: amwpt2500.rom only 01) Ported Modbus code to WiPort and Cobos 5.8.0.1, added CP pin and WiFi configuration to setup 02) Added feature to read/write WiPort CP pins configured for GPIO over Modbus/TCP 03) Added/fixed Defaults CP pin handling to restore WiFi configuration to factory default Cobos Updates: 01) [C-030701-37368]: DHCP Client FQDN Option (Dynamic DNS Updates) Dynamic DNS Updates are useful in a DHCP environment since they allow the DHCP server assigning the IP address to also communicate with the DNS server on behalf of the client and generate a FQDN entry by which the client (device server) could be reached. The DHCP name configuration that is already available will be used to configure the hostname that will get registered at the DNS server. There is no support for a FQDN to be specific at the device server. The domain will be the default domain in which the DHCP server and the DNS server that it communicates with reside in. 02) Escalation C-040308-46373: XPort/UDS- Reboots When Data Flowing Thru Serial On Bootup Changes have been made to the serial driver to clear out characters received erroneously while the serial port was being initialized, and always check/clear receive errors. 03) Escalation C-040330-47220: XPort-CoBox in General - Reboots With CTRL B On Startup Change has been made so that even if the unit falsely prompts to enter setup mode, because of application's streaming serial data at various speeds, the unit will no longer reboot if a is not received following the prompt. 04) Bug 1220: AutoIP - Default Gateway Issues If the gateway address was configured when AutoIP was used, then subsequent messages sent over the network would be routed to the gateway. This has been corrected such that when using AutoIP to obtain an address, the configured gateway address will be ignored when a network message is sent. Version 2.30 release notes (20-April-2005) XPort only 01) Fixed SNMP support for XPort, built with Cobos 1.8 02) Added 485 transmit enable function to CP1 03) Possible fix for remaining 485 problem where transmitter is turned off too late (beyond 3.5 character times) Version 2.21 BETA release notes (28-July-2004) XPort only 01) Ported Modbus code to XPort and Cobos 1.7, added CP pin configuration to setup Version 2.20 release notes (11-August-2004) 01) DLX platform build with Cobos 5.2 and all previous 485 fixes Version 2.14 BETA release notes (13-July-2004) 01) fixed RS485 2-wire timing for DLX platforms based on SE problem reports, added an auto pause timer and character timeout based on baud rate, the faster DLX platforms need to guarantee a 3.5 character time delay between a slave response and the next command 02) return correct Modbus/TCP address and command values when receiving invalid serial responses 03) for UDS10 and AMD platforms, use DMA on transmit for baud rates higher than 38400 to prevent inter-char gaps that cause false Modbus/RTU end of frame (3.5 char times), reported by SE France 04) Added support for 2 stop bits on AMD/DSTni-LX/EX platforms Version 2.11 BETA release notes (13-Nov-2003) 01) for all, fixed web server interface 02) for all, moved to kernel 5.2 (Released as 2.00 in 05-Nov-2002 for XPress-DR) Version 2.00 BETA release notes (05-Nov-2002) 01) for all, ported to DR2 hardware and 5.1b6 version of kernel. 02) for all, separate firmware codes for LTX and DLX platforms. Version 1.72 BETA release notes (01-Nov-2002) For SE only Corrected gratuitous ARP handling so that the new MAC address is stored to the ARP table. Version 1.71 BETA release notes (30-Apr-2002) For Dave H of UK 01) Add optional serial pause to delay new request after slave response (or delay response after master request). This includes a byte stored in EEPROM - if zero means disabled. This is * by 5ms to get the timeout in range 5-1275. After each Rcv ends, we take a time stamp from sticks - if zero (0) we bump to 1. Then before we transmit we see if some more delay is required. Also, if we fall idle both the IsSlave() and IsMaster() loops have to watch for this timer to expire and set stamp to zero, which means no need to delay. (Released as 1.60 in 28-Mar-2002 for SE/CEV only - was tested by SE) Version 1.61 BETA release notes (29-Mar-2002) For Paul Bennisons Pilot 01) Add optional swap of 4x/0x for 3x/1x for Modicon I/o Scanner Version 1.52 BETA release notes (02-Jan-2002) Interim for SE only 01) for SE's final testing - release candidate for 1.60 (Per David Dogget) Version 1.51 BETA release notes (02-Jan-2002) Interim for SE only 01) for all, move to released 4.5 kernel 02) for IAP, some general changes to Setup Version 1.46 BETA release notes (02-Jan-2002) Interim for SE only 01) for SE, include the patched ARP to auto-adjust ARP table on gratuitous ARP 02) for SE, because of above patch, remove work-around (per v1.38) 03) for SE, add support for command 0x7D (for EXECLOADER.EXE) 04) for SE, make support for command 0x7E (for Modsoft/Concept) exclusive to SE Version 1.45 BETA release notes (08-Nov-2001) Interim for SE only 01) for SE, #ifdef out the HTTP server 02) for SE, #ifdef out the duplicate IP mapping ('host list') for master mode 03) for SE, #ifdef in the older setapr.c test to prevent duplicate IP in table 04) for SE, change code from ZE to CV (think that's easier to remember) 05) for SE, a few minor display changes - remove some unrequired info Version 1.44 BETA release notes (12-Oct-2001) 01) Redo RTS/CTS control - On some hardware touching RTS or CTS breaks RS-485. This is a problem because the CMS OEM using RTS/CTS to control RS-485 turn-around. So I added more "if(HW=X) and/or isRS485" type logic to selectively make those wanting RTS/CTS and those *NOT* wanting it happy. Version 1.43 BETA release notes (08-Oct-2001) 01) Change "telnet startup" to the kernel routine - the old manual loop did not properly ask for a password if present 02) Factory-Default now clears the telnet password (only 4-byte version supported) 03) Enable in non-IAP build (Mas-Attached mode) idle close of out-going socket 04) Enable in non-IAP build (Mas-Attached mode) redundant IP in slave table Version 1.42 BETA release notes (28-Sep-2001) 01) Add support for redundant entries in the Slave IP table 02) Flush pending serial master requests when remote IP will not open 03) Fine-Tune telnet debug trace at port 3000 for cleaner user view Version 1.41 BETA release notes (12-Sep-2001) 01) Fix FL/UDS hardware detection broken by test for CMS on MiniRv2 (coboxtype.c & setpar.c) 02) Setting a Master-Attached socket timeout of 0 did NOT properly keep socket open (mchan.c) 03) Update way TCP sockets closed (FINs) due to newer kernels expectations (mchan.c) 04) Add override for the firmware lock to Schneider Electric CEV (is '^' char at menu in setpar.c) 05) Adjust the ARP table clear to work faster in case of reopen (mchan.c) Note: if socket is reopening, fail-over to new MAC only happens after user-defined MSG timeout or internal TCP socket timeout (which ever is shorter) Note: if socket is active, fail-over to new MAC only happens after user-define 'idle timeout' or internal TCP socket timeout (which ever is shorter) ================================== Version 1.30 was released Version 1.3A BETA release notes 01) verify mod.rom (Code:4D) runs on a old E2 with 128 bytes of EEPROM Version 1.39 BETA release notes 01) verify mod.rom (Code:4D) runs on a Micro/Mini Rv2 acting like a Rv1 Confirm the Setup prompts are correct (remove DCE language, E2 prompts etc) Version 1.38 BETA release notes 01) IMPORTANT CHANGE The Modbus code is now split into several builds: - am.rom is the APS running on EEPROM keyed units ONLY * it will NOT run on CoBox-E1M, CoBox-E2 or DR1-MB units! * It is validated ONLY to run on new DR1(w 512K), UDS10, and CoBox-FL - mod.rom is the OEM/Legacy version (Code: 4D) * it will NOT run on CoBox-FL or UDS10 * validated ONLY to run on DR1 (w 128K), Micro/Mini Rv2 * (not sure about CoBox-E2/E1M or Mini Rv1 - may have to wait until 1.39) 02) Mini Rev2 users - this Modbus assumes LED #2 (CON1:pin 8) is your RTS out for RS-232 or RS-485 line turn-around, and DCD in is your CTS response. 03) Fix an ARP table issue - if a remote IP with active sockets "moves" to a new HW MAC, of course the attempts to reopen the failed sockets to old MAC also fails. The old kernel would keep retrying this old MAC for a long time (10 minutes or more). Now the Modbus code removes any existing ARP table entries for the target IP when a reopen FAILS. This forces a new ARP which causes the NEW MAC of the IP to be recognized in a few scans. 04) Although TCP/IP timeout follows the serial "message timeout", enforce a minimum timeout of 2 sec for the first socket connection. Although once connected, a remote Modbus/TCP server/slave can answer in 50-100 msec, the initial socket open sometimes takes far longer. 05) In "Serial Master-Attached" mode, disabling the use of 0x0A and 0x0B will filter these OUT of the Modbus/TCP responses received. These exceptions will just be discarded and the master see a silence/timeout. This is required as many serial Modbus/RTU masters do not understand these errors and either treat them as unknown-but-successful or some actual halt operation (go off-line). 06) Have fixed RTS/CTS radio modem control on DR1, UDS, CoBox-FL, Micro & Mini Rv2 (& it was NOT easy!). This does not work in v1.2 on any CoBox but the E2/E1M. 07) Performance issues. Be aware that raw thru-put from Modbus/TCP to Serial Modbus/RTU is a difficult thing to measure - there are a lot of system dyanmics involved. I've had lots of people complain about this or that - my max test with v1.2 was 1 Modbus/TCP master polling flat out 2 register of a fast Modbus/RTU slave (an I/O block) at 19.2K was 23-25 polls per second. Consider that at 19.2, an 8 byte request takes 4msec to transmit and a 9 byte response another 5 msec. Yet I've had other people swear they can only manage 2 polls per second from some OPC servers. in 1.38 Beta testing, I was able to create 8 Masters all polling 10 registers each at 500 msec cycles (that's 16 polls per second). So just understand that your results will vary - it depends on how effective your Modbus/TCP master is, what baud rate you use, how fast your slave answers, and many other factors. Version 1.36 & 1.37 BETA release notes 01) Token-Ring Support is removed. For Token-Ring continue using release 1.2 (reclaims 8K of code space) 02) Removed the fixed character timeout of 1 sec for Modbus/ASCII Now uses the same user-settable char time-out as for Modbus/RTU (Users with Modbus/ASCII and WAN/Satellite required LONGER than 1 second) 03) Old char timeout range of 10 to 1275 msec is NOW 10 to 7050 msec. This is the timeout used AFTER the first char is seen to identify the end-of- message (only if the CoBox doesn't understand the Modbus command). (Users with WAN/Satellite required LONGER than 1.2 second at times) 04) Old msg timeout range of 500 to 60,000 msec is NOW 200 to 65000 msec. This is the timeout used: for start of first char, for RTS/CTS response, for TCP reassembly of TCP fragmented Modbus/TCP messages. (Users with fast slaves desired a faster timeout to handle the case of multiple slaves OFF-LINE at once with less impact on overall scan cycle) 05) TCP reassembly timeout now matches msg timeout (old was fixed at 5000 msec) (Users with WAN/Satellite possibly requiring LONGER plus makes more sense as designing for a 1000 msec serial timeout with a 5000 msec TCP timeout is nonsense) 06) Changed behavior in timeout condition (use of Modbus/TCP exception codes) Old design was inconsistant here 0x0B was ALWAYS returned on serial master-attached, but NEVER on network master-attached. This was actually backwards from what most users wanted, plus many users complained as the 0x0B exception was not properly handled by their Modbus/RTU masters. Added user option to have 'MB/TCP exception' returned on timeout or no-response (Expection 0x0A is defined as gateway busy - Transient Error - can try again) (Expection 0x0B is defined as slave unreachable - Hard Error - no use to retry) In 'Master-Attached' 0x0A returned to MB serial master if no socket could open or 0x0B if serial slave address is not in map table In 'Slave-Attached' 0x0B returned to MB/TCP master if no serial response in configured "msg timeout" or a CRC error occurs 0x0B is returned if RTS/CTS is enabled & no CTS or for some reason the Slave address received is invalid (not there). (In Slave-Attached mode currently 0x0A is not returned). DEFAULT is to have this disabled - users who desire it turn it on. PLC programmers using MAST blocks love this exception as it aborts the poll automatically when the slave is off-line without them requiring an external timer in their ladder logic. 07) Add support for 57K (valid for AMD CPU - UDS10, Micro, Mini_v2). Users who select 57K or 115K on hardware which does NOT support this are warned and the baud rate remains unchanged. (Old E2 supported 300..38K + 115K - no 57K) (Old DR1 supported 300..38K only - no 57K or 115K) 08) Trap/suppress use of 2-stop bits on AMD CPU - UDS10, Micro, Mini_v2. Users who select 2-stop bits on hardware which does NOT support this are warned and the settings are forced back to 1-stop bit. 09) Change port media selection PROMPTS to clarify RS-485 2/4-wire selection (Old prompt confused users who selected RS-485 2-wire even for RS-485 4-wire) 10) After accepting Interface param (RS-233/422/485) Warn DR1 users to also set the external switch to match. (Common problem - uses set one or other, but MUST do both) 11) Ready/Yellow LED behavior changed to match LX standard LX, Idle = Solid, active sockets = blink OEM=Schneider, Idle = blink, active = Solid (Users using BOTH standard CoBox and Modbus complained difference confusing) 12) Default port settings 9600,8,N,1 to match LX standard OEM=Schneider, default 9600,8,E,1 (Only Schneider defaults to EVEN parity, other Modbus devices default to NONE) 13) Suppress E2 prompts for DB9/DB25 if is AMD (not DR1 and not E2) (New hardware was confusing firmware prompts) 14) Change E2 prompts for DB9/DB25 to CH1 and CH2 (Prep for day when MiniRv2 with 2 comm ports is used) 15) When in "Master-Attached" mode, special ignore of a first NULL char - some PC apps send an initial null on port open. This is a minor issue, as it usually just caused one false "Bad CRC" error on start-up. However, it also caused the first poll to be lost on some Modbus/RTU master applications. 16) (* APS only feature - non-APS retains old default of pipeline always on *) Add user option to disable Modbus/TCP "pipeline" in Slave Attached mode. The true spec denies this exists, but many OPC servers (including Schneider's) do what SE calls "pipelining". More than 1 distinct Modbus/TCP is queued into the TCP FIFO to increase throughput. The v1.2 and earlier supported this fine, however many users try to PUSH the poll rate faster than the serial link can handle. The results is the pipeline fills up with OLD repeated polls - most of which the OPC server is NO LONGER interested in. This causes the slaves attached to go off-line even though they are working fine. The "problem" is that when users power cycle the CoBox, data comm starts working again so they mistakely assume the CoBox was crashed/faulty & blame Lantronix instead of the true culprit of unsuitable timeout or too fast of polling. Disabling the pipeline is a simple matter of making sure a Modbus/TCP request received from the FIFO is the LAST message there. The DEFAULT is to enable the Pipeline (ie: ignore if MORE data is in FIFO), but the user manual trouble-shooting section should help users understand pipeline/queuing symptoms and when to disable it. 17) When in "Master-Attached" mode, CoBox no longer holds remote TCP ports open "forever". Now it only opens them to talk and allows them to close after a user defined idle time. Default is 10 seconds. 18) When in "Master-Attached" mode, CoBox uses an IP mapping table to convert a Modbus/RTU slave address to a remote IP. Old design only allowed 8 remote IP & held up to 8 sockets open forever. We added a simple option to allow the user to use the Slave address as the 4th Octet of the IP. This means they can now access 255 remote IP on up to 8 subnets. This also simplifies setup as now for 50 remote IP (say 192.168.0.1 to 192.168.0.50), the user only needs to configure the IP 192.168.0.0 in as one entry and access them as slaves 1 to 50. 19) When "Master-Attached" re-enabled the test to verify sequence number. This was for some reason disabled by previous versions, but is super critical to reliable operation. If the TCP/IP link is slow, we may abort/give up waiting for a response, issue a new 2nd request, and - in effect - receive 2 response (the old aborted one and the new 2nd one). The Sequence number is critical to allow the CoBox to discard the old aborted response and recognize that it must STILL wait more for the correct response. Without this verification, CoBox can RETURN wrong response to master (ie: a poll to slave X receives a response from slave Y). 20) When "Slave-Attached" save the request's slave address & command byte to help relably verify the correct response matches (to the best of this crude methods ability) the original request. In RS-232 or RS-485 4-wire mode it is possible for a slow slave to reply while the CoBox is sending a NEW request. While we do flush the rcv buffer etc, we have a race condition where in theory all or part of the last message will make it into the receive buffer and be mistaken as the new response. So we save these 2 bytes to help identify the incorrect response. This is NOT a good enough verify method to "promise" the received response is 100% what we expect Without this verification, CoBox can RETURN wrong response to master (ie: a poll to slave X receives a response from slave Y). This is especially TRUE if the attached slave is really another bridge/gateway used for some other change. 21) If user sets a Message Timeout less than the estimated worst-case Modbus poll time per selected baud rate, user is warned. Estimated worst-case Modbus poll time is defined as the time to send an 8-byte request, wait 50msec for slave processing, and to receive a 255-byte response. Since many small devices may NOT include so much data, the user is not FORCED to the larger timeout ... only must endure the warnings. (This is added as some users set slow baud rates WITHOUT compensating for this in the message timeout & then complained of high error rate or full failure). 22) Trap/suppress use of 7-data bits for Modbus/RTU (required 8-data bits) 23) HTTP web server is enabled - but only a dummy page is included 24) RS-485 2-wire turn-around was tweaked for the DR1, UDS10, and CoBox-FL. The RTS/RS-485 transmitters is turned ON about 1 msec before data starts transmitting. After the last data-bit, the following "turn-around" or delays are seen before the RS-485 transmitter is dropped (times in milliseconds): Baud 1 Char DR1 UDS10 CoBox-FL 300 33.3* 4.5 to 5.5* 3.5 to 4.0* 3.5 to 4.0* 600 16.7 2.5 to 3.0 2.0 to 2.5 2.0 to 2.5 1200 8.3 1.0 to 2.0 1.0 to 1.5 1.0 to 1.5 2400 4.2 0.4 to 0.6 0.6 to 1.0 0.6 to 1.0 4800 2.1 0.3 to 0.5 0.4 to 0.6 0.4 to 0.6 9600 1.0 0.3 to 0.5 0.2 to 0.4 0.2 to 0.4 19200 0.5 0.3 to 0.4 0.2 to 0.4 0.2 to 0.4 38400 0.3 0.3 to 0.5 0.2 to 0.4 0.2 to 0.4 57600 0.2 (not avail) 0.2 to 0.4 0.2 to 0.4 115200 0.1 (not avail) 0.2 to 0.4 0.2 to 0.4 *Note: at 300 baud, the final stop bit takes about 3 msec! If 2 stop bits set, DR1 takes this into account (UDS/FL don't support 2-stop bits)