*****************************************************************************
                                Solaris.txt
*****************************************************************************

Installation Guide for the Symbios SDMS Solaris Driver, Version 4.03.00

This file describes the features and use of the Symbios SDMS Device Driver for
the Solaris 7 Operating system.  It is divided into the following sections:

Introduction
     Features
     Description

How to Install Your SDMS Solaris Driver
     Installing the Driver During Solaris Installation
     Updating Solaris with the driver
     Troubleshooting

Solaris 7 Patch Release Information (patch# 107291-02)
     Special Installation Instructions
     Installing Solaris ITU Diskette(s)
        Installing Solaris Using Solaris ITU Diskette
        Adding an ITU diskette to an Existing Solaris System

******************************* Introduction ********************************

Solaris 7 x86 operating system is designed to run on single or multiple processors. 
It provides a command line interface environment and a graphical environment that
incorporates many high level features. Refer to the Sun Microsoft Web site,
www.sun.com/docs for Solaris 7 X86 documentation for further details.
 
The SDMS driver, symhisl, allows the Solaris operating system to interface with SCSI
devices connected to a Symbios SYM53C896 controller. A list of features associated 
with this driver along with its description are described below. The procedures
to install the symhisl driver or update the driver are also included.

IMPORTANT: See the Solaris Patch Release Information below regarding
	   the use of the updated Solaris Device Configuration Assistant
           boot diskette to install the Symbios symhisl driver.


*  *  *  *  *  *  *  *  *  *  *  *  * Features *  *  *  *  *  *  *  *  *  *  *  

o Provides synchronous negotiation (including Fast SCSI/Ultra SCSI/Ultra2 SCSI)
o Supports multiple host adapters
o Supports disconnect/reselect
o Allows multiple and non-contiguous LUN support
o Supports scatter/gather
o Supports wide devices
o Supports tagged command queuing
o Supports multiprocessors


*  *  *  *  *  *  *  *  *  *  *  *  * Description *  *  *  *  *  *  *  *  *  * 

The SDMS symhisl driver is designed to Sun Microsystems SCSA specifications
for device drivers. This driver allows connection of SCSI devices including disk
drives, CD-ROMS, and tape drives for PCI-based machines. To support a new SCSI 
device, the Solaris 7 x86 architecture requires that the device complies to the
SCSI standard. symhisl is a Solaris 7 32-bit version driver for the Symbios
SYM53C896 controller.


**************************Installing the SDMS Solaris Driver********************* 

*  *  *  *  *  *  *  *  *  *  New System Installation *  *  *  *  *  *  *  *  *  *


These instructions provide details to create a Symbios SYMHISL Driver Update
diskette to be used during installation of the operating system when using the
SYM53C896 controller.

1. Create the SYMHISL Driver Update diskette using the diskette image provided 
   in the install package. Insert a new, blank floppy and use the following 
   commands. 
 
   # volcheck -v

   # dd if=/(Path to diskette image file)/ITU.DD of=/vol/dev/aliases/floppy0 bs=36k

   # eject floppy

   Label this diskette SYMHISL Driver Update.
 
2. Boot the system using the Driver Configuration Assistant diskette provided
   by Sun Microsystems in the Solaris Patch Release (see the Solaris Patch
   Release instructions below).  When the first screen appears, choose the
   Driver Update option.

3. The system prompts to insert a Driver Update diskette. Insert the diskette
   labeled SYMHISL Driver Update that you created in step 2.
   Choose the Continue option.

4. Continue to follow the operating system prompts to proceed with the 
   installation. 

5. Then choose the Begin Installation option. The system prompts with the 
   options "Auto Reboot" or "Manual Reboot."

   For Solaris 7, you may choose the Auto Reboot option.
 
6. When the next screen appears, remove the floppy diskette from the disk 
   drive. Click on the OK button. The "Solaris Install Console" window appears
   upon completion of the installation. The system prompts you to insert the
   Driver Update Diskette labelled SYMHISL. Continue to follow the prompts in
   order to complete the installation of the SYMHISL driver.

7. Installation for the Solaris operating system and symhisl driver has
   completed.


*  *  *  *  *  *  *  *  *  *  Existing System Installation *  *  *  *  *  *  *  * 

These instructions provide details to install the Symbios symhisl driver to an
existing Solaris operating system installation.
 
1. Become the super user. To do this, type these commands:

   # su

   Password: (enter super user password)

2. Mount the SYMHISL ITU diskette created above. To do this, type the command:

   # volcheck -v

3. Execute the install.sh shell script to add the symhisl driver to the operating
   system. The shell script will copy the symhisl bootable driver files to the
   Solaris root filesystem, and add the SYMhisl software package. To execute 
   this script, type the following command: 

   # cd /floppy/floppy0/sol_27/i86pc/Tools

   # ./install.sh -i

4. The symhisl device driver is now installed.  Now you may safely add the
   SYM53C896 controller. 

5. Reboot your machine by typing at the command prompt:

   # touch /reconfigure
   # reboot

When the Solaris operating environment is finished booting and running, the
new devices whose drivers that you installed are available for use.

***********************************Troubleshooting*****************************

The following are some potential error messages that may be preceded by a warning
message displayed by the operating system.  In the message descriptions below; 
the SYMHISL<n> signifies that <n> can be replaced by some number assigned to it
by the operating system. That value helps to identify the SCSI bus that is
reporting the error.

SYMHISL<n>: This hardware not supported by this driver

     SYMHISL has been told to control a 53C896 hardware which is made by a
     manufacturer other than Symbios, Inc.  This adapter requires a special
     driver provided by that manufacturer.  Please contact the manufacturer 
     for assistance.

SYMHISL<n>: Failed to map device registers

     SYMHISL was unable to access the hardware registers necessary for
     operation. The operating system did not properly configure the PCI
     device.

SYMHISL<n>: NVS error, failed to restore value of 'reg' property

     SYMHISL was able to access the resources needed to determine NVS 
     configuration but was not able to return the system to its prior state. 
     Further configuration errors may occur.

SYMHISL<n>: NVS error, failed to map system memory.

SYMHISL<n>: NVS error, failed to update 'reg' property.

SYMHISL<n>: NVS error, failed to allocate memory.
   
SYMHISL<n>: NVS error, unable to find 'reg' property
  
     For each of the above errors, SYMHISL was not able to access NVS
     configuration data to see if it exists.  On some systems, this will not
     be a problem.  On other systems however, NVS data contains the 
     configuration information for this adapter and SYMHISL is not able to 
     use that configuration.  This may cause the user to manually configure 
     the driver using the symhisl.conf configuration file. Please refer to the 
     man page driver.conf(4), which is the standard reference on how to edit
     the symhisl.conf file. The instructions for editing symhisl.conf can also
     be found in the path /kernel/drv/symhisl.conf.

SYMHISL<n>: Hardware not properly enabled by system, cmd=xxxxh

     The system has not properly enabled the configuration resources that 
     SYMHISL needs in order to use this hardware.  The cmd=xxxxh value needs to
     be reported to technical support.

SYMHISL<n>: Unsupported 64-bit register address. Please load 64-bit version of 
            kernel and driver

     This version of the SYMHISL driver does not support physical addresses 
     using 64-bit values. Contact Symbios Technical Support at 533-7230 if to
     determine if a new driver is availabe to support 64-bit version. 

SYMHISL<n>: The host adapter id in the .conf file is being ignored because the SCSI
            BIOS Configuration Utility will override it.

     The symhisl.conf file has a line (scsi-initiator-id=x) which is used to
     change the host adapter SCSI ID.  That line is being ignored because the 
     SCSI BIOS Configuration Utility has set the SCSI ID. Please use the SCSI
     BIOS Configuration Utility to change the SCSI ID.

SYMHISL<n>: Ignored invalid scsi-initiator-id value = x

     The symhisl.conf file has an invalid scsi-initiator-id value as displayed 
     in the error message.  The allowable values are in the range 0..15.

SYMHISL<n>: Could not allocate memory to read configuration data.

     The driver was unable to allocate memory required to process the 
     configuration data.  This means that the configuration was not properly 
     determined.  To fix this you may need to manually configure the driver 
     using the symhisl.conf file.

SYMHISL<n>: Failure reading NVM configuration data

     The driver was unable to read the configuration data supplied by the SCSI
     BIOS Configuration Utility. This means that the configuration was not
     properly determined.  To fix this you may need to manually configure the
     driver using the symhisl.conf file.

SYMHISL<n>: Failure reading NVM manufacturing data

     The driver was unable to read the configuration data supplied by the 
     manufacturer. This means that the adapter configuration may be incorrect
     and unknown errors may occur.  Please contact your manufacturer for a
     replacement adapter.

SYMHISL<n>: The SCSI BIOS Configuration Utility has SCAM enabled but this 
            driver is not capable of SCAM. Please disable SCAM in the boot ROM.

     The SDMS boot ROM is capable of using the SCAM protocol to assign SCSI IDs. 
     The SYMHISL driver is not capable of using SCAM. In order to properly 
     configure your system, please disable SCAM using the SCSI BIOS Configuration 
     Utility.

SYMHISL<n>: Configuration data is corrupt and will be ignored

     The configuration data provided by the SDMS SCSI BIOS Configuration Utility
     has been determined to be corrupted.  Please run the SCSI BIOS Configuration
     Utility to correct this error.

SYMHISL<n>: Manufacturing data is corrupt and will be ignored

     The manufacturer configuration data has been found to be corrupt. Please
     contact your manufacturer for a new adapter.

SYMHISL<n>: Unknown synchronous value in NVM data = x

     The SYMHISL driver needs to be updated to understand this new synchronous
     configuration data value.  Until the driver is updated, synchronous mode 
     will be disabled.

SYMHISL<n>: Unknown width value in NVM data = x

     The SYMHISL driver needs to be updated to understand this new wide
     configuration data value.  Until the driver is updated, wide mode will
     be disabled.

SYMHISL<n>: Unable to make reset notification callbacks

     The SYMHISL was unable to notify the target device driver of a SCSI bus
     reset. The target driver may start to malfunction because of this.

SYMHISL<n>: Disabling queue tags for target ID x

     The SYMHISL driver has determined that the specified target is no longer 
     responding to queue tagged I/O in a proper manner and has disabled queue 
     tags for that device.  This usually means that the specified device does 
     not support queue tags.  To disable this message, disable queue tags for 
     the given device using the SCSI BIOS Configuration Utility.

SYMHISL<n>: Device (ID=x, LUN=x) not supported

     The SYMHISL driver was told to ignore the specified device by the SCSI 
     BIOS Configuration Utility.  The operating system has requested to use that
     device so this message was displayed to warn the user of the conflict.

SYMHISL<n>: ddi_dma_numwin() failed
SYMHISL<n>: ddi_dma_getwin() failed
SYMHISL<n>: ddi_dma_alloc_handle: xxh unknown/impossible
SYMHISL<n>: ddi_dma_buf_bind_handle: DDI_DMA_INUSE impossible
SYMHISL<n>: ddi_dma_buf_bind_handle: xxh unknown/impossible
SYMHISL<n>: ddi_dma_unbind_handle: failed

     The operating system failed to respond to the named routine in a known
     manner. This is a fatal error that is not recoverable. Please report this
     error to technical support.

SYMHISL<n>: Device in a slave-only slot and is unusable
SYMHISL<n>: Hi-level interrupts not supported

     The adapter is in a slot that can not be used with this driver. Please 
     try moving the adapter to a different PCI slot.

SYMHISL<n>: Failed to attach. This adapter will not be installed.

     Because of the previous error, this adapter could not be "attached" to the
     I/O subsystem and will not be accessable.  See the previous error message 
     and solve that problem. 

SYMHISL<n>: Unable to obtain soft state structure

     The driver was unable to initialize a required data structure and therefore 
     did not load.  Please call technical support.

SYMHISL<n>: Failed to attach interrupt handler

     The driver was unable to initialize the interrupt handler as required.
     Please call technical support.

SYMHISL<n>: The adapter is malfunctioning
SYMHISL<n>: The adapter is malfunctioning or is of an unknown type

     The driver is not able to communicate with the hardware. You may need to
     update your driver or your hardware.

SYMHISL<n>: Failed to create minor node required for DMI interface

     The driver was unable to create an entry point for the DMI device driver.
     If you are not using the DMI device driver then you may safely ignore this
     message.

SYMHISL<n>: Could not attach to the SCSI subsystem

     The driver was unable to communicate with the SCSI device driver that is
     part of the operating system.  You may need to update your driver.

SYMHISL<n>: Failed to allocate memory 

     The driver was unable to allocate the memory needed during initialization.
     You may have run out of available memory.

SYMHISL<n>: Unbind failed!

     The driver had a problem when attempting to unload itself. 
     This is a fatal error.

****************************PATCH RELEASE INFORMATION*************************

An updated version of the Sun Microsystems Solaris 7 Device Configuration
Assistant (DCA) boot diskette is required to install a system with
this release of the Solaris 7 Symbios symhisl driver. To download
the Solaris 7 software patch containing the DCA boot diskette, please
perform the following steps.

1)  Go to http://sunsolve.sun.com

2)  Click on "Site Map" at the bottom left side of the page.

3)  Click on "Recommended & Security Patches", **about** four links down
    from the top of the "Sitemap" page.
    
4)  Agree to the License

5)  Scroll down to the list entitled:
    "Recommended and Security Patches for Unbundled Products"
    
6)  Click on "Solaris_x86 Intel Drivers"
    
7)  Click on patch# 107291-02 with the description:
    "SunOS 5.7_x86: boot diskette for Symbios symhisl driver"

After downloading the Solaris software patch, follow the instructions
in the patch README file to create a DCA boot diskette from the
diskette image file, and to use the DCA boot diskette and symhisl
ITU diskette to perform an installation. Here is an excerpt from
the Solaris 7 patch README, describing in general the procedures
to create diskettes from diskette images, and perform installations
using ITU diskette(s).

*   *   *  Special Installation Instructions  *   *   *

This patch contains Solaris Diskette image files(s), and the instructions
to create Diskettes from these image file(s).

To make a Solaris Device Configuration Assistant Boot Diskette or a Solaris
Driver ITU Diskette(s), use the included image file(s), if any. The Solaris
Device Configuration Assistant Diskette image files are named with an 'S'
prefix. The Solaris Driver ITU Diskettes (if included) are named for the 
drivers contained.

Note: You must use the dd command to copy the uncompressed images
      to diskettes. (To find a DOS version of the dd command, go to
      ftp.uu.net:/vendor/sun/solaris/x86/dd.exe or select the local
      link dd.exe).

For each Diskette:

1.  Insert a blank diskette into your machine's diskette drive.
    If you are using DOS, type the following to format the diskette:

    format A:

    If you are using the Solaris(TM) operating environment, type the following
    to format the diskette:

    fdformat -Ud

2.  Next, if you are using DOS, type:

    dd filename A:

    If you are using the Solaris(TM) operating environment, type the following
    commands to see if Volume Management is running:

    volcheck
    ls -l /vol/dev/aliases/floppy0

    * If you see a message similar to this:

      lrwxrwxrwx   1 root  34 Jan 21 17:28 /vol/dev/aliases/floppy0 ->
                                    /vol/dev/rdiskette0/unnamed_floppy

      type:

      dd if=<filename> of=/vol/dev/aliases/floppy0 bs=36k
      eject floppy0

    * If you see this message:

      /vol/dev/aliases/floppy0 not found

      type:

      dd if=<filename> of=/dev/rdiskette bs=36k

3. Label diskette(s) made from the included Solaris Device Configuration  
   Assistant image (if any) as the Solaris Device Configuration Assistant for
   the appropriate release. Label diskette(s) made from the Solaris Driver ITU
   diskette(s) (if any) with the ITU Driver image file name.


*  *  *  *  *  *  *  Installing the Solaris ITU Diskette(s) *  *  *  *  *  *  *   

The Solaris ITU diskette(s) are used in one of two ways:

1. To use new drivers to install or upgrade the Solaris operating environment on
   a machine with new hardware;
   
   -OR-

2. To add new drivers to support new hardware on an already installed and
   booted system.


*  *  *  *  *  * Installing Solaris Using the Solaris ITU Diskette(s)*  *  *  *  *  *  

Here are the steps to use drivers on the Solaris Driver ITU diskette to install
Solaris (Intel Platform Edition) on a machine. Use the appropriate Solaris
Device Configuration Assistant Diskette made from the included file (S27DCA0199)
as the boot diskette.

1.  Insert the Solaris Device Configuration Assistant Diskette into your 
    machine's diskette drive. Also insert the Solaris Installation CDROM;
    or for network installation, verify with your system administrator that
    the Solaris Network Installation image is available on your network.

2.  Turn on your Machine.

3.  When the Solaris Device Configuration Assistant screen appears, choose
    the F4 option (on 2.6, this is labelled F4_Driver Update, on Solaris 7,
    F4_Add Driver).

    The message Enumerating buses ... appears. Then, the Install Driver Update
    screen appears.

4.  Remove the Solaris Device Configuration Assistant Diskette from the diskette
    drive and insert the first Solaris Driver ITU diskette you want.

5.  Press F2_Continue.

    The Select Solaris System Version screen appears.

6.  Select the appropriate Solaris operating system, and press F2_Continue.

    The Loading Driver Update Software screen appears, along with a progress 
    bar that shows the percentage of drivers that have been extracted from the
    diskette. Drivers are read into memory and survive long enough for the
    system to successfully boot to its installation program. When all the new 
    drivers on the diskette have been processed, the Continue Driver Update
    Installation screen appears.

7.  Remove the Solaris Driver ITU diskette from the diskette drive and insert 
    the next Solaris Driver ITU diskette you want, if any.

8.  Press F2_Continue.

    The Loading Driver Update Software screen appears, along with a  progress 
    bar that shows the percentage of drivers that have been extracted from the
    diskette. Drivers are read into memory and survive long enough for the 
    system to successfully boot to its installation program. When all the new 
    drivers on the diskette have been processed, the Continue Driver Update
    Installation screen appears.

9.  Repeat Step 4 through Step 8 until all the Solaris Driver ITU
    diskettes you want are installed.

10. When all the drivers are processed, remove the Solaris Driver ITU diskette 
    from the diskette drive and reinsert the Solaris Device Configuration
    Assistant Diskette.

    IMPORTANT: Do not remove the Solaris Device Configuration Assistant
               Diskette from the diskette drive until you see the following
               message displayed in a dialog box:

               "If you want to bypass the device configuration and
               boot screens when the system reboots, eject the
               Device Configuration Assistant/Boot diskette now."

11. Press F2_Continue.

    The Solaris Device Configuration Assistant screen appears.

12. Press F2_Continue.

    The "Enumerating buses" message appears.

    The Scanning Devices screen is then displayed. System devices are
    scanned. When scanning is complete, the Identified Devices screen appears.

13. Press F2_Continue.

    The message "Loading driver ..." appears followed by messages about the
    drivers that are required to boot your system. After a few seconds, the
    Boot Solaris screen appears.

14. At the Boot Solaris screen, select the device controller attached to the
    device that contains your install medium.

15. Press F2_Continue.

    Drivers for the device controller that you selected are displayed. Your
    system boots to run the install program. The install program starts and 
    your machine begins booting the complete Solaris operating environment.
    The following messages appear some time later, and prompt the user
    to insert each of the Solaris Driver ITU diskette(s) required to install 
    into your machine:

       Installing unbundled device driver support
       Extracting driver list from tree..
       <ITU diskette name> driver-name...

       Please insert the Driver Update diskette labeled <ITU diskette name>
       Press <ENTER> when ready.

16. Remove the Solaris Device Configuration Assistant Diskette. Reinsert 
    the first Solaris Driver ITU diskette that you inserted earlier into the
    diskette drive.

17. Press Enter.

    Packages and/or patches that contain the new drivers are installed from
    the diskette onto your machine. Messages about each installation appear
    accordingly.

    o If drivers on other Solaris Driver ITU diskettes are required for
      your machine, this prompt appears:

      Please insert the Driver Update diskette labeled <ITU diskette name>
      Press <ENTER> when ready.

    o Otherwise, this prompt appears:

      If you have additional Update diskettes to install (such as video),
      please insert diskette now. Additional Update diskettes to install?
      (y/n) [y]

18. If drivers on other Solaris Driver ITU diskettes are required, remove
    the Driver ITU diskette from the diskette drive, insert the next Driver
    ITU diskette when prompted to insert it, press Enter, and repeat this
    process until all drivers you need are installed.

19. Press Enter.

    When installation has completed, the message "Installation complete"  
    appears.

20. Remove the diskette from the diskette drive.

21. Reboot your machine.

    When the Solaris operating environment is finished booting and running, the
    new devices whose drivers that you installed are available for use.


*  *  *  *  Adding an ITU diskette to an Existing Solaris System *  *  *  *  * 

Before adding new or updated drivers, the newly supported hardware devices
should be installed and configured according to the instructions in the
corresponding Device Reference Page, if any. See the Device Reference Manual
for Solaris (Intel Platform Edition).

When the Solaris Intel Platform Edition software is already installed, the
simplest way to add new or updated drivers is to install the Driver ITU
diskettes as patches on your system. For more information about managing
diskettes and drives, see the System Administration Guide.

To add new or updated drivers, follow these steps:

1.  Go to the root directory.

2.  To see if the Volume Management software is running on the machine that
    you are updating, type at the command prompt:

    ps -ef | grep vold

3.  To temporarily stop Volume Management if it is running, type this command
    at the system prompt:

    # /etc/init.d/volmgt stop

4.  Insert the Solaris Driver ITU diskette into the diskette drive.

5.  Mount the Solaris Driver ITU diskette at the /mnt mount point:

    # mount -F pcfs /dev/diskette /mnt

    Note: You must mount the Solaris Driver ITU diskette at this point
          in the file structure to update your system successfully.

6.  Execute the install script on the diskette, using the appropriate Solaris
    release directory (currently sol_26 for Solaris 2.6, sol_27 for Solaris 7,
    and so on). For example:

    # /mnt/DU/sol_27/i86pc/Tools/install.sh -i

    The install.sh script searches for all new or updated drivers on the
    diskette. When a new or updated driver is found, this prompt appears:

    Unconditionally installing ITUs <ITU driver names>
    Install patch driver-name? [y]

7.  If the driver is the one that you want to install, type y for yes 
    or press Enter. If the driver is not the one you want to install, type n
    for no.

    If you specify yes, the install.sh script installs the driver you
    indicated as well as bootmod and bootbin patches .

8.  When the installation has completed, and the install.sh script exits, 
    unmount the diskette by typing at the command prompt:

    # cd /
    # umount /mnt

9.  Remove the Solaris Driver ITU diskette from the diskette drive.

10. Reboot your machine by typing at the command prompt:

    # touch /reconfigure
    # reboot

11. If you have not already done so, turn off your system, add the new hardware,
    and turn on your system again.

12. When the autoboot sequence prompt appears, quickly press the Escape
    (Esc) key.

    The autoboot sequence is interrupted. The Solaris Device Configuration
    Assistant screen appears.

13. Press F2_Continue.

    The message "Enumerating buses ..." appears. The Scanning Devices screen
    is then displayed. System devices are scanned. When scanning is complete,
    the Identified Devices screen appears.

14. Press F2_Continue.

    The message "Loading driver com.bef ..." appears. Then, the Boot Solaris
    screen appears.

15. On the Boot Solaris screen, select the device controller attached to the
    device that contains your install medium, in this case the main system
    disk.

    The /etc/bootrc script is displayed.

16. At the prompt, type:

    b -r
  
    to reboot the machine.

When the Solaris operating environment is finished booting and running, the
new devices whose drivers that you installed are available for use.
   
 
