📄 releasenotes
字号:
This is the original RELEASENOTES from FAS 2.08 for reference only.Read README.FASI. DO NOT CONTACT UWE DOERING REGARDING THIS HACKED VERSION ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ release 1.1a Sat Nov 11, 1989 This is an unofficial release as I'm not the original author of this async driver. Uwe Doering INET : gemini@geminix.in-berlin.de Billstedter Pfad 17 b UUCP : ...!unido!fub!geminix.in-berlin.de!gemini 1000 Berlin 20 Germany New Features: Added a third minor tty device number for every physical port. See description preceding the asyopen function in asy.c. Changed the behavior of ttyxx, too. Added output hardware handshake support for DSR. Now you can do handshake with CTS, DSR or both. Input hardware handshake is on if you use at least one of the output handshake signals. More flexible support of additional interrupt registers on mux boards. This is fully configurable now. Added support for the CREAD flag. If not set, receiver interrupts are still serviced, but the received characters are simply thrown away. This is not as elegant as disabeling the interrupts themselves, but with the already existing driver it was the easiest way, and the most new-bugs-preventing, too. Added a lot of comments to the source so that the curious user can understand why and how things are done. Bug Fixes: The hang-up-on-last-close flag (HUPCL) was ignored. DTR was asserted regardless of this flag. Made the detection of CTS and DCD more bullet-proof. Especially because between a close and the next open of a line, where interrupts are ignored, the software copys of CTS and DCD must be set up propperly in the asyopen function or the tty line would be blocked under certain circum- stances. For similar reasons, there is also a setup in the asyparam function. Rewrote the input character processing function to work according to the TERMIO(7) man page. Changed the behavior of BREAK generation to let the transmitter drain before TX is set to low. Changed line hangup procedure so that the closing process returns immediately and doesn't sleep during the hangup delay/time. Instead, if an other process tries to open the line while hangup is still in progress, this process will sleep until hangup is competed. With DOS Merge, on MicroPort V/386 3.0e the linker was missing the function `init8250'. Reengineered this from a disassembler listing of MicroPort's original driver and modified it to work with the NS16550A 16-byte FIFO. This funktion was added simply to be able to link the kernel. DOS Merge's virtual COM ports are still unusable with this release, though. To include this function, add a `-DMERGE' to the CFLAGS line in your makefile. Made a lot of other corrections and enhancements in both speed and functionallity. As a result of all my effords I think this driver is slightly faster, more versatile and much more stable than the original release. ------------------------------------------------------------ release 1.1b Sat Nov 25, 1989 New Features: Changed the minor device number scheme again. There are now two main groups: The unblocked open and the blocked open. Every group has four sub-modes and an additional hardware handshake flag. All this is coded in the higher four bits of the minor device number. Because of this, the maximum of 32 ports was reduced to 16 ports so that the port number fits into the remaining lower four bits of the minor device number. 32 dumb ports in a single machine would have been overkill anyway. For more details refer to the description in the README file. ------------------------------------------------------------ release 2.00 Mon Nov 27, 1989 As this release differs so much from the original version I got, I now declare this as independant from the original author Jim Murray. This allows me to introduce new release levels without wondering whether they will collide with Jim's releases. Of course many credits to Jim for writing this software in the first place. Without his driver as a base I never would have been able to do such kernel driver development. Bug Fixes: If there were glitches on the hardware handshake lines and the DCD line a getty on this port would sometimes hang and become an immortal process. I think this was because the output buffer wasn't flushed properly on carrier loss. I hope I fixed this now. We'll see. ------------------------------------------------------------ release 2.01 Tue Nov 28, 1989 Did some cleanup in the source code. I splitted the driver into two parts: The driver itself and the file `space.c'. `space.c' contains all data structures necessary to configure the driver and is compiled at kernel link time. Therefore if you change your serial card configuration you simply change `space.c' directly in the link kit directory and relink the kernel. No driver recompilation or installation is necessary for this. But note that whenever you use `make install' your setup in the link kit directory is overwritten by the original `space.c' file. Therefore you should copy your new `space.c' back to the source directory when you are finished with the configuration. Renamed the package to `FAS Final Async Solution'. The following files have been renamed: asy.c -> fas.c asy.h -> fas.h asy_conf-xxxxx -> space-xxxxx ISC 386/ix is supported now. There are separate makefiles for uPort and ISC to cope with the differences in link kit installation. Bug Fixes: `getty' still hung sometimes on a line with hardware handshake. Tried to fix it this time. ------------------------------------------------------------ release 2.02 Thu Nov 30, 1989 Abandoned the distinction between space-xxxxx files with and without hardware flow control because this is selected by the minor device number now. Bug Fixes: Set the high and low water marks for hardware input flow control to higher values than software flow control. This gives precedence to software flow control if both methods are used. These marks are self-adjusting and don't need to be changed if some flavor of UNIX has a different buffer size than the standard 256 characters. Before this change concurrent use of both flow controls could cause trouble with some high-speed modems. This is fixed now. A flush read or write buffer request now also clears the receiver or transmitter FIFO, respectively. An ioctl call with a TCSETA* command clears the FIFOs, too. ------------------------------------------------------------ release 2.03 Fri Dec 01, 1989 Wrote an installation guide. The driver should be quite easy to install now. Added tty node configuration files for ISC. Hardware input flow control is bound now to the level of the receiver ring buffer instead of the UNIX input buffer. This has the advantage that buffer size and trigger levels are defined in the driver and therefore can be varied as needed. New Features: Added a boot time status message that shows the init state of each port. This tells you immediately what ports are found and initted by the driver. Useful to determine hardware configuration problems. Look at the description in the README file. Thanks to Kritt Gierlewsen (kritt@einoed.UUCP) for this proposal. ------------------------------------------------------------ release 2.04 Thu Dec 07, 1989 Did some cleanup in the source. Removed the FIFO clear from the ioctl function. We don't want to do things there that aren't in the book. An ioctl call that switches off the CLOCAL flag will create a SIGHUP signal if the carrier is actually missing at this time. Every device is tested now quite thoroughly during initialization. If the test fails the corresponding device keeps unconfigured. ------------------------------------------------------------ release 2.05 Sat Jan 13, 1990 This is the first public release of the FAS driver. Special thanks to the sysops of my test sites, Axel Fischer (fischer@utower.UUCP) and Kritt Gierlewsen (kritt@einoed.UUCP). FAS is now an independant driver with its own driver name (`fas'), major device number, link kit directory and other things necessary for a driver. The original asy driver may or may not be linked with the kernel. You only need it if you want to access some serial devices via the virtual COM ports of the DOS emulator (DosMerge or VP/ix) because the FAS driver doesn't have this (really vendor dependant) feature. The default prefix for tty device node names is `ttyF' now. This prevents mix-ups with the device names of the original asy driver. Dropped the SYSV/AT support. I couldn't test the driver for several release generations on uPort SYSV/AT, and because there are not very much systems left with that flavor of UNIX it doesn't make sense to try to maintain compatibility with it. If someone really wants to use this driver on a 286 he has to port it himself. Improved the transmitter FIFO fill procedure. Now it will try harder to fill the FIFO as much as possible to cut down on transmitter interrupts. Software input flow control (XON/XOFF) is controlled by the driver now. It is bound to the level of the receiver ring buffer (as is hardware flow control). As usual, it can be switched on and off by the IXOFF flag in the termio(7) structure. Changed and speeded up the ring buffer -> unix buffer processing. For ISC, the getty lines for the inittab file are installed by the makefile now. The conditional compilation of the function `init8250' (for DosMerge) is now controlled by a define in `fas.h'. The compiler switch `-DMERGE' is not used any more. Improved the documentation. The signals used for modem control and hardware flow control are fully configurable in the `space.c' file now. Look at `fas.h' for possible macros and combinations.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -