02/16/94 This is the second BETA release of virtual ASPI for OS/2 2.1 that includes support for the ASPI for Windows specification. Fixes since the last (02/08/94) release: 1) VASPI.SYS now unloads itself if no targets are available. See the discussion of device allocation at the bottom for more information. 2) Several problems with misbehaving DOS applications have been fixed. The following ASPI access methods are now supported: 1) DOS ASPI in a VDM. 2) DOS ASPI in a DOS boot image. 3) ASPI for Windows in a Win-OS/2 session. 4) DOS ASPI (using polling) in a Win-OS/2 session. The following files are included as part of this BETA release: 1) VASPI.SYS - The virtual ASPI device driver 2) VDPX.SYS - A replacement virtual DPMI extended driver 3) OS2ASPI.DMD - An OS/2 ASPI manager that support VASPI.SYS 4) ASPISTUB.SYS - A stub driver for accessing VASPI.SYS from a DOS boot image. 5) WINASPI.DLL - This DLL allows Win-OS/2 applications to make requests using the ASPI for Windows convention. It is a replacement for the DLL shipped with EZ-SCSI and is intended for OS/2 2.1 only. Introduction The ASPI support currently embedded within OS/2 2.1 allows any OS/2 application to send commands to a SCSI device. However there are a large number of DOS and Windows applications that are could be supported if there commands were routed to OS2ASPI.DMD VASPI.SYS is a virtual device driver that will allow DOS applications to issue SCSI commands that will be handled by OS2ASPI.DMD. If you have an existing DOS ASPI application it should now be able to run in a virtual DOS session under OS/2 2.1. Installation Instructions for VASPI Support 1) Install OS/2 2.1 on your system 2) Make a backup copy of the file OS2ASPI.DMD. This should be found in the \OS2 directory on your boot drive. 3) Copy the new VDD aware version of OS2ASPI.DMD into the \OS2 directory. 4) Copy the file VASPI.SYS into the directory \OS2\MDOS on your boot drive. 5) Make a backup copy of the file VDPX.SYS. This should be found in the \OS2\MDOS directory on your boot drive. 6) Copy the new BETA version of VDPX.SYS into the \OS2\MDOS directory. 7) Copy the file WINASPI.DLL into the \OS2\MDOS\WINOS2 directory. 5) Update CONFIG.SYS as follows: a) Make sure the line BASEDEV=OS2ASPI.DMD is present somewhere in the file. b) Add the line DEVICE=C:\OS2\MDOS\VASPI.SYS to the bottom of the file. If your boot drive is NOT C:, use the appropriate letter instead. 6) Shutdown your system and reboot. 7) Open a DOS window or DOS fullscreen and run your ASPI application. Installation Instructions for DOS Boot Image Support 1) Follow all the instructions for VDM Support. 2) Read the instructions for creating an image diskette in the OS/2 Master Help Index. 3) Create the boot disk with all the files that you will require for other applications. 4) Add the file ASPISTUB.SYS to this boot disk and add the line DEVICE=\ASPISTUB.SYS to CONFIG.SYS on the boot disk. 5) Complete the boot image creation. 6) Open the image. Device Allocation OS/2 2.1 requires a device to be allocated by a device manager, such as OS2ASPI.DMD or OS2DASD.DMD before it can be accessed. Device managers can handle this in one of two ways: wait for a device driver to issue an allocation request (OS2SCSI.DMD does this) or permanently allocate the device during system boot (OS2DASD.DMD and OS2CDROM.DMD do this). The ASPI specification has no concept of device allocation and this really leaves it up to the implementation to decide what to do. Typically OS2ASPI will NOT allocate a device until the first execute I/O command is issued. This allows it to scan for devices and not interfere with them until an application decides to issue a command. However, once this allocation takes place OS2ASPI will not release the device because it can never be sure when the application is finished with it. Most people can use OS2ASPI.DMD without any command line switches, but there are typically two situations that can arise which OS2ASPI has to deal with : 1) A user wishes to use two applications via different interfaces (i.e. OS2ASPI and OS2SCSI) and both need to access the device. If the application using OS2SCSI is well behaved, it will release the device when it is finished and OS2ASPI will be able to allocate it. Unfortunately if OS2ASPI does not release the device, the OS2SCSI application will not be able to access the device until the system is rebooted and the device allocation information is reset. 2) A user wishes to access a device that has been permanently allocated by another device manager. A good example of this would be a diagnostic that wants to report information about the system configuration. If the devices are allocated to another manager though, the application will never be able to see them. These two problems can be overcome by the use of optional command line switches. /ALL - This switch will instruct OS2ASPI.DMD to allow commands to be issued to ANY device on the SCSI bus, even those allocated by other managers. *** WARNING *** Commands should be issued to devices under the control of other managers with extreme caution. If you are using the /ALL switch and plan to issue commands to devices that are shared with another manager, try and limit them to non destructive commands like Inquiry and Test Unit Ready. /SHARE - This switch will instruct OS2ASPI.DMD to release any target after each command, allowing multiple managers to access a target (at different times). Since this requires more commands to be issued to the driver, there will be a slight performance penalty when this switch is used. *** WARNING *** When sharing devices and sending multiple concurrent requests it is possible that the allocation/deallocation of the device will cause a command to be rejected. This switch is best suited for use when you have applications that require different managers but will not be used simultaneously. Examples: BASEDEV=OS2ASPI.DMD /SHARE BASEDEV=OS2ASPI.DMD /ALL BASEDEV=OS2ASPI.DMD /ALL /SHARE When you find a problem with VASPI.SYS, please send a description of it to Adaptec so that we can attempt to reproduce it. Please describe the exact steps required to reproduce your problem and include any screen dumps from the system where the problem occurred. There are several methods available for reporting problems: 1) The Adaptec BBS. The BBS can be reached at (408) 945-7727 and supports upto 14.4K baud with 8 data bits, no parity and 1 stop bit. Please send a PRIVATE message to the user VASPI_BETA. 2) Internet. You can send problem reports to the user vaspi@adaptex.cirr.com.