Patch-ID# 107867-02
Keywords: cadp adaptec ultra2 driver-x86 boot-x86 AIC-7896 AIC-7890A AIC-7890AB
Synopsis: SunOS 5.7_x86: cadp, add Ultra2 SCSI support
Date: May/19/99

Solaris Release: 7_x86

SunOS Release: 5.7_x86

Unbundled Product:

Unbundled Release:

Topic: SunOS 5.7: /kernel/drv/cadp, /platform/i86pc/kernel/drv/rootnex driver 
		  patches

NOTE:  Refer to Special Install Instructions section for IMPORTANT specific
       information on this patch.

BugId's fixed with this patch: 4154328 4205612 4203809 4236588

Relevant Architectures: i386

Changes incorporated in this version:

Patches accumulated and obsoleted by this patch: 107573-06

Patches which conflict with this patch:

Patches required with this patch:

Obsoleted by:

Files included with this patch:

cadp_dpatch      (Driver patch image)
S27DCA0399       (Boot diskette image)

Problem Description:

This revision properly incorporates material which was not so in revision 01.
Revision 01 was an incomplete patch which was not released.

(from 107867-01)
4236588 Reduced the number of entries in the dev_info
4203809 cadp: increases the chances of cadp.bef loading correctly
4174794 adp: Support for 7891/7891 (2940U2W) required for Solaris X86 2.7 QU
4205612 rootnex: data corruption during Smash & Hammer; invalid s/g list
 

INSTRUCTIONS
------------
Making a Solaris 7 Driver Patch Diskette From the cadp_dpatch Image File
and Making Solaris 7 Device Configuration Assistant 3/99 Boot Diskette
from the S27DCA0399 Image File.

Note - You must use the dd command to copy the uncompressed images 
to diskettes. (You can find a DOS version of the dd command at
ftp.uu.net:/vendor/sun/solaris/x86/dd.exe or by selecting the local 
link dd.exe.)

1.  Insert a blank diskette into your machine's diskette drive.

2.  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=1440k
      eject floppy0

    * If you see this message:

      /vol/dev/aliases/floppy0 not found

      type:

      dd if=filename of=/dev/rdiskette bs=1440k

3. Label diskette made from cadp_dpatch file as Solaris 7 Driver Patch 
   Diskette.

4. Label diskette made from S27DCA0399 file as Solaris 7 Device 
   Configuration Assistant 3/99.


INSTALLING THE PATCH
---------------------
You can use the the Solaris 7 Driver Patch diskette in one of two ways:

* To use new drivers to install the Solaris operating environment on
  a machine

* To add new drivers to an already installed and booted system


Installing Solaris Using the Solaris 7 Driver Patch Diskette
--------------------------------------------------------------
Here are the steps to use drivers on the Solaris 7 Driver Patch diskette
to install Solaris 7 (Intel Platform Edition) on a machine. Use Solaris 
7 Device Configuration Assistant 3/99 Diskette made from S27DCA0399 file
as the boot diskette.

1.  Insert Solaris 7 Device Configuration Assistant 3/99 Diskette into
    your machine's diskette drive.

2.  Turn on your Machine.

3.  When the Solaris Device Configuration Assistant screen is displayed, press
    F4_Add_Driver.

    The "Install Supplemental Drivers" screen is then displayed.

4.  Remove Solaris 7 Device Configuration Assistant 3/99 Diskette from the
    diskette drive and insert the first Solaris 7 Driver Patch diskette.
    
5.  Press F2_Continue.

    The select Solaris system Version screen is displayed

6.  Select Solaris OS 2.7 and press F2_Continue.

    The Loading Driver Update Software screen is displayed, 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 Supplemental
    Drivers Drivr Installation" screen is displayed.

7.  Press F4_Done.

    The "Identified Device Drivers" screen is displayed, the rootnex driver
    and the cadp driver (if a supported adapter is installed in the system) are
    displayed.
 
8.  Remove the Solaris 7 Driver Patch diskette from the diskette drive and
    reinsert Solaris 7 Device Configuration Assistant 3/99 Diskette.

9. Press F2_Continue.

    The Solaris Device Configuration Assistant screen is displayed.

10. Press F2_Continue.

    The "Determining buse types and..." message is displayed.

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

11. Press F2_Continue.

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

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

13. Press F2_Continue.

    Drivers for the device controller you selected are displayed. Your system
    boots to run the install program. The install program starts and your
    machine begins booting the complete Solaris 7 operating
    environment. Then, after some time, the following messages are displayed:

       "Installing unbundled device driver support
       Extracting driver list from tree..
       distribution-diskette-name driver-name..."

       "Please insert the Driver Update diskette labeled 
       distribution-diskette-name Press <ENTER>; when ready."

14. Remove Solaris 7 Device Configuration Assistant 3/99 Diskette and
    reinsert the first Solaris 7 Driver Patch diskette you inserted earlier
    into the diskette drive.

15. Press Enter.

    Patches that contain the new drivers are installed from the diskette onto
    your machine. Messages about the patches being installed are displayed,
    followed by the prompt;

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

16. Type "n" then Press Enter.

    When installation is complete, the message "Installation complete" is
    displayed.

17. Remove the diskette from the diskette drive.

18. Reboot your machine.

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


Adding a Patch 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 Device Reference Manual for
Solaris 7 (Intel Platform Edition).

When the Solaris 7 Intel Platform Edition software is already installed, the
simplest way to add new or updated drivers is to install the Driver Patch
diskettes as patches on your system.

Follow these steps:

1.  Become root.

2.  Type the following command to see if the Volume Management software is
    running on the machine you are updating:

    # ps -ef | grep vold

    For more information about managing diskettes and drives, see the System
    Administration Guide.

3.  If Volume Management is running, temporarily stop it by typing the
    following command at the system prompt:

    # /etc/init.d/volmgt stop

4.  Insert the Solaris 7 Driver Patch diskette into the diskette
    drive.

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

    # mount -F pcfs /dev/diskette /mnt

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

6.  Execute the install script on the diskette:

    # /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, the following prompt is
    displayed:

    Unconditionally installing patches..
    Install patch driver-name? [y]

7.  If the driver is the one you want to install, at the prompt, 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 you're done and the install.sh script exits, unmount the diskette:

    # umount /mnt

9.  Remove the Solaris 7 Driver Patch diskette from the diskette drive. 

10. Halt your machine.

11. Turn your machine off.

12. If you haven't already, add the new hardware.

13. Turn your machine on.

14. When the autoboot sequence prompt is displayed, quickly press Escape.

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

15. Press F2_Continue.

    The message "Determining bus types .." is displayed. The Scanning Devices 
    screen is then displayed. System devices are scanned. When scanning is 
    complete, the Identified Devices screen is displayed.

16. Press F2_Continue.

    The message "Loading driver com.bef ..." is displayed. The Boot Solaris
    screen is then displayed.

17. 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.

18. At the prompt, type:

    b -r

    Your machine boots. You can now use your new hardware.


Special Install Instructions:
-----------------------------
o Ensure that the "Reset SCSI Bus at IC Initialization" Adaptec SCSISelect
  BIOS option is set to "Enabled". The SCSISelect utility can be entered by
  typing CTRL-A on during system boot, when the Adaptec Banner is seen.
  The "Reset SCSI Bus at IC Initialization" is Under the Adavnced Configuration
  Options Menu.
 
o If you are both upgrading the Solaris installation on your system
  and adding a new driver/hardware, it is necessary to first do the
  solaris upgrade, reboot and then apply the driver or install time
  update (ITU).
 
  The procedure is:
 
        o Perform Solaris Upgrade, do not apply cadp ITU at this
          point.
 
        o Reboot.
 
        o When the system has successfully rebooted, insert the ITU
          diskette intro the floppy drive, and mount as follows;
 
                mount -Fpcfs /dev/diskette0 /mnt
 
        o change directory  to the following to /mnt/DU/sol_27/i86pc/Tools;
 
                cd /mnt/DU/sol_27/i86pc/Tools
 
        o Install the ITU as follows;
 
                . ./install.sh -i

       o perform a reconfiguration reboot."


SUPPORTED HARDWARE
-------------------
Adapters:                   Adaptec AHA-2940U2W, AHA-2940U2B,
                            AHA-2940U2-OEM, AHA-2950U2B, AHA-3950U2B

Chips:                      AIC-7896, AIC-7890A, AIC-7890AB

Bus Type:                   PCI


KNOWN PROBLEMS AND LIMITATIONS:
-------------------------------
o The Fujitsu Narrow disk (M1603SAU) has been observed reselecting
  with an invalid queue tag id. This is a violation of the SCSI
  protocol that is difficult to guard against, and will cause
  erroneous behavior on the part of the cadp driver. It is
  recommended that tagged queuing be disabled for these targets.
 
  Use the 'iostat -E' command to determine if you have an
  M1603S-512.  If you have, then disable the tagged queuing for
  that disk by editing the /kernel/drv/cadp.conf file and adding
  the property "target<n>-scsi-options=0x1f78" where <n> is the
  target number.
 
o External Wide IBM DFHSS2W, Revision: 1717 Not supported.


o If you experience problems using a "Tandberg TDC 4100 QIC tape drive" with
  a cadp device, then disable Sync/Wide negotiation for Tandberg target. This
  should be done via the Adaptec SCSISelect Bios utility (enter by typing
  CTRL-A when prompted at boot time) and via the cadp.conf file 
