home *** CD-ROM | disk | FTP | other *** search
- How to install this driver:
- 1) You need the Development system for NeXTSTEP for Intel. If you only
- have a user version, I believe some of the archives *should*
- contain a compiled version of the package as it would end up in
- Mux.config. Contact me (mark@ve6mgs.ampr.ab.ca) to get the binaries
- if you have limited access.
- 2) Unpack into a working source subdirectory (You must have done this
- to have extracted this README file.
- 3) Wander through the Configurations Directory to get a feel for the
- various configurations and what may need to be done. Read the
- English.lproj/Info.rtf, and the remainder of the README file.
- Copy the Configurations/<blah blah>/Default.table file to this
- directory for the configuration you intend to set up.
- 3a) if you do *not* have a SerialMouse (a Bus Mouse instead), then
- you can replace the SerialPorts driver completely. The
- Default.table file as shipped will work fine for adding single
- ports with single interrupts and you need not read as dilegently.
- 3b) if you *need* a SerialMouse, then you will need to set up an
- instance to the SerialPorts driver to handle just the mouse. This
- will require some careful editing of the Instance?.table files
- for both the SerialPorts and Mux drivers. This is *not* for the
- faint at heart, but you can build confidence by reading the
- documentation in Configurations/SerialPort,COM2.
- 3c) if you are setting this driver up to talk to a multiplexed serial
- card, then you will also need to edit the Instance?.table files
- because the default configuration inspector is not up to the task.
- 3d) if you need to taylor the buffer sizes, edit the Instance?.table
- files after configuration.
- 4) Either through the Project builder, or from a terminal command
- line in this directory, `make bundle' to ensure that the make
- goes without problems (see below, not on kern/lock.h bug in the
- development system). This step is optional, and is only to build
- confidence.
- 5) If the make went without a hitch, become root (either by re-invoking
- Project Builder through the OpenSesame service, or by su in a
- terminal window) and `make install'
- 6) Install the Mux driver using the Configuration.app if it is possible
- for your specific configuration. Even so, Configuration.app may
- be used and then the brave can go on to editing the Instance?.tables,
- or use the `Expert' button.
- 7) Sound simple? I have a bridge I can sell you. If I spent less time
- improving the performance and testing this driver, I would have
- written an all seeing all dancing Configuration inspector for this
- driver. As you see, you get what you pay for ...
-
- < Sales Job, Why would you want to do this to yourself? >
-
- This serial driver is used to add additional ports starting at ttyc and
- onwards. I have managed to get reliable 57600 Baud operation with this driver
- under NeXTSTEP/FIP with the 16550s of either a single additional port, or
- on the multiplexed 4 or 8 port DigiBoard cards.
-
- I have had reports of speeds into the 3600c/s region for this driver! I get
- only 870ch/s from the SerialPorts driver, and my machine crashes if I try
- using it at 19200 Baud ... I can calmly say: 500M of news flow over a three
- day period, at 57600 Baud (to a 14400 Baud modem), has not crashed the machine!
-
- You are free to use this source in any way you wish, but credit must be given
- to California Regents Berkeley, Carnegie Mellon University, Olivetti (for their
- original work) and Mark Salyzyn.
-
- This driver is designed to work as a DigiBoard and AST Style multiple serial
- I/O cards, single port *any* address *any* interrupt, or multiple port (no mux
- register) shared interrupt (use a 470 ohm resistor in parallel with a diode to
- provide the wired-or [active high] connections for the IRQ lines).
-
- Refer to the README in the Configurations directory for more details on
- setup hints for odd configurations. The Default.table that is shipped is
- adequate for use with the standard two port serial system, and extensible to
- a four port system simply using the configuration inspector.
-
- Bugs:
-
- The AST standard, a far more modern one, is not yet tested, and without
- one of these cards, I am at a loss to provide testing for it. It *may* work if
- you don't specify a multiplex register or specify a Mux register with a port
- range of 1.
-
- The Default Inspector does not work adequately on multiplexed boards except to
- set the interrupt, it has no concept of multiple port addresses (except in NS3.3
- using the Expert button). If you use it to set up the port, it will work
- adequately for a single port card added into the system though. Under NS3.2, It
- is recommended to use an editor to manipulate the
- /NextLibrary/Devices/Mux.config/Instance0.table (but keep in mind that you do
- this at your own risk, drop me a note if you want some confidence pills ...)
- yourself after the Config Application is finished and saved to add in the
- additional ports on a Interrupt Multiplexed card, or to adjust other
- characteristics of the driver. An address range of 1 or 2 bytes is assumed to
- be the multiplex register, and must be stated last in the set of serial port
- ranges (with a range of addresses of 1[AST] or 2[DigiBoard]).
-
- The SerialMouse driver doesn't like this driver at all because of hard coded
- checking done within the Configure and Loading of the driver application to
- ensure that the SerialPorts driver is loaded. Since a 1200 Baud serial mouse
- hardly is a problem for the original SerialPorts driver, a `cook book'
- arrangement is documented to set the system up in the Configurations
- subdirectories. When mixing the SerialPorts and Mux drivers, one must be very
- careful about the NXString variables associated with device paths.
-
- With the addition of the RTS side of the RTS/CTS handshaking, the driver
- no longer overloads the Kernel beyond TTYHOG on streaming protocols. You can
- control the size of the Receive and Transmit buffer by editing the
- Instance?.table files, or using the Expert button in the configuration
- application under NeSTSTEP 3.3, but once again, I remind you that you do this
- at your own risk (This driver in itself may void any warantees and service
- contracts).
-
- If anyone wishes to write an inspector that can handle multiple port cards, I
- have just started on a *.nib for it in the Mux.tproj directory (out of date
- now that I have added buffering). Idealy, the Default Inspector should be
- able to handle this ... the code is 50% written, and can be turned on with
- a change in one manifest constant in the MuxParm.h file.
-
- Bugs:
-
- Compile error:
- } /NextDeveloper/Headers/bsd/sys/user.h:40: header file 'kern/lock.h' not found
-
- This is a NeXT bug, since kern/lock.h is included in bsd/sys/callout.h,
- bsd/sys/user.h and bsd/sys/ux_exception.h. The message is supposed to be
- a warning since it should pull in NextDeveloper/2.0CompatibleHeaders/<blah>,
- but some have complained that the warning steps up to an error message (?)
-
- The fix, edit the above files changing kern to kernserv, or link kernserv
- to kern in the /usr/include directory.
-
- Please send ALL bug reports (and any code fragments you wish added) to
- mark@ve6mgs.ampr.ab.ca (Mark Salyzyn). I am interested in any work you feel
- will improve this project.
-
- Ciao -- Mark Salyzyn
-