| SDMS
    Device Drivers for Linux This file presents general information about the
      SDMS device drivers for Linux. It also describes the features and use of the device drivers for the
    Linux operating system environment.  It is divided into the following sections:  Introduction
       The Linux drivers are free software and are supported in
    source form. These drivers are distributed in the hope that they will be useful, but
    without any warranty and without even the implied warranty of merchantability or fitness
    for a particular purpose. You can redistribute them and/or modify them under the terms of
    version 2 or later of the GNU Public License as published by the Free Software Foundation.
    You should have received a copy of this license with your Linux kernel source tree (/usr/src/linux/COPYING). For detailed
    information on the GNU Public License, contact the Free Software Foundation, Inc. at 59
    Temple Place - Suite 330, Boston, MA 02111-1307 or at http://www.gnu.org/copyleft/gpl.html. The official Linux kernel currently bundles three drivers
    that support the LSI53C8XX family of PCI to SCSI chips: 53C7,8XX; NCR53C8XX; and SYM53C8XX. The latter two drivers use the same code base and are maintained.
    LSI Logic recommends that you install the SYM53C8XX driver if your controllers are supported by it. If you are not
    sure, configure the kernel to load both the SYM53C8XX and NCR53C8XX drivers (either built into the kernel or as modules).  The
    kernel will then select an appropriate driver for each of your LSI53C8XX or
    LSI53C1XXX controllers. The SYM53C8XX driver will install first and
    then the NCR53C8XX driver
    will install and support all remaining LSI53C8XX or LSI53C1XXX devices.  The SYM53C8XX driver takes full advantage of the features
    for the latest LSI53C8XX or LSI53C1XXX family of chips, although support for some of the earliest chips is no longer
    available. The differences between the two drivers are:  
      The SYM53C8XX driver supports only those
        NCR/SYM/LSI/53C8XX chips that perform
        Load/Store instructions. Additionally, it supports the Ultra160 LSI53C1010 chip, uses 8
        Kbytes on-chip RAM and handles phase mismatches in SCRIPTS™ for the LSI53C895,
        LSI53C895A, LSI53C896, LSI53C897 and LSI53C1010 chips. 
      The NCR53C8XX driver supports the entire NCR/SYM/LSI/53C8XX family of chips
        excluding the latest Ultra160 SYM53C1010 parts released by LSI Logic.
        Note that this driver supports the earliest chips from NCR, such as the NCR53C810 revision
        1. back to top Features  For the SYM53C8XX driver only, the supported features are:  
      Utilizes SCRIPTS Load/Store command Handles Phase Mismatch from SCRIPTS Parallel Protocol Request (PPR) negotiationUltra160 Data Transfers (for LSI53C1010) For SYM53C8XX and NCR53C8XX drivers, the supported features are:  
      Integrity Checking (Domain Validation for 2.2.X Kernels)Handles one interrupt per I/OSynchronous negotiation (including Fast SCSI/Ultra
        SCSI/Ultra2 SCSI)Wide negotiationDisconnect/ReselectAllows tagged command queuingScatter/GatherShared interruptsSCSI parity checkingMaster parity checkingProvides LSI Logic and Tekram formatted NVRAMAllows memory-mapped or normal I/O user configurationsCommand line options to override default configurationAllows drivers to be built into the kernel or built as a
        moduleAllows installation of both drivers simultaneously back to top LSI
    Logic Devices Supported All LSI Logic devices and host adapters have
    undergone a name change. They have transitioned from a SYM prefix to an LSI
    prefix. No name changes have occurred for the SDMS Linux drivers.  Host adapters based on the LSI53C8XX or
    LSI53C1XXX family of chips (formerly prefixed with SYM) are
    supported by the SYM53C8XX
    and NCR53C8XX drivers as
    follows:  
      
        | Chip | On
        Board SDMS BIOS
 | Wide | SCSI STD
 | Max Sync
 | Supported by: NCR53C8XX
 driver
 | Supported by: SYM53C8XX
 driver
 |  
        | LSI53C810 | N | N | FAST10 | 10 MB/s | Y | N |  
        | LSI53C810A | N | N | FAST10 | 10 MB/s | Y | Y |  
        | LSI53C815 | Y | N | FAST10 | 10
        MB/s | Y | N |  
        | LSI53C825 | Y | Y | FAST10 | 20
        MB/s | Y | N |  
        | LSI53C825A | Y | Y | FAST10 | 20
        MB/s | Y | Y |  
        | LSI53C860 | N | N | FAST20 | 20
        MB/s | Y | Y |  
        | LSI53C875 | Y | Y | FAST20 | 40
        MB/s | Y | Y |  
        | LSI53C876 | Y | Y | FAST20 | 40
        MB/s | Y | Y |  
        | LSI53C895 | Y | Y | FAST40 | 80
        MB/s | Y | Y |  
        | LSI53C895A | Y | Y | FAST40 | 80
        MB/s | Y | Y |  
        | LSI53C896 | Y | Y | FAST40 | 80
        MB/s | Y | Y |  
        | LSI53C897 | Y | Y | FAST40 | 80
        MB/s | Y | Y |  
        | LSI53C1010* | Y | Y | FAST80 | 160
        MB/s | N | Y |  * 66 and 33 MHz PCI bus support. Details on the drivers can be found on your system in the
    file: 
      /usr/src/linux/driver/scsi/README.ncr53c8xx  back to top Installing
    your Linux Driver After installing the Linux operating system, you must
    patch the driver and other kernel files to upgrade to SYM53C8XX version 1.60 (NCR53C8XX version 3.30).  
      Obtain and install the kernel source.Note: Patches are available for
        kernel versions 2.2.5, 2.2.12, Red Hat 6.1 kernel (2.2.12-20), 2.2.13, 2.2.14, Red Hat 6.2
        kernel (2.2.14-5), 2.2.15, 2.3.99-pre8 and 2.3.99-pre9. The kernel source may be obtained through anonymous ftp from http://www.us.kernel.org/pub.  Be sure to use binary mode to download the kernel file. For this example, the bz2
        compressed kernel was downloaded and stored under /root/Kernels.
        Uncompress and install the kernel by typing at the prompt: #cd
        /usr/src#rm linux
 #bunzip2 -c /root/Kernels/linux-2.2.13.tar.bz2 | tar xvf -
 Note:  bunzip2 is not installed by default
        with Red Hat 6.1 version. Reset the soft links and type at the prompt: #mv linux
        linux-2.2.13#ln -s linux-2.2.13 linux
 #cd linux/include
 #ln -s asm-<platform> asm
Obtain the driver patches.Patches for driver versions are stored in tarball
        format: <driver
        version>-2.2.13.tar.gz and may be obtained either from the SDMS Software Device Drivers
      and Utilities CD-ROM at: {CD-ROM Mount Point}drivers/8xx-1010/unixes/linux or by anonymous ftp from: 
          ftp://ftp.lsil.com/HostAdapterDrivers/linux
           When using ftp, download the tarball for the kernel of interest by typing these instructions: ftp> cd 8xx-driverftp> binary
 ftp> get 2.2.13.tar.gz
 ftp> quit
 Extract the patch files from the tarball: #tar xzvf 2.2.13.tar.gz The newly created directory 2.2.13 will contain: 
        readme-2.2.13.ftp - A listing of the driver version versus patch number.script-2.2.13 - A shell script that can be executed to apply the patches in the correct order.files in the format: patch-ncr53C8xx-s<setno>-d<patchno>-<extension>-<kernelversion>.gz These files are generated with  diff -u
        and compressed using gzip. Typically, all
        patches are applied in order beginning with the lowest set and patch number. Some patches
        have an additional extension of  dri or
        sys to indicate that they are patches to the driver
        files or the system files. Patches with the same set and patch number but different
        extension (dri or
       sys) may be applied in any order. back to top
        Apply the driver patches.Edit the script file and
        replace  <your patch directory> with the full path to the patches. For example, if the
        full path to your patches is: /home/myself/kernelpatches/2.2.13 then the script becomes: echo "Patching ncr53c8xx/sym53c8xx to versions 3.3b and 1.6b
        - kernel 2.2.13" 
    cd /usr/srcExecute the script by typing at the prompt:ln -s /home/myself/kernelpatches/2.2.13 source
 gzip -d <source/patch-53c8xx-s01-d00-dri-2.2.13.gz | patch -p0
 gzip -d <source/patch-53c8xx-s01-d00-sys-2.2.13.gz | patch -p0
 gzip -d <source/patch-53c8xx-s01-d01-sys-2.2.13.gz | patch -p0
 gzip -d <source/patch-53c8xx-s01-d01-dri-2.2.13.gz | patch -p0
 gzip -d <source/patch-53c8xx-s01-d02-sys-2.2.13.gz | patch -p0
 gzip -d <source/patch-53c8xx-s01-d02-dri-2.2.13.gz | patch -p0
 gzip -d <source/patch-53c8xx-s01-d03-sys-2.2.13.gz | patch -p0
 gzip -d <source/patch-53c8xx-s01-d03-dri-2.2.13.gz | patch -p0
 gzip -d <source/patch-53c8xx-s04-d00-sys-2.2.13.gz | patch -p0
 gzip -d <source/patch-53c8xx-s04-d00-dri-2.2.13.gz | patch -p0
 gzip -d <source/patch-53c8xx-s04-d01-2.2.13.gz     | patch -p0
 rm source
 #./script-2.2.13 
      Note 1: The script must have execute permission. If it does not,
      set the permission by typing at the prompt: #chmod +x
      script-2.2.13 
      Note 2: If you uncompress the patch files to examine the content, you
      can still apply the patch either by recompressing with   gzip or
      by replacing "gzip -d <" with "cat" in the script file.  
      Reconfigure and rebuild the kernel. Rebuild the kernel in the usual way for your platform. It is
        strongly recommended that you make an emergency boot diskette prior to rebuilding the
        kernel. See your system documentation or use the online documentation ($man mkbootdisk) for more information. To rebuild the kernel on an I386 platform, type at the
        prompt:  #cd /usr/src/linux#make mrproper        (to reset to default state)
 #make xconfig         (or: #make
        menuconfig)
 At this point, enable the Joliet file
        system for CD-ROMs under the Filesystems option. Then continue: 
        #make dep#make clean
 #make bzImage         (for an Alpha platform: #make boot)
 #make modules
 #make modules_install
 #cd /boot
 #rm System.map vmlinuz module-info
 #cp /usr/src/linux/System.map System.map-<kernel version>
 #ln -s System.map-<kernel version> System.map
 #cp /usr/src/linux/arch/i386/boot/bzImage vmlinuz-<kernel version>
 #ln -s vmlinuz-<kernel version> vmlinuz
 WARNING: If you modify the previous
        kernel and are using lilo,
        you must update and run your boot loader (#lilo -v). If you forget to do so and do not have an emergency boot
        diskette, your system will be unbootable. There is no recovery method if you boot from a
        SCSI disk. See $man mkbootdisk for instructions on how to make a boot diskette. back to top
           Troubleshooting If you have problems with any of these patches or if you
    need patches for an official kernel not listed, refer to the LSI Logic Technical Support Page for additional assistance. Provide
    details about the kernel version. If patches have failed, also
    specify if it is an official kernel or vendor kernel and which patches failed. Some potential problems and their suggested solutions are: Problem: Integrity Checking
    (Domain Validation) is not enabled.  
      Solution:
     
        
        To enable integrity checking, run menuconfig (or xconfig).
        Under SCSI support-->SCSI Low-level drivers-->NCR53C8XX (or
        SYM53C8XX), select Perform integrity check.  Rebuild
        the kernel and run lilo -v. Problem: Integrity Checking
    (Domain Validation) is enabled but a device behaves badly. How can it be
    disabled?  
      Solution: 
        To disable integrity checking, type at the prompt:
 #insmod ncr53c8xx "ncr53c8xx=buschk:4" or #insmod sym53c8xx "sym53c8xx=buschk:4"To disable integrity checking when the driver is built into the kernel, type at the lilo prompt: 
 lilo: linux root=/dev/hda2 ncr53c8xx=buschk:4 or lilo: linux root=/dev/hda2 sym53c8xx=buschk:4where hda2 is the root partition. Problem: The C1010 boards are shipped
    with the default speed set to Ultra2.  
      Solution: To run at Ultra160 speeds, update the sync speed in the
      configuration (set to 80) and change the setting in NVRAM. If necessary, use the command
      line arguments nvram:7,
      sync:9 and
      wide:1 to the setup
      command. For example, with insmod:  #insmod sym53c8xx "sym53c8xx=nvram:7 wide:1
      sync:9" Problem: There are no patches for your
    kernel. 
      Solution: You may go to the LSI Logic Technical Support Home Page,
      which is located at  http://www.lsilogic.com/support/index.html
      and call the listed number if you need patches for an official kernel.  back to top LINUX IS A REGISTERED
    TRADEMARK OF LINUS TORVALDSRED HAT IS A REGISTERED TRADEMARK OF RED HAT SOFTWARE, INC.
 |