--------------------------------------------------------------------
Release Notes
Adaptec ASA-7211C/F for Linux
Version 1.20
--------------------------------------------------------------------
Review this file for important information about Adaptec's
iSCSI Driver Version 1.20 for Linux. The following
information is available in this file:

  1. Supported Hardware 
  2. Version History and Supported Features
  3. Installation Instructions
     3.1. Important Installation Notes
     3.2. Installing to an Existing System Using the .rpm Package
     3.3. Installing to an Existing System Using the .tar.gz Package
     3.4. Installing the ASA72XX as a Boot Adapter
     3.5. Installing the SNMP Extention Agent
  4. Removing the Driver
  5. Updating Systems
     5.1. Updating the Default Kernel for MultiLUN Support - Bootable 
          Red Hat Systems only
     5.2. Updating the Driver and Ramdisk Only - Bootable 
          Red Hat Systems only
     5.3. Upgrading the Driver - Bootable SuSE Systems Only
  6. Command Line Options
  7. Known Issues and Limitations
     7.1. General Issues
     7.2. Operating System or Technology Limitations
     7.3. Dynamically Adding or Removing Devices
     7.4. Increasing I/O Support on Raw Devices
     7.5. Checking the Version of the ASA72XX Module
     7.6.  Session Recovery
  8. Mount/Unmount scripts
  9. CD Contents

--------------------------------------------------------------------
1. Supported Hardware

   This driver supports the following Adaptec iSCSI Host Adapters:

   Host Adapters  Description
   -------------  -----------
   ASA-7211C      64-bit, 66/33MHz PCI-to-1Gb iSCSI Host Adapter
                  with Copper
   ASA-7211F      64-bit, 66/33MHz PCI-to-1Gb iSCSI Host Adapter
                  with Fibre
--------------------------------------------------------------------
2. Version History and Supported Features

   (V1.20, Feb 2004) This release includes support for Red Hat
   Linux 9.0, Advanced Server 2.1, SuSE Enterprise Server 8.0 and
   SuSE Professional 8.2.

   (V1.10, July 2003) Updated Additional Notes section.

   (V1.01, May 2003) Added Device Recovery Parameters section.

   (V1.00, February 2003) This is the initial release of the iSCSI
   software for Linux.

   2.1. Software/Hardware Features

        - iSCSI initiator functionality
        - Up to 1Gb operation
        - PCI 2.2 compatible (up to 64-bit/66MHz)
        - Text-based software configuration utility

   2.2. Operating System Support

        - Red Hat Linux 9.0 (kernel version 2.4.20-8)
        - Red Hat Linux Advanced Server release 2.1AS (kernel
          version 2.4.9-e.3)
        - SuSE 8.2 Professional (SuSE kernel based on 2.4.20)
        - SuSE Linux Enterprise Server 8.0 (SuSE kernel
          based on 2.4.19)

--------------------------------------------------------------------
3. Installation Instructions  

   NOTE: Linux is case-sensitive.

   3.1. Important Installation Notes
   
        - Before installing the ASA72XX module, the Linux kernel
          source must first be installed on the system. Most 
          distributions include the kernel source on the first
          disc of the distribution CDs.       

        - Log in as root before installing the module.

        - In the "Linux" directory on this CD, there are two
          installation packages: .rpm and .tar.gz. To determine
          which package to use, enter:

          # rpm --version

          If the version is 4.0 or greater, use the .rpm package.
          Otherwise, use the .tar.gz package.

        - Before attempting to compile the driver, check the kernel
          source path for the .config file. If this file is
          not present in the /usr/src/linux path, follow these
          steps:

          For Red Hat distributions: 
          a. # cd /usr/src/linux 
          b. # make menuconfig
          c. Save the kernel configuration and exit
          d. # make dep

          For SuSE distributions:
          a. # cd /usr/src/linux
          b. # cp /boot/vmlinuz.config .config
          c. # make menuconfig
          d. Save the kernel configuration and exit
          e. # make dep

   3.2. Installing to an Existing System Using the .rpm Package

        NOTE: For SuSE use /media instead of /mnt

        1) Mount the Adaptec iSCSI installation CD:

           # mount /dev/cdrom /mnt/cdrom

        2) Change to the cdrom directory: 
              
           # cd /mnt/cdrom/Linux

        3) Extract the .rpm package and install it:

           # rpm -Uhv asa72xx.rpm

        4) Change to the /usr/src/asa72xx directory:

           # cd /usr/src/asa72xx

        5) Unmount the Adaptec iSCSI installation CD:

           # umount /mnt/cdrom

        6) Run the configure script:

           NOTE: For SuSE follow these instructions prior
	     to running the ./configure command:
                    
           # cp /boot/vmlinuz.config /usr/src/linux/.config
           # cd /usr/src/linux
           # make menuconfig

           After running 'make menuconfig', select 'Exit' and answer 
           'Yes' when asked to save the new kernel configuration.

           # cd /usr/src/asa72xx
           # ./configure

           NOTE: If the kernel source is not in /usr/src/linux-2.4,
	     run the configure script with the following option:

           # ./configure --tree=<path to source tree>

           For example, the following line works for Red Hat Linux 9.0:
	
           # ./configure --tree=/usr/src/linux-2.4

           For SuSE follow these instructions:

           Enterprise Server:       
           # ./configure --tree=/usr/src/linux-2.4.19.SuSE

           Professional:
           # ./configure --tree=/usr/src/linux-2.4.20.SuSE
                    
     	  7) Build the ASA72XX module by typing:

           # make

        8) You may load it automatically or manually.

           To start the module automatically, type:

           # make install
           # /etc/init.d/asa72xx start

           NOTE: This copies the ASA72XX module to
           /lib/modules/"kernel_version" and sets up Linux
           to load the module when booting.

           To start the module manually, type:

           # insmod asa72xx.o

        9) Verify that the module is loaded by entering:

           # lsmod

           If the ASA72XX module is loaded, "asa72xx" will be
           displayed in the module table list.

       10) Check the build version of the module by entering:

           # rpm -qi asa72xx

           NOTE: A previous installation using the .rpm package
           is required.
	
   3.3. Installing to an Existing System Using the .tar.gz Package

        NOTE: For SuSE use /media instead of /mnt

        1) Mount the Adaptec iSCSI installation CD:

           # mount /dev/cdrom /mnt/cdrom

        2) Change to the cdrom directory:

           # cd /mnt/cdrom/Linux

        3) Create the ASA72XX directory in /usr/src:

           # mkdir -p /usr/src/asa72xx

        4) Copy the .tar.gz package to /usr/src/asa72xx:	

           # cp -v asa72xx.tar.gz /usr/src/asa72xx

        5) Change to the /usr/src/asa72xx directory:

           # cd /usr/src/asa72xx

        6) Unmount the Adaptec iSCSI installation CD:

           # umount /mnt/cdrom

        7) Extract the .tar.gz package:

           # tar -zxvf asa72xx.tar.gz

        8) Run the configure script:

           NOTE: For SuSE follow these instructions prior
	     to running the ./configure command:
                    
           # cp /boot/vmlinuz.config /usr/src/linux/.config
           # cd /usr/src/linux
           # make menuconfig

           After running 'make menuconfig', select 'Exit' and answer 
           'Yes' when asked to save the new kernel configuration.

           # cd /usr/src/asa72xx
           # ./configure

           NOTE: If the kernel source is not in /usr/src/linux-2.4,
	     run the configure script with the following option:

           # ./configure --tree=<path to source tree>

           For example, the following line works for Red Hat Linux 9.0:
	
           # ./configure --tree=/usr/src/linux-2.4

           For SuSE follow these instructions:

           Enterprise Server:       
           # ./configure --tree=/usr/src/linux-2.4.19.SuSE

           Professional:
           # ./configure --tree=/usr/src/linux-2.4.20.SuSE
                    	
        9) Build the ASA72XX module by typing:

           # make

       10) You may load the module automatically or manually, 
	     depending on your preference. 

           If you want start the module automatically, type:

           # make install
           # /etc/init.d/asa72xx start

           NOTE: This will copy the ASA72XX module to
           /lib/modules/"kernel_version" and setup Linux
           to load the module when booting.

           If you want to start the module manually, type:

           # insmod asa72xx.o 

       11) To check if the ASA72XX module is loaded:

           # lsmod

           If the ASA72XX module is loaded, "asa72xx" will be
           displayed in the module table list.

   3.4. Installing the ASA72XX as a Boot Adapter
	
        A. Create a Driver Diskette

           1) Insert a blank diskette

           2) Mount the Adaptec iSCSI installation CD:

              # mount /dev/cdrom /mnt/cdrom

              NOTE: For SuSE use /media instead of /mnt

           3) Change to the cdrom directory: 

              # cd /mnt/cdrom/Linux/XXX/disk
              where XXX is RedHat9_AS21 for Red Hat
		  and SuSE82_Enterprise for SuSE

              # dd if=YYY of=/dev/fd0
		  where YYY is RedHat9_AS21.img for Red Hat
		  and SuSE82_Ent.img for SuSE

        B. Use the Boot Support Diskette

           Before using the boot diskette, you need to first
           configure the BIOS. Refer to the Installation Guide for 
	     details on configuring the BIOS.

           1) Red Hat only - When the installation CD boots, insert the
              driver diskette and enter: # expert
		  
              SuSE Professional 8.2 only - Boot from the Installation CD. 
              At the main menu, press <F3> then < Enter> and then insert 
              the driver floppy disk you created in 'Creating a Linux
              Module Floppy Disk' when prompted.
 
              SuSE Enterprise Server 8.0 only - Boot from the Installation CD. 
              At the main menu, press <Ctrl> + <Alt> then <Enter> and insert
              the driver floppy disk you created in 'Creating a Linux Module 
              Floppy Disk' when prompted.

           2) Continue with the Linux operating system installation.

           3) After installing the operating system, log in and
              verify the ASA72XX module is loaded by entering this
              command:
 
              # lsmod

              If the ASA72XX module is loaded, "asa72xx" is displayed  
              in the module table list.

   3.5. Installing the SNMP Extention Agent

        This is a Linux UCD-SNMP AgentX subagent module for
        Adaptec's ASA7211 controllers. This subagent also needs
        the following to be installed:

        - UCD-SNMP 4.2.1-7 (setup snmpd.conf and type "/etc/rc.d/
          init.d/snmpd start")

        - asa72xx.o driver

        1) Stop the UCD-SNMP master agent by entering:

           "/etc/rc.d/init.d/snmpd stop"

        2) Edit the file /etc/snmp/snmpd.conf as follows:

           Change the word "system" to ".1" in the following
           reference:

           "view    systemview     included      system" 

           NOTE: Do not change the number of spaces between these
           words.

           Add these lines:

           master agentx
           authtrapenable 1

        3) Restart the UCD-SNMP master agent by entering:

           /etc/rc.d/init.d/snmpd start

        4) Copy A7211s12 from the iSCSI installation CD to
           /sbin. Type "A7211S12" to run the SNMP agent.

        5) Copy the MIB file iscsimib9-5.mib from the Adaptec iSCSI
           installation CD to the client system. Follow the
           instructions provided with the SNMP management software
           (for example, HP OpenView to add MIBs).

--------------------------------------------------------------------
 4. Removing the Driver 

    NOTE: Ensure no devices are being used by an Adaptec
    iSCSI adapter and that all volumes are unmounted.

    1) If the ASA72XX module is loaded, unload the module first:

       # rmmod asa72xx
       
       OR

       # modprobe -r asa72xx

    2) If the .rpm package was used during installation (if the
       .tar.gz package was used, perform step 3 instead):

       a) Change to the /usr/src/asa72xx directory:

          # cd /usr/src/asa72xx

       b) Run the remove script:

          # sh asa72xx_remove

       c) Remove the .rpm package from the database:

          # cd /
          # rpm -e asa72xx
          # cd /usr/src
          # rm -vfr asa72xx

          NOTE: rpm -e asa72xx will not remove the driver from
          the path /lib/modules/os_version/kernel/drivers/scsi.
          The script asa72xx_remove must be run to perform a
          uninstallation of the driver binary.

    3) If the .tar.gz package was used during installation:

       a) Change to the /usr/src/asa72xx directory:

          # cd /usr/src/asa72xx

       b) Run the remove script:

          # sh asa72xx_remove

       c) Remove the asa72xx directory:

          # cd ../
          # rm -rfv asa72xx

    The ASA72XX module is now completely removed from the system.

--------------------------------------------------------------------
 5. Updating Systems

    5.1. Updating the Default Kernel for MultiLUN Support - Bootable 
         Red Hat Systems only

         In this scenario, you have just performed a fresh installation 
         of Red Hat, which provides a single-LUN kernel, by default. You want
         to access multiple LUNs behind a single target, therefore you 
         need to enable multiLUN support and recompile the kernel. In 
         addition to recompiling the kernel, the following procedure also 
         updates the RAMdisk and reloads the driver.
 
         1) Start with a clean environment:
      
            # cd /usr/src/linux-2.4
            # make clean
            # make mrproper

         2) If you are using a multiprocessor (SMP)computer, begin with a 
            known configuration file:
      
            # cp configs/kernel-2.4.20-i686-smp.config .config

            If you are using a single processor (UP) computer, begin with a 
            known configuration file:
      
            # cp configs/kernel-2.4.20-i686.config .config
                          
         3) Change your settings accordingly:

            # make menuconfig

         4) Select "SCSI support" and press Enter.

         5) OPTIONAL: Select "Maximum number of SCSI disks that
            can be loaded as modules" and increase it from 40 to
            the desired value. See Issues for details regarding the 
            maximum number of LUNs.
 
         6) OPTIONAL: If step 4 is used, you may need to load
            SCSI support as a module. Highlight the line that
            says something similar to: "< > SCSI support" and
            press the 'M' key.

         7) Select "Probe all LUNs on each SCSI device". To 
            select press Y (it will show an asterisk '*' if
            selected).
 
         8) Exit and save.
 
         9) Now make it:

            # make dep
            # make bzImage
            # make modules
            # modules_install

        10) Compile asa72xx.o with your new kernel

            # cd /usr/src/asa72xx
            # ./configure --tree=/usr/src/linux2.4
            # make clean
            # make install

        11) Check that asa72xx.o is in the proper module directory:
 
            # ls /lib/modules/2.4.20-XXX/kernel/drivers/scsi

            If it is not there, copy it there:

            # cp asa72xx.o /lib/modules/2.4.20-XXX/kernel/drivers/scsi

            Where XXX is your Linux ExTRAVERSION label in 
            /usr/src/linux.../Makefile. For example:
            /lib/modules/2.4.20-8custom/kernel/drivers/scsi 
      
        12) Move back to /usr/src/linux-2.4
	
            # cd /usr/src/linux-2.4

        13) Copy the new Kernel to the correct location:

            # cp arch/i386/boot/bzImage /boot/vmlinuz-ml

        14) Make a new Ramdisk:

            # mkinitrd -f /boot/initrd-ml-smp.img 2.4.20-XXX
            
            where XXX is the Linux label in /usr/src/linux../Makefile.
	      The default is "custom."
     
        15) Modify your bootloader configuration.

            If you installed Grub as your bootloader, edit
            /etc/grub.conf and add these lines:

            title Red Hat Linux (2.4.20-8custom) linux-ml
            root (hd0,0)
            kernel /boot/vmlinuz-ml ro root=<boot device>
            initrd /boot/initrd-ml-smp.img
              
            If you installed LILO as your bootloader, edit
            /etc/lilo.conf and add these lines:

            image=/boot/vmlinuz-ml
            label=linux-ml
            kernel /boot/vmlinuz-ml ro root=<boot device>
            initrd=/boot/initrd-ml-smp.img
            read-only
            root=<boot device>

        16) Save and Exit from the editor.  If you installed LILO
            as your bootloader, run the following command:

            # /sbin/lilo -v

        17) # reboot

    5.2. Updating the Driver and Ramdisk Only - Bootable 
         Red Hat Systems only

         In this scenario, you are upgrading the Adaptec iSCSI driver 
         in an bootable RedHat Linux system. 

         NOTE: When upgrading the driver of a bootable iSCSI system,
               you also need to update the ramdisk so that the new 
               driver will be loaded at boot-time.
 
         1) Remove the existing driver

            # /usr/src/asa72xx/asa72xx_remove
            # rpm -e asa72xx
            # rm -Rf asa72xx

         2) Change to the asa72xx driver directory:
      
            # cd /usr/src/asa72xx

         3) Install the new RedHat Linux driver from .RPM

            #rpm -Uvh asa72xx.rpm 

         4) Compile asa72xx.o

            # ./configure --tree=/usr/src/linux2.4

         5) Check that asa72xx.o is in the proper module directory

            # ls /lib/modules/2.4.20XXX/kernel/drivers/scsi

            Where XXX is your Linux ExTRAVERSION label in 
            /usr/src/linux.../Makefile Proper module dir= i.e. 
            /lib/modules/2.4.20-8custom/kernel/drivers/scsi  
        
         6) Make the driver

            # make clean
            # make
            # make install

         7) Make a new Ramdisk
       
            # mkinitrd -f /boot/initrd-ml-smp.img 2.4.20-XXX
	      where XXX is you Linux label in /usr/src/linux../Makefile
            (i.e. custom)
        
         8) Follow grub.conf/Lilo.conf sytnax to add ramdisk and kernel.
       
            NOTE: If you use the same name for the new Ramdisk as your 
            existing Ramdisk you will not need to update GRUB/Lilo.

         9) # reboot

    5.3. Upgrading the Driver - Bootable SuSE Systems Only

         In this scenario, you are upgrading the Adaptec iSCSI driver 
         on an existing bootable SuSE Linux system. 

         NOTE: When upgrading the driver of a bootable iSCSI system,
         you also need to update the ramdisk so that the new driver 
         will be loaded at boot-time.

         1) Uninstall the existing driver:
      
            # cd /usr/src/asa72xx
            # asa72xx_remove
            # rpm -e asa72xx

         2) Install the new RPM:

            # rpm -Uvh asa72xx.rpm

         3) Update the configuration file:

            # cp /boot/vmlinuz.config /usr/src/linux/.config
            # cd /usr/src/linux
            # make menuconfig

         4) Configure and compile driver:

            # ./configure --tree=/usr/src/linux
            # make clean
            # make
            # make install

         5) Make sure asa72xx.o is added to INITRD_MODULES:
	 
            # vi /etc/sysconfig/kernel  
      
         6) Change to /boot directory to make the new ramdisk:

            # cd /boot
            # mkinitrd

         7) Reboot the system to load the new driver:

            # reboot

--------------------------------------------------------------------
6. Command Line Options

   6.1. Command Line Options Parameters

        WARNING: Incorrectly altering or adding these driver
        parameters can render your system inoperable. Use them
        with caution.

        The following Command Line Options are supported by the
        ASA72XX module (Command Line Options are case sensitive):

        -----------------------------------------------------------
                 Option: IB:[value]
             Definition: Number of IOs processed per Interrupt
        Possible Values: Decimal 1-32
          Default Value: 8
        -----------------------------------------------------------
                 Option: DeviceQueueDepth:[value]
             Definition: Maximum number tagged queue depth for the 
                         device that support tagged queuing
        Possible Values: Decimal 1-128
          Default Value: 128 
        -----------------------------------------------------------

--------------------------------------------------------------------
7. Known Issues and Limitations

   7.1  General Issues

        - Unable to detect LUNs if LUN 0 is not present. If
          the targets are configured without a LUN 0, LUNs
          will not be seen.

        - The "lspci" command under Linux displays the iSCSI adapter
          as an Unknown Device. Instead, the adapter is presented as
          a memory controller PCI device.

        - This release does not currently support Jumbo Frames.

   7.2  Operating System or Technology Limitations

        - ISSUE: Possible Communication Problems to Target if Cable
          is Unplugged for Extended Period of Time

          DESCRIPTION: Communication to a particular target can be
          lost if data cables are disconnected for an extended
          period of time. In dynamic environments where
          communications can be disrupted for several seconds,
          Adaptec recommends using the iSCSI Configuration Manager's
          Device Recovery Parameters to define an extended period 
          in which the driver will attempt to recover from a
          communication failure with each particular target.

        - ISSUE: Limit of 13 Redirected Targets

          DESCRIPTION: For iSCSI targets using the iSCSI redirection process,
          the ASA-7211C/F allows a maximum of 13 iSCSI redirected targets.

        - ISSUE: Possible Corruption in Cluster NFS Partitions

          DESCRIPTION: In a cluster environment, the data drives
          must be LUN mapped under a single target. The Linux
          driver does not support persistent binding across 
          reboots. If the drives are target mapped configured, it
          would cause problems with the data drives showing up in
          different order, which could lead to data corruption.

        - ISSUE: Possible "Taint" Warning Message

          DESCRIPTION: Red Hat Linux Advanced Server 2.1AS will
          dislay a warning message that loading the Adaptec iSCSI
          Driver will "Taint" the kernel. The driver is distributed
          without available source code under a free software license,
          such as GPL, Dual BSD/GPL, or Dual MPL/GPL. Whenever a 
          module is loaded that does not specify an approved license,
          the kernel is marked as tainted.

        - ISSUE: Cisco Storage Router Configuration for Hard Drives
          and Multi-LUN devices

          DESCRIPTION: Adaptec recommends using two kinds of
          mapping schemes with Cisco storage routers: Target-only
          mapping and Target-and-LUN mapping. Multi-LUN devices,
          such as tape libraries and disk arrays, must be configured
          using a Target-and-LUN mapping scheme. In this
          method, you can configure LUNs using any available 
          information (for example, LUN ID, Serial Number or 
          WWPN). For detailed information on device mapping on a
          Cisco router, refer to the router's documentation.

        - ISSUE: Fluctiating Throughput Index

          DESCRIPTION: During heavy I/O activity with the adapter
          installed in an Intel SDS-2 motherboard, the throughput 
          index fluctuates between high and low values. The amount 
          of fluctuation depends on the block size under test. This 
          occurs only when the initiator simultaneously performs
          both read and write operations. When the initiator 
          performs either a read or write operation, the
          throughput index is stable.

        - ISSUE: 64-bit PCI Slot Hang

          DESCRIPTION: Heavy I/O activity between any target
          and the adapter when installed in a 64-bit PCI slot on a 
          SuperMicro 370DLE motherboard may hang the system. A possible 
          workaround is to plug the board into a 32-bit PCI slot.

        - ISSUE: System hangs when configuring IP setting in the BIOS
          using an Intel SSH4 Shasta motherboard with a Phoenix system
          BIOS.

          DESCRIPTION: If you have embedded LAN controllers and LAN
          Option ROM settings enabled in the system BIOS, the system
          may hang while configuring initiator or target IP settings.
          The workaround is to disable the LAN Option ROM settings.

        - ISSUE: 5-V PCI Slot Hang

          DESCRIPTION: Heavy I/O activity in an HP LH6000 server with 
          the adapter installed in a 5-V PCI slot may hang the
          system. A possible workaround is to plug the board into a 
          3.3-V PCI slot.

        - ISSUE: No 128-LUN Support for Red Hat

          DESCRIPTION: The adapter does not support 128 LUNs on
          these Linux kernel versions. The Adaptec iConfig utility
          can see all the devices, but the operating system is 
          unable to access them.  Please visit the following link 
          for more information:

          http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=58518

        - ISSUE: Turn Off ACPI for SuSE Linux

          DESCRIPTION: The SuSE Linux distribution supports power
          management, but needs BIOS support for this feature. 
          On systems with BIOS that do not support ACPI mode of
          power management properly, the operating system will not
          detect the Adaptec Initiator HBA and hence will not load 
          the driver. On such systems, ACPI must be turned off
          manually by modifying the line in /boot/grub/menu.lst
          file as follows: 

          acpi=off

        - ISSUE: Backup May Fail on Spectra Logic iSCSI Tape Library

          DESCRIPTION: When using a Spectra Logic 2K Tape Library
          with library firmware v4.2.44.0, tape backups may not 
          complete. The workaround for this is to set the
          InitialR2T and ImmediateData settings for the Spectra
          Logic Target as follows:

          InitialR2T=No
          ImmediateData=Yes

        - ISSUE: The BIOS and the iConfig display inconsistent login
          status of targets that are not marked as persistent.

          DESCRIPTION: After a reboot, the driver will log out all
          targets that are not marked as persistent. The target
          may have been logged in until the driver loads. The status
          displayed in the BIOS may therefore differ from the status
          shown in iConfig.

        - ISSUE: Targets not logged in after reboot
 
          DESCRIPTION: This problem was detected using a Tyan Thunder S2469
          motherboard with an AMD 768 chipset. During a soft reboot from a 
          Linux prompt, the initiator failed to automatically log in to its 
          targets as it normally should. The problem is related to the 
          controller not receiving a PCI reset. Several workarounds exist: 
          Warm boot the computer by pressing CTRL+ALT+DEL; completely power 
          down and restart the computer; or, when using the Linux reboot 
          command, use iConfig or iSCSISelect to rescan targets.

        - ISSUE: System hangs when configuring IP setting in the BIOS
          using an Intel SSH4 Shasta motherboard with a Phoenix system
          BIOS.

          DESCRIPTION: If you have embedded LAN controllers and LAN
          Option ROM settings enabled in the system BIOS, the system
          may hang while configuring initiator or target IP settings.
          The workaround is to disable the LAN Option ROM settings.

        - ISSUE: BIOS cannot detect the duplication of initiator 
          IP address. This may lead to a boot failure or a missing
          devices situation.

          DESCRIPTION: If you go to iSCSISelect (by typing Ctrl-A)
          of the BIOS to configure the Initiator IP address, ensure
          the IP Address you entered does not conflict with other 
          device on the same network. The iSCSISelect utility cannot
          detect duplicate IP address.


   7.3  Dynamically Adding or Removing Devices

        WARNING: Misuse of this feature can cause data corruption
        or hardware damage.

        A. To add a new device:

           1. Rescan to find any new device attached:

              # echo "asa72xx rescan" > /proc/scsi/asa72xx/yy

              (yy represents the controller number)

           2) If a new device is found, a message similar to the
              one below will be displayed:

              "New device found on Host xx Channel xx Id xx Lun xx"

           3) Tell the operating system to add the new device:

              # echo "scsi add-single-device 0 1 2 3" > /proc/scsi/scsi

              replacing "0 1 2 3" with your "Host Channel Id Lun"

           4) If successful, new device information is displayed and
              the device is ready to use.

        B. To remove a device:

           1) Note the device's Host, channel, ID and LUN number.

           2) Enter the following command:

              # echo "scsi remove-single-device 0 1 2 3" > /proc
              /scsi/scsi

              replacing "0 1 2 3" with your "Host Channel ID LUN"

   7.4  Increasing I/O support On Raw Devices

        A Linux kernel patch is available at the following internet
        location to increase I/O performance on raw devices:

        http://www.linux.org/docs/ldp/howto/IO-Perf-HOWTO/x159.html

        After applying the patch, the driver needs to be compiled
        to use the option made available from the patch. There are
        two flags defined for this - one of them needs to be enabled
        in the Make.inc file in the source path.

        After applying the patch, examine the file
        /usr/src/linux/drivers/scsi/hosts.h. The patch either adds
        the new member "can_do_varyio" to Scsi_Host_Template
        structure, or defines a new structure Scsi_Host_Template_Ext
        and defines the "can_do_varyio" member in the new structure.
        Depending on the results of applying the patch, do one
        of the following:

        - If "can_do_varyio" is defined in the structure 
          Scsi_Host_Template_Ext, enable ASA72XX_VARYIO_SHT_EXT in
          the Make.inc file by changing -UASA72XX_VARYIO_SHT_EXT to 
          -DASA72XX_VARYIO_SHT_EXT.

        - If "can_do_varyio" is defined in the structure
          Scsi_Host_Template, enable ASA72XX_VARYIO_SHT in the
          Make.inc file by changing -UASA72XX_VARYIO_SHT to
          -DASA72XX_VARYIO_SHT.

        NOTE: After updating Make.inc, run make clean before
        compiling the driver.

   7.5  Checking the Version of the ASA72XX Module

        To check the version of the ASA72XX module, type:
	  
        # ls /proc/scsi/asa72xx
        # cat /proc/scsi/asa72xx/[the number displayed from the
        output of the previous command]

        For example, if the output was "3" for the first command,
        the next command would be:

        # cat /proc/scsi/asa72xx/3

   7.6  Session Recovery
    
        When shutting down the system or shutting down the driver,    
	  note that if you remove the target by pulling the cable or 
        turning it off, the driver will go into session recovery for 
        at least two minutes. The system will not shutdown during
        this session recovery period. To ignore fs errors and force
        a shutdown, flushing all pending I/Os, enter:

        # echo "asa72xx shutdown" > /proc/scsi/asa72xx/yy

        (yy represents the controller number)

--------------------------------------------------------------------
8. mount/unmount scripts

   The adpt-iscsi-mount mounts an iSCSI partition(s) locally
   mapped to a remote disk to a user-specified directory. The 
   adpt-iscsi-umount script unmounts the mounted partition(s).

   The adpt-iscsi-mount script checks the file system partition 
   for any file system corruption before attempting to mount the
   file system. If an error is found, the script generates an
   appropriate error message and quits. It also counts the number
   of LUNs visible to the SCSI mid-layer and displays this number.

   The adpt-iscsi-mount script expects the information about the 
   file system partition to be mounted, the mount directory, the
   file system type (ext2, ext3 etc) and mount options (if any)
   from the file /etc/fstab.adaptec.

   The information provided in the fstab.adaptec file must be
   in the following format:

   <Partition to be mounted> <Mount directory> <File System Type>
    <Mount options>
 
   For example:

   /dev/sda1   /mnt/tmp  ext3  -t 

   The adpt-iscsi-umount script unmounts the partitions mounted
   by the adpt-iscsi-mount script. It verifies the validity of
   the mounted partition by reading the /proc/mounts file.

   Create a file system in the partition created in the mapped
   drive, provide the information mentioned earlier in the
   /etc/fstab.adaptec file, and run the adpt-iscsi-mount script.

--------------------------------------------------------------------
9. CD Contents

   The following are the locations of Linux-related files on
   the installation CD:

   \readme.txt
      * Root readme file for CD
   
   \Linux\README
      * Contains latest technical info for Linux

   \Linux\asa72xx.rpm
      * iSCSI driver for Linux in .rpm package

   \Linux\asa72xx.tar.gz
      * iSCSI driver for Linux in .tar.gz package

   \Linux\RedHat9_AS21\config_utility\iconfig
      * iSCSI Management Utility for Red Hat 9.0 and Red Hat Advanced Server 2.1

   \Linux\RedHat9_AS21\disk\RedHat9_AS21.img
      * iSCSI boot disk for Red Hat 9.0 and Red Hat Advanced Server 2.1

   \Linux\RedHat9_AS21\snmp_extension_agents\RedHat9\A7211S12
     * iSCSI SNMP Extension agent for Red Hat 9.0

   \Linux\RedHat9_AS21\snmp_extension_agents\RedHat9\iscsimib9-5.mib
      * iSCSI SNMP information file for A7211S12

   \Linux\RedHat9_AS21\snmp_extension_agents\RedHatAS21\A7211S12
     * iSCSI SNMP Extension agent for Red Hat Advanced Server 2.1

   \Linux\RedHat9_AS21\snmp_extension_agents\RedHatAS21\iscsimib9-5.mib
      * iSCSI SNMP information file for A7211S12

   \Linux\SuSE82_Enterprise\config_utility\iconfig
      * iSCSI Management Utility for SuSE Professional 8.2/SuSE Enterprise Server 8.0

   \Linux\SuSE82_Enterprise\disk\SuSE82_Ent.img
      * iSCSI boot disk for SuSE Professional 8.2 and SuSE Enterprise Server 8.0

   \Linux\SuSE82_Enterprise\snmp_extension_agents\SuSE82\A7211S12
     * iSCSI SNMP Extension agent for SuSE Professional 8.2

   \Linux\SuSE82_Enterprise\snmp_extension_agents\SuSE82\iscsimib9-5.mib
      * iSCSI SNMP information file for A7211S12

   \Linux\SuSE82_Enterprise\snmp_extension_agents\SuSEEnterprise\A7211S12
      * iSCSI SNMP Extension agent for SuSE Enterprise Server 8.0

   \Linux\SuSE82_Enterprise\snmp_extension_agents\SuSEEnterprise\iscsimib9-5.mib
      * iSCSI SNMP information file for A7211S12

   \Documentation\*.pdf
      * All User's Guides in PDF format.

--------------------------------------------------------------------
(c) Copyright 2004 Adaptec, Inc., All Rights Reserved.

This software contains the valuable trade secrets of Adaptec or its
licensors. The software is protected under international copyright
laws and treaties. This software may only be used in accordance
with the terms of its accompanying license agreement.



