Product:    NPort Linux Real TTY Driver 
Version:    4.4
Date:       01/27/2026
Company:    Moxa Inc.

Release Note:
=============
ver 4.4
1. New: Support security redundant mode.

ver 4.3
1. New: Support data port and command port encrypted.
2. New: Support verify certificate in secure mode.
3. Bugfix: Fixed the function, tty_ldisc_deref(), may not be triggered.
4. Bugfix: Dropping DTR when setting the zero baudrate, B0, to the tty node. 

ver4.2 Build 22121317
1. Improve: Added the cmd_timeout parameter to mxinst to specify the customized
            network timeout.
2. Improve: Using the RHEL release version for better kernel source
            compatibility. It can help prevent the error of 'macro "access_ok"
            passed 3 arguments...' during the compile time.
3. Bugfix: Fixed the compiler error in CentOS 8, kernel 4.18.0-394.
4. Bugfix: Fixed the compiler error in Rocky Linux 8.6.
5. Bugfix: Fixed the compiler error on 'struct task_struct' that has no member
           named 'state'...
6. Bugfix: Fixed the compiler error that 'access_ok' was undeclared in Kylin
           Server V10, kernel 4.19.90.
7. Change: Downgraded software license from GPLv3 to GPLv2.
8. Change: Revised the ARM_PORTING_GUIDE.txt because the license changed.

ver4.1 Build 21080410
1. Improve: Add a optional udev rule to keep redundant ttys.
2. Bugfix: Fix the slow startup and shutdown issues after ports are mapped on
           Debian 10.x (kernel 4.19.0)
3. Bugfix: Fix a slow response problem when reading serial data from CN2650
           in redundant mode.
4. Bugfix: Fixed installation fail using polling parameter in RHEL 8.1
5. Bugfix: Fix errors while calling mxmknod out of driver directory.
6. Bugfix: Fix mxinst error with polling parameter.
7. Bugfix: Fixed access_ok() input wrong parameters in RHEL 8.1
8. Bugfix: Fixed driver occurs network timeout in a random execution time.
9. Bugfix: Fix the compile error about tty ASYNC_ flags on kernel 4.19.
10. Change: Not support legacy init startup service (system V).

ver4.0 Build 19101415
1. New: Support systemd process to load driver. 
2. Improve: The connections of opened TTY ports will not be disconnected then
            reconnected when adding or removing servers. The related
            description is also removed in README.txt due to the users are not
            required to manually send SIGUSR1 to activate configuration changes.
3. Improve: Supports Virtual Machine, ESXi v6.7.0 is tested with guest OS
            Ubuntu 18.10 x64 and Ubuntu 19.04 x64.
4. Improve: Supports ARM based Linux, with Raspbian is tested.
5. Bugfix: Driver doesn't set non-standard baud rate correctly.
6. Bugfix: Compiling error with message "malloc.c2401: sysmalloc: Assertion" in
           Fedora release 28.
7. Bugfix: In Fedora release 24/26, the service daemon can't start NPort service
           properly after restarting OS.
8. Bugfix: Fix driver cannot determine the init process correctly when delete
           NPort server.
9. Change: Divided an independent driver version 4.0 to support only Linux
           kernel 4.x.

ver1.19 Build 17110917
1. New: Support Raspbian Jessie or later for Raspberry Pi 2/3.
2. New: Add driver background polling feature to eliminate the waiting time
        when NPort is not existed in Slackware 14.0.
3. Improve: Support kernel version to kernel 4.13.
4. Improve: Compiling errors with error message “error: expected expression
            before '{' token” in specified platforms.
5. Improve: When using domain name as mapping address of NPort, it will be
            translated every time while Real TTY opening the port.
6. Improve: Compiling errors when using secured Real COM mode.
7. Improve: Shutdown hanging might happen in specified OS Red Hat Enterprise
            Linux 7.2 (3.10.0-123.el7).
8. Bugfix: Real TTY can't startup TTY ports with domain name mapped after
           system is rebooted.
9. Bugfix: Kernel panic with error message "unable to handle kernel paging
           request" on specified platforms.
10. Bugfix: Driver isn't loaded properly after system reboot on Ubuntu 16.04.
11. Bugfix: Driver may cause a kernel crash with error messages "soft lockup"
            with specified network interface card.
12. Bugfix: The command stty may output error if there is no loopback connector
            on NPort in Redundant mode.
13. Bugfix: Network reconnection problems when using redundant mode.
14. Bugfix: The Real TTY service may not be started automatically in Debian 6.0
            or later versions.
15. Bugfix: There may be communication loss when using IPv6.
16. Bugfix: It can't read data due to abnormal flow control in Linux kernel 3.8
            and later.
17. Bugfix: When security mode is enabled, driver may crash if it connects to
            offline NPort.
18. Bugfix: Port mapping incorrectly after reboot in Kernel 3.2.48.
19. Bugfix: When NPort is offline, the current serial parameters are not saved
            for reconnection.
20. Bugfix: While executing mxsetsec, the configuration of driver will be
            cleared.
21. Bugfix: When opening node /dev/ttyr10, the port 16 should be opened, but
            the port 10 is opened instead.
22. Bugfix: The driver reference count becomes negative after port open fail.
23. Change: Not support kernel 2.x. 
24. Change: Log file increased unlimitedly causes file system crash.

ver1.18 Build 12020919
1. Improve: Support Linux Kernel up to 3.1.0-7
2. improve: Modify Makefile for compatibility under Ubuntu 11.10  
3. Bugfix: Driver can't support maximum connection in Redundant COM Mode.
4. Bugfix: Compiler error when security option is enabled.

ver1.17 Build 10122918
1. New: Support Redundant COM Mode for CN2600 series 
        (Firmware version cn2600-2ac_Ver4.2_Build_10081915.rom).
2. New: Support add port dynamically for Real COM Mode.
3. Improve: Support Linux kernel up to 2.6.36.
4. Bugfix: The Cu command does not work properly when the security option 
           is enabled. 
5. Bugfix: The driver will still connect to NPort when user closed port.
6. Bugfix: The driver will still connect to NPort when user type ctrl + c.
7. Bugfix: If remote device is not alive, getty can't login.
8. Bugfix: Receiver break signal before open port completed. 
           it'll break on close port.
9. Bugfix: Driver Can't check CN26x0 is alive or not.

ver1.16 (03/05/2009)
1. VR
3. New: Add mxsetsec select all port to secure or either.
4. Bugfix: If SELinux does not support MLS, it fail to create /dev/ttyr* node.
5. Bugfix: When open port fail, will let module can't remove.
6. Support domain name.
7. Bugfix: In kernel 2.6.28, it will let system collapse.
8. Support Linux kernel up to 2.6.27(Ubuntu 8.10).
9. New: Support linear baudrate.
   Run 3 steps to set customed baudrate: (E.g., /dev/ttyr00, baudrate 500K)
     (1) /bin/setserial /dev/ttyr00 spd_cust
     (2) /bin/setserial /dev/ttyr00 divisor 1
     (3) /bin/setserial /dev/ttyr00 baud_base 500000
   Run 1 step to recover to normal mode:
     (1) /bin/setserial /dev/ttyr00 divisor 0
10. Bugfix: Compile failed for kernel v2.6.21 platform.

Ver1.15 (4/22/2008)
1. New: Support IPv6 (kernel 2.6.x).

Ver 1.14 (6/26/2007)
1. Official release.
2. New: support 32 port model.
3. Bugfix: local buffer isn't cleared when port is closed.

Ver 1.13 (11/17/2006)
1. Official release.
2. Support Secure RealCOM operating mode at NPort 6000 series.  

Ver 1.12 (2/23/2006)
1. Offical release.
2. new: Add termio CMSPAR option. Now the driver supports MARK and SPACE parity checks.
3. bugfix: Use access_ok() instead of verify_ok(), since it is obsolete in 2.6.x kernel.

Ver 1.11 (7/25/2005)
1. Offical release.
2. new: Support NPort IA model.

Ver 1.10 (4/22/2005)
1. Further verified the supported Moxa products.
2. Support Linux kernel version 2.4.x to 2.6.9.
3. Bug fixed: Warning message occurs with ppp dialout case.
4. Bug fixed: With kernel 2.4, try to ping a packet larger than 4KB via
              ppp dialout caused Linux to hang.

Ver 1.9 (3/2/2005)
1. Bug fixed: server index of ttyinfo table is not correct. Connection might
     be down incorrectly.

Ver 1.8 (2/22/2005)
1. Bug fixed: Open might be slow or failed.
2. Bug fixed: Warning message occurs when adding/removing nodes in Fedora Core3.
3. Add Slackware support (Kernel version 2.4.x).
4. Bug fixed: /dev/ttyr?? nodes might be deleted after system reboot in some Linux kernel 2.6.x.

Ver 1.7 (12/31/2004)
1. Support ASPP baud rate error detection.
2. Modified DSCI netstat command: using little endian for max_socket field.
3. Add new product NPort 5110 into README.TXT and VERSION.TXT.
4. Fix bug: ap_id field is 4 byte long. Use ntohl() and htonl() to convert between host and network format.
5. Add alive check mechanism for MOXA products which support DSCI commands (get net state).
6. Modified alive check to support multiple connections.

Ver1.6
1. Support Linux kernel 2.6.
2. Callout device (cur*) is obsolete under Linux 2.6.

Ver1.5
1. Support NE-4100T, NE-4110S, NE-4120S, NE-4110A, NE-4120A.

Ver1.4
1. Support CN2510-8, CN2510-16, CN2610-8, CN2610-16.
2. Fix compiling error: request for member `counter' in 
   something not a structure or union. Except Fedora, this is 
   encounterd on any distribution with kernel version
   >= 2.4.22. (Bug#33)
3. Fix compiling error on Red Hat 7.2: The MODULE_LICENSE is 
   not defined. (Bug#5)

-End-
