home *** CD-ROM | disk | FTP | other *** search
/ Peanuts NeXT Software Archives / Peanuts-1.iso / CDROM / READMEs / Peanuts-3 / i486 / serial / Mux.1.6.README < prev    next >
Encoding:
Text File  |  1996-11-09  |  7.1 KB  |  132 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.        or use the `Expert' button.
  41.     7) Sound simple? I have a bridge I can sell you. If I spent less time
  42.        improving the performance and testing this driver, I would have
  43.        written an all seeing all dancing Configuration inspector for this
  44.        driver. As you see, you get what you pay for ...
  45.  
  46.     < Sales Job, Why would you want to do this to yourself? >
  47.  
  48. This serial driver is used to add additional ports starting at ttyc and
  49. onwards. I have managed to get reliable 57600 Baud operation with this driver
  50. under NeXTSTEP/FIP with the 16550s of either a single additional port, or
  51. on the multiplexed 4 or 8 port DigiBoard cards.
  52.  
  53. I have had reports of speeds into the 3600c/s region for this driver! I get
  54. only 870ch/s from the SerialPorts driver, and my machine crashes if I try
  55. using it at 19200 Baud ... I can calmly say: 500M of news flow over a three
  56. day period, at 57600 Baud (to a 14400 Baud modem), has not crashed the machine!
  57.  
  58. You are free to use this source in any way you wish, but credit must be given
  59. to California Regents Berkeley, Carnegie Mellon University, Olivetti (for their
  60. original work) and Mark Salyzyn.
  61.  
  62. This driver is designed to work as a DigiBoard and AST Style multiple serial
  63. I/O cards, single port *any* address *any* interrupt, or multiple port (no mux
  64. register) shared interrupt (use a 470 ohm resistor in parallel with a diode to
  65. provide the wired-or [active high] connections for the IRQ lines).
  66.  
  67. Refer to the README in the Configurations directory for more details on
  68. setup hints for odd configurations. The Default.table that is shipped is
  69. adequate for use with the standard two port serial system, and extensible to
  70. a four port system simply using the configuration inspector.
  71.  
  72. Bugs:
  73.  
  74. The AST standard, a far more modern one, is not yet tested, and without
  75. one of these cards, I am at a loss to provide testing for it. It *may* work if
  76. you don't specify a multiplex register or specify a Mux register with a port
  77. range of 1.
  78.  
  79. The Default Inspector does not work adequately on multiplexed boards except to
  80. set the interrupt, it has no concept of multiple port addresses (except in NS3.3
  81. using the Expert button). If you use it to set up the port, it will work
  82. adequately for a single port card added into the system though. Under NS3.2, It
  83. 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. You can
  102. control the size of the Receive and Transmit buffer by editing the
  103. Instance?.table files, or using the Expert button in the configuration
  104. application under NeSTSTEP 3.3, but once again, I remind you that you do this
  105. at your own risk (This driver in itself may void any warantees and service
  106. contracts).
  107.  
  108. If anyone wishes to write an inspector that can handle multiple port cards, I
  109. have just started on a *.nib for it in the Mux.tproj directory (out of date
  110. now that I have added buffering). Idealy, the Default Inspector should be
  111. able to handle this ... the code is 50% written, and can be turned on with
  112. a change in one manifest constant in the MuxParm.h file.
  113.  
  114. Bugs:
  115.  
  116. Compile error:
  117. } /NextDeveloper/Headers/bsd/sys/user.h:40: header file 'kern/lock.h' not found
  118.  
  119. This is a NeXT bug, since kern/lock.h is included in bsd/sys/callout.h,
  120. bsd/sys/user.h and bsd/sys/ux_exception.h. The message is supposed to be
  121. a warning since it should pull in NextDeveloper/2.0CompatibleHeaders/<blah>,
  122. but some have complained that the warning steps up to an error message (?)
  123.  
  124. The fix, edit the above files changing kern to kernserv, or link kernserv
  125. to kern in the /usr/include directory.
  126.  
  127. Please send ALL bug reports (and any code fragments you wish added) to
  128. mark@ve6mgs.ampr.ab.ca (Mark Salyzyn). I am interested in any work you feel
  129. will improve this project.
  130.  
  131. Ciao -- Mark Salyzyn
  132.