The Install.cmd script The distribution zip contains an installation program that should install the sio2k drivers on your system. To use the install program, create a temporary subdirectory and unzip the files into that directory. Then change into that directory and type INSTALL followed by ENTER. The installation program will create a subdirectory on your OS/2 boot drive named sio2k and copy the distribution into that directory. Your existing CONFIG.SYS is copied (backed up) to CONFIG.S2K and then scanned for other serial drivers, like COM.SYS and SIO.SYS. The statements that will load other serial drivers are commented out. The install program then adds statements to the end of your config.sys that will load the sio2k drivers. If your config.sys already contains statements loading the sio2k drivers, the will not be changed. If the install program does not meet your needs, you can manually install the drivers, or modify the install program source. To install the sio2k drivers manually, continue reading. Manual SIO2K Installation instructions First create a subdirectory on your OS/2 boot drive named SIO2K. Then place all of the files from the sio2k distribution into this directory. Edit your CONFIG.SYS file and REM out all other serial drivers such as COM.SYS and VCOM.SYS, or SIO.SYS, VSIO.SYS and VX00.SYS. Applying appropriate modifications (for boot drive), add the following lines to the end of your CONFIG.SYS: device=c:\sio2k\uart.sys logfile=c:\sio2k\sio2k.log device=c:\sio2k\vsio2k.sys logfile=c:\sio2k\vsio2k.log vIrqList(3,4) device=c:\sio2k\sio2k.sys logfile=c:\sio2k\sio2k.log NOTE THAT SIO2K.SYS MUST BE THE LAST DRIVER LOADED IN THE SIO2K SET. The simplest form of loading the drivers is: device=c:\sio2k\uart.sys device=c:\sio2k\vsio2k.sys device=c:\sio2k\sio2k.sys The above assumes your boot drive is drive C. If you wish to use Vmodem, see VMODEM.TXT. Common command line options: All of the drivers in the sio2k set share some common command line options. They are: NOPAUSE - This command line option instructs the driver not to pause (at boot time) when a command line option error is detected. LOGFILE - In the form LogFile=c:\path\filename.log. This command line option tells the driver where to place information that may be useful to the user. SIO2K.SYS - In addition to the common command line options, SIO2K.SYS has the following additional command line option(s): VIOPORTS - In the form VioPorts=400. Some devices like vmodem ports have no real hardware I/O ports. In the absence of a config file these ports cannot be accessed from Dos/Windows sessions unless a virtual I/O address is assigned. This option specifies where the virtual I/O address are to start. If no VioPorts command line option is used, the virtual ports will begin at 400(hex). OS2SHARES - When this option used in the sio2k.sys command line, DOS/Windows sessions will be allowed access ports that have already been opened by an OS/2 session. VSIO2K.SYS - In addition to the common command line options, SIO2K.SYS has the following additional command line option(s): VIRQLIST - in the form vIrqList(3,4). Vsio2k.sys must know at load time (before a config file is processed) which virtual IRQs it is to manage. NOTE that virtual IRQs 3 and 4 are the default IRQs managed by vsio2k.sys. The "vIrqList(3,4)" fragment says that any Dos/Win comm port is going to use either virtual IRQ 3, or virtual IRQ 4. Note that the virtual IRQs have nothing to do with the real (hardware) IRQs. Additionally the vIrqList can be used to specify the exact virtual IRQ that given virtual COMn port is to use. The form is vIrqList(1=4,2=4,3). This form specifies that virtial IRQs 4 and 3 can be used by vsio2k.sys. Additionally, it specifies that COM1 and COM2 are to use virtual IRQ 4. VMODEM.SYS - In addition to the common command line options, VMODEM.SYS has the following additional command line option(s): NPORTS - In the form nPorts=5. This example informs VMODEM.SYS to define 5 virtual modem ports. If the NPORTS option is missing, VMODEM.SYS will define 1 virtual modem port. UART.SYS - In addition to the common command line options, UART.SYS has the following additional command line option(s): LEGACYISA - In the form LegacyIsa(0E80,1a0,208), where 0E80, 1a0, and 208 are the I/O address of uarts. DO NOT specify legacy ISA ports that are at standard addresses like 3f8, 2f8, 3e8 and 2e8 unless these ports are not automatically being detected by UART.SYS. UART.SYS will automatically detect the uart type, fifo size and IRQ that the uart is using, so only the I/O port address is needed. SUPERIO - This option enables the detection of SuperIo chips with uarts, and the resulting enabling of the uart's enhanced functions, such as bit rates to 921600. When this option is NOT used, the uarts on SuperIo chips will function as a normal 16550A. If you use programs (like the kernel debugger) that directly set the bit rate in the uarts, then you SHOULD NOT use this option. If "SuperIo" option is in the uart.sys command line, the kernel debugger does not set the bit rate correctly. Additionally, this command line option (SuperIo) replaces the SuperIo option in the config file. The CONFIG file: The vast majority of users DO NOT need a config file. The drivers will probably do a better job of automatically self configuring than you can do. The log files can be examined to see exactly how the posts have been configured. Additionally, you can use the "modes" command to swap the ports into any order that you desire (see modes.txt). However, for those of you that insist on complete control, and have self masochistic tendencies, you can create a config file. If you choose to use a config file, then the SIO2K drivers assume almost nothing and you MUST define everything. Also, I do not have time to create a config file for you, you are on your own. You may however, report errors in the config file processing. First, install as above (with no config file). With no config file, you access COM1 to COM4 at their standard I/O addresses, ports on PCI cards and ports defines in the LegacyIsa command line option. After testing using no config file, one can play with additional features of SIO version 2, by using an optional config file. Currently, the config file must be in the same directory that the driver files were loaded from, and the config file name must be SIO2K.CFG. Currently, the only documentation for the config file is located in SAMPLE.CFG. First, one should simply copy SAMPLE.CFG to SIO2K.CFG, reboot and see what happens. If the boot is successful, you can SLOWLY make changes to the config file (re-booting often) to test/use additional features of SIO version 2. If you have a Hayes ESP card (note the ESP is NOT a modem) then change the AltDriver statement (in the config file) to AltDriver=esp$,n in place of AltDriver=uart$,n. The command line parameters for ESP.SYS are the same as for UART.SYS. Note that BOTH UART.SYS and ESP.SYS will have to be loaded if you have a mixture of normal UARTs and ESP ports. Also note that once a Hayes ESP port has been used in enhanced mode, it will not work correctly in compatibility mode until the computer has been powered off, then on. The number ("n") in the AltDriver=xxxx$,n fragment has been confusing to some. The "n" need NOT match the "n" in COMn. For example, it one is defining a single vmodem port at COM3, then AltDriver=vmodem$,1 would be used in the definition of COM3 in the config file. A more complete example: ;-----------------------;----------------------------------------- Os2Device Name=com3 AltDriver=vmodem$,1 ;-----------------------;----------------------------------------- The above config file fragment is specifying that COM3 is the first device (first vmodem port) in the driver vmodem$.