LSI SCSI controller does not detect any devices under Fedora Core 3 running with 2.6.17-1.2157_FC3asl.2smp kernel

Problem

The LSI Ultra 320/m SCSI controller (LSI20320, 21320, 22320) does not detect any devices (internal or external) under Fedora Core 3 running with 2.6.17-1.2157_FC3asl.2smp kernel. However, the device is detected during the SCSI BIOS initialization.

Solution

In the newer 2.6 kernels, the LSI SCSI driver is divided into two base modules (mptbase & mptscsih) and three transport specific modules including Fibre Channel (mptfc), Serial Attached SCSI (mptsas) and parallel SCSI (mptspi). Since LSI 2x320 is a parallel SCSI controller, the module mptspi must be loaded.

Because older Linux distributions such as Fedora Core 3 are not awared about this change, the required transport module is not loaded. As a result, Linux does not detect the SCSI controller. To solve the problem, the transport module (mptspi) must be specified in /etc/modprobe.conf. Here is a sample entry:

alias scsi_hostadapter mptbase
alias scsi_hostadapter1 mptscsih
alias scsi_hostadapter2 mptspi

After adding a new entry for the transport module, the initial ramdisk must be rebuilt. Otherwise, the new module will not be loaded automatically on subsequent boot.