⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 一个通讯程序源码
💻
📖 第 1 页 / 共 2 页
字号:
          The other advantage of this CTS/DSR mechanismn is that you          can still connect dumb serial devices to an FAS hardware          handshake port using a minimal 3-wire cable. As an unconnected          DSR line is automatically low hardware output handshake is          disabled, which is just what you wanted in this case.     Half duplex mode:          There are actually three half duplex modes selected by          the minor device number:          First mode:             If the RTSFLOW termio(7) flag is set _and_ the CLOCAL             flag is _not_ set the RTS line is used to signal the             connected device that there is data in the output buffer.             As long as there is output data to come the RTS line stays             high. If the output buffer has drained RTS drops to low             until there is more data to be sent to the connected device.             If the CTSFLOW termio(7) flag is set _and_ the CLOCAL             flag is _not_ set the CTS line used to control the output             character flow. This works as in full duplex mode.          Second mode:             This mode overrides the RTSFLOW/CTSFLOW flags and works             as if the CTSFLOW flag is set permanently. The CLOCAL flag             doesn't affect this mode.          Third mode:             This mode overrides the RTSFLOW/CTSFLOW flags and works             as if both the RTSFLOW and CTSFLOW flags are set permanently.             The CLOCAL flag doesn't affect this mode.     CABLING     -------     Don't leave unused input lines (CTS, DCD, DSR, RING) open! Due     to crosstalking from other lines these input lines might change     their logic level rapidly, resulting in excessive modem status     interrupts that could bring your machine down to its knees.     Therefor you should connect any unused input line to GND (pin 7     on the D-Sub 25 RS232C connector).     To prevent the machine from locking up in a case like described     above the port causing the modem status interrupts will be shut     down for 30 seconds after the last close on that port. Any attempt     to use an open(), read(), write() or ioctl() call to this port     during the time until the last close and then 30 seconds from     there will result in an ENXIO error.     The port shutdown will be indicated on the system console by a     warning message containing the unit number of the offending port.     But even if this protection mechanismn isn't triggered on your     computer you might have this problem. This is usually indicated     by a bad system performance during high speed serial data transfers.     Use your system's performance measurement tools to check the     number of modem interrupts. If it is unusual high, or even     higher than the number of transmit/receive interrupts, you     certainly have a problem with your cabling. Of course, another     reason could be a bad port chip.     ATTENTION: If you want to connect two UNIX systems (both using     FAS) via a null modem cable, and if you want to run a getty     on both ends you need to modify the `space.c' file to prevent     both gettys talking to each other, wasting valuable CPU time.     Remove the `EI_DTR' (or `EI_RTS', depending on your setup) macro     for the desired port from the initializer part of the `fas_modem'     array. This will cause DTR (or RTS) to be asserted only on     dialout. Therefor, the getty at the other end will become alive     only if a dialout is in progress.     VP/ix SUPPORT     -------------     FAS allows DOS programs running under VP/ix to access serial     ports. You simply need to modify your personal VP/ix configuration     file (`vpix.cnf') to tell the DOS emulator which FAS devices to     use for COM1 (or COM1MOUSE) and COM2. Note that VP/ix opens     these devices at startup time, so you better make sure that     the desired devices aren't used by other processes when you     start VP/ix as VP/ix wants to use them exclusively.     There are some special features with the handling of the RTS and     DTR lines you should know about. If your DOS program asserts     the DTR line this will actually cause action on the modem     enable line you configured in `space.c'. Likewise, RTS asserts     the half duplex hardware handshake line configured in `space.c'.     If the used FAS device has full duplex hardware handshake enabled,     asserting RTS from DOS actually stops the character flow from FAS     to VP/ix. This prevents input buffers of interrupt driven DOS     programs from overflowing. FAS, on the other hand, uses its hardware     handshake to prevent an overflow of its own input buffer. Therefor     you can use DOS telecommunication programs even at high baud rates     without losing characters, provided your DOS programs are     configured to use full duplex RTS/CTS flow control.     All this virtual handling has the advantage that the DOS program     doesn't need to know certain details about your actual port setup.     Reading the modem status register, on the other hand, doesn't cause     any translation of the register value.     To enable VP/ix support, you have to uncomment the `HAVE_VPIX'     define in `fas.h'.     DEVICE LOCKUPS     --------------     There are certain conditions under which a device can lock up,     that is, at least one process that uses this device waits for     a tty I/O related event that obviously doesn't occure.     The most common case is that there are still characters in the     output buffer, but the output is disabled for some reason. Then     the last process that closes the tty device hangs in the close()     function until the output buffer has drained.     Tty output may be stopped by the software (XON/XOFF) or hardware     (RTS/CTS, by default) flow control. In this case something     seems to be wrong with the cabling or the connected device.     Please check this first out before you blame FAS. Sometimes     it helps to switch the device off and on a few times to unblock     the tty output.     Another reason could be a lost transmitter interrupt. This usually     indicates a hardware problem in your computer which should be fixed     as soon as possible. Otherwise, you can't run this system unattended     because it is too unreliable.     In the cases described above the last resort is entering `kill -9 <pid>'     once or twice. This should unblock and terminate the hanging process.     And there is a rare case which has to do with the number of available     CLISTs in the UNIX kernel. The CLIST output and input buffers are     256 bytes each (by default). If for some reason the output of a     tty device is stopped but a process continues to send data one     character at a time this uses up one CLIST for every charcacter.     If the number of CLISTs in the kernel is less than 256 all CLISTs     will be busy eventually.     The dangerous part here is that the pool of CLISTs is used by all     tty devices. Therefor, if one single tty device manages to eat up     all available CLISTs all tty in- and output comes to a halt. If this     happens you can't access your machine any more, not even from the     operator console. Although, the system is still alive internally.     Unfortunately, many UNIX vendors have put a dangerously low number-of-     CLISTs parameter into their kernel tune files. You should increase     it to a value that makes it impossible that one device alone can     occupy all CLISTs (it's the NCLIST parameter under AT&T derived     UNIX SysVr3.x). A value of 400 should be sufficient.------------------------------------------------------------------------What's in this package:     README         This file.     INSTALLATION   A description about how to install the driver                    on your system.     PATCHLEVEL     Just a reference file for future updates.     RELEASENOTES   Notes about the present FAS releases.                         fas.h          The header file for the driver.     fas.c          The driver itself.     space-xxxxx    These are samples of what `space.c' must look                    like.  You can either copy one of these to                    `space.c' or use it as a template to create your                    own `space.c'.          space-c1-2     For com1 and com2.          space-c1-3     For com1, com2 and com3.          space-ast4     For the AST 4-port card.          space-hub6     For the Bell Tech HUB-6 card.     config-xxxxx   This is for uPort SYS V/386 only.                    Kernel configuaration file.  You should pick the one                    that matches your configuration and copy it to `config'.          config-c1-2    For com1 and com2.          config-c1-3    For com1, com2 and com3.          config-ast4    For the AST 4-port card.          config-hub6    For the Bell Tech HUB-6 card.     s_fas-xxxxx    This is for ISC 386/ix, ESIX, Bell Tech/Intel UNIX 3.2                    and SCO UNIX 386.                    Kernel configuration file.  You should pick the one                    that matches your configuration and copy it to `s_fas'.          s_fas-c1-2     For com1 and com2.          s_fas-c1-3     For com1, com2 and com3.          s_fas-ast4     For the AST 4-port card.          s_fas-hub6     For the Bell Tech HUB-6 card.     n_fas-xxxxx    This is for ISC 386/ix, ESIX, Bell Tech/Intel UNIX 3.2                    and SCO UNIX 386.                    Tty device nodes file.  You should pick the one                    that matches your configuration and copy it to `n_fas'.          n_fas-c1-2     For com1 and com2.          n_fas-c1-3     For com1, com2 and com3.          n_fas-ast4     For the AST 4-port card.          n_fas-hub6     For the Bell Tech HUB-6 card.     i_fas-xxxxx    This is for ISC 386/ix, ESIX, Bell Tech/Intel UNIX 3.2                    and SCO UNIX 386.                    Inittab getty lines file.  You should pick the one                    that matches your configuration and copy it to `i_fas'.          i_fas-c1-2     For com1 and com2.          i_fas-c1-3     For com1, com2 and com3.          i_fas-ast4     For the AST 4-port card.          i_fas-hub6     For the Bell Tech HUB-6 card.     Makefile.uPort A makefile for uPort SYS V/386 systems. This is generic                    and should work for all configurations of lines                    and interrupts.     Makefile.ISC   A makefile for ISC 386/ix systems.  This is generic                    and should work for all configurations of lines                    and interrupts.     Makefile.ESIX  A makefile for ESIX systems.  This is generic                    and should work for all configurations of lines                    and interrupts.     Makefile.BELL  A makefile for Bell Tech/Intel UNIX 3.2 systems.  This                    is generic and should work for all configurations of                    lines and interrupts.     Makefile.SCO   A makefile for SCO UNIX 386 systems.  This is generic                    and should work for all configurations of lines                    and interrupts.     Makefile.X386  A makefile for SCO Xenix 386 systems.  This is generic                    and should work for all configurations of lines                    and interrupts.     Makefile.X286  A makefile for SCO Xenix 286 systems.  This is generic                    and should work for all configurations of lines                    and interrupts.------------------------------------------------------------------------What you will need to use this package:     You will need one of the above mentioned UNIX systems with the     kernel link kit and the software development package.------------------------------------------------------------------------The original asy replacement driver for Microport UNIX/386 (FAS' predecessor)was developed byJim Murray              INET            jjm%jjmhome@m2c.m2c.org2 Mohawk Circle         UUCP            harvard!m2c!jjmhome!jjmWestboro Mass 01581     USA                                     voice (508) 366-2813Credits to him for releasing this great driver to the Usenet community.But if you have problems with FAS please don't contact him because hewasn't involved in the developement of FAS.FAS was developed by [BUT DON'T BOTHER HIM ABOUT FAS/i]Uwe Doering             INET : gemini@geminix.in-berlin.deBillstedter Pfad 17 b   UUCP : ...!unido!fub!geminix.in-berlin.de!gemini1000 Berlin 20Germany------------------------------------------------------------------------------For FAS/i inquiries:   Warren Tucker wht@n4hgf.GA.US, emory!n4hgf!wht    ^    ^    ^    ^    ^    ^    ^    ^    ^    ^Send your questions and bug reports to this address.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -