home *** CD-ROM | disk | FTP | other *** search
/ Peanuts NeXT Software Archives / Peanuts-1.iso / CDROM / READMEs / Peanuts-3 / i486 / serial / MuxDriver.1.4.README < prev   
Encoding:
Text File  |  1996-11-09  |  7.5 KB  |  136 lines

  1. How to install this driver:
  2.     1) You need the Development system for NeXTSTEP for Intel. If you only
  3.        have a user version, I believe some of the archives *should*
  4.        contain a compiled version of the package as it would end up in
  5.        Mux.config. Contact me (mark@ve6mgs.ampr.ab.ca) to get the binaries
  6.        if you have limited access.
  7.     2) Unpack into a working source subdirectory (You must have done this
  8.        to have extracted this README file.
  9.     3) Wander through the Configurations Directory to get a feel for the
  10.        various configurations and what may need to be done. Read the
  11.        English.lproj/Info.rtf, and the remainder of the README file.
  12.        Copy the Configurations/<blah blah>/Default.table file to this
  13.        directory for the configuration you intend to set up.
  14.     3a) if you do *not* have a SerialMouse (a Bus Mouse instead), then
  15.         you can replace the SerialPorts driver completely. The
  16.         Default.table file as shipped will work fine for adding single
  17.         ports with single interrupts and you need not read as dilegently.
  18.     3b) if you *need* a SerialMouse, then you will need to set up an
  19.         instance to the SerialPorts driver to handle just the mouse. This
  20.         will require some careful editing of the Instance?.table files
  21.         for both the SerialPorts and Mux drivers. This is *not* for the
  22.         faint at heart, but you can build confidence by reading the
  23.         documentation in Configurations/SerialPort,COM2.
  24.     3c) if you are setting this driver up to talk to a multiplexed serial
  25.         card, then you will also need to edit the Instance?.table files
  26.         because the default configuration inspector is not up to the task.
  27.     3d) if you need to taylor the buffer sizes, edit the Instance?.table
  28.         files after configuration.
  29.     4) Either through the Project builder, or from a terminal command
  30.        line in this directory, `make bundle' to ensure that the make
  31.        goes without problems (see below, not on kern/lock.h bug in the
  32.        development system). This step is optional, and is only to build
  33.        confidence.
  34.     5) If the make went without a hitch, become root (either by re-invoking
  35.        Project Builder through the OpenSesame service, or by su in a
  36.        terminal window) and `make install'
  37.     6) Install the Mux driver using the Configuration.app if it is possible
  38.        for your specific configuration. Even so, Configuration.app may
  39.        be used and then the brave can go on to editing the Instance?.tables
  40.     7) Sound simple? I have a bridge I can sell you. If I spent less time
  41.        improving the performance and testing this driver, I would have
  42.        written an all seeing all dancing Configuration inspector for this
  43.        driver. As you see, you get what you pay for ...
  44.  
  45.     < Sales Job, Why would you want to do this to yourself? >
  46.  
  47. This serial driver is used to add additional ports starting at ttyc and
  48. onwards. I have managed to get reliable 57600 Baud operation with this driver
  49. under NeXTSTEP/FIP with the 16550s of either a single additional port, or
  50. on the multiplexed 4 or 8 port DigiBoard cards. Beware, I believe the newer
  51. DigiBoards are set up for the AST standard (then just ignore the Multiplex
  52. register for now).
  53.  
  54. I have had reports of speeds into the 3600c/s region for this driver! I get
  55. only 870ch/s from the SerialPorts driver, and my machine crashes if I try
  56. using it at 19200 Baud ... I can calmly say: 500M of news flow over a three
  57. day period, at 57600 Baud (to a 14400 Baud modem), has not crashed the machine!
  58.  
  59. You are free to use this source in any way you wish, but credit must be given
  60. to California Regents Berkeley, Carnegie Mellon University, Olivetti (for their
  61. original work) and Mark Salyzyn.
  62.  
  63. This driver is designed to work as a DigiBoard and AST Style multiple serial
  64. I/O cards, single port *any* address *any* interrupt, or multiple port (no mux
  65. register) shared interrupt (use a 470 ohm resistor in parallel with a diode to
  66. provide the wired-or [active high] connections for the IRQ lines).
  67.  
  68. Refer to the README in the Configurations directory for more details on
  69. setup hints for odd configurations. The Default.table that is shipped is
  70. adequate for use with the standard two port serial system, and extensible to
  71. a four port system simply using the configuration inspector.
  72.  
  73. Bugs:
  74.  
  75. The AST standard, a far more modern one, is not yet tested, and without
  76. one of these cards, I am at a loss to provide testing for it. It *may* work if
  77. you don't specify a multiplex register or specify a Mux register with a port
  78. range of 1.
  79.  
  80. The Default Inspector does not work adequately on multiplexed boards except to
  81. set the interrupt, it has no concept of multiple port addresses. If you use it
  82. to set up the port, it will work adequately for a single port card added into
  83. the system though. It is recommended to use an editor to manipulate the
  84. /NextLibrary/Devices/Mux.config/Instance0.table (but keep in mind that you do
  85. this at your own risk, drop me a note if you want some confidence pills ...)
  86. yourself after the Config Application is finished and saved to add in the
  87. additional ports on a Interrupt Multiplexed card, or to adjust other
  88. characteristics of the driver. An address range of 1 or 2 bytes is assumed to
  89. be the multiplex register, and must be stated last in the set of serial port
  90. ranges (with a range of addresses of 1[AST] or 2[DigiBoard]).
  91.  
  92. The SerialMouse driver doesn't like this driver at all because of hard coded
  93. checking done within the Configure and Loading of the driver application to
  94. ensure that the SerialPorts driver is loaded. Since a 1200 Baud serial mouse
  95. hardly is a problem for the original SerialPorts driver, a `cook book'
  96. arrangement is documented to set the system up in the Configurations
  97. subdirectories. When mixing the SerialPorts and Mux drivers, one must be very
  98. careful about the NXString variables associated with device paths.
  99.  
  100. With the addition of the RTS side of the RTS/CTS handshaking, the driver
  101. no longer overloads the Kernel beyond TTYHOG on streaming protocols. The RTS
  102. handshaking is only enabled if one is using the DOUBLE_BUFFER manifest
  103. constant. However, DOUBLE_BUFFER reduces the performance of the driver for
  104. high speed low packet (and window) size protocols. You can control the
  105. size of the Receive buffer by editing the Instance?.table files, but once
  106. again, I remind you that you do this at your own risk (This driver in itself
  107. may void any warantees and service contracts).
  108.  
  109. If anyone wishes to write an inspector that can handle multiple port cards, I
  110. have just started on a *.nib for it in the V1.2 Mux.tproj directory (out of
  111. date now that I have added buffering). Idealy, the Default Inspector should be
  112. able to handle this ... Add Mux.tproj to the Makefile and the PB.project file
  113. if you intend to work on this code.
  114.  
  115. Bugs:
  116.  
  117. Compile error:
  118. } /NextDeveloper/Headers/bsd/sys/user.h:40: header file 'kern/lock.h' not found
  119.  
  120. This is a NeXT bug, since kern/lock.h is included in bsd/sys/callout.h,
  121. bsd/sys/user.h and bsd/sys/ux_exception.h. The message is supposed to be
  122. a warning since it should pull in NextDeveloper/2.0CompatibleHeaders/<blah>,
  123. but some have complained that the warning steps up to an error message (?)
  124.  
  125. The fix, edit the above files changing kern to kernserv, or link kernserv
  126. to kern in the /usr/include directory.
  127.  
  128. Please send ALL bug reports (and any code fragments you wish added) to
  129. mark@ve6mgs.ampr.ab.ca (Mark Salyzyn). I am interested in any work you feel
  130. will improve this project. As I am compelled to observe the Educational
  131. License on my version of NeXTSTEP (at the moment), this software will probably
  132. never be stepped up into commercial status (I prefer this status), but
  133. third party developers are free to use it to solve their problems.
  134.  
  135. Ciao -- Mark
  136.