Bug 182431

Summary: aic79xx drivers fail on kernel upgrade or fresh install
Product: [Retired] Fedora Legacy Reporter: Need Real Name <tlandfried>
Component: kernelAssignee: Fedora Legacy Bugs <bugs>
Status: CLOSED DEFERRED QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: rhl7.3   
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard: DEFER
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-08-13 14:55:17 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2006-02-22 15:16:20 UTC
Description of problem:

When upgrading the kernel from 2.4.18-3 to any later version, the aic79xx driver
fails to load on systems with embedded controllers.The problem also exists with
any clean installation using a kernel version later than 2.4.18.3 and using the
Adaptec driver disk for the aix79xx chipset controller. I have been unable to
get the OS to recognize the SCSI controller without the driver disk. The best I
can tell is there is a problem with the aic79xx module on kernels created after
2.4.18. 


Version-Release number of selected component (if applicable):

Adaptec SCSI BIOS 4.30
kernel-2.4.18-3 -- works
kernel > 2.4.18-3 fails -- universally

How reproducible:

Either do an upgrade to the kernel or perform a fresh install.


Steps to Reproduce:

1. Install RH7.3 using the Adaptec driver disk using the standard RH7.3
installation CDs.
2. Upgrade the kernel using -Uvh
3. Boot to the new kernel
4. SCSI fails with numerous errors:

Loading scsi_mod module
SCSI subsystem driver Revision: 1.00
Loading aic79xx module
aic79xx: PCI3:3:0 MEM reion 0x0 unavailable. Cannot memory map device.
nvram_scb == 0xfe
SCBPTR == 0xff
Signature = BIOS
aic79xx: PCI3:3:1 MEM reion 0x0 unavailable. Cannot memory map device.
nvram_scb == 0xfe
SCBPTR == 0xff
Signature = BIOS

abort called for cmd c4652800

Actual results:

drives are no longer recognized

Expected results:

It works.

Additional info:

I've tried rebuilding the kernel, but to no avail.

I'v tried talking to Adaptec and looking at their drivers, but they say their
patches only work with external cards and not embedded chipsets. They said "talk
to RedHat because support is supposed to be included"

I'v tried rebuilding the driver, no luck.

I've tried rebuilding the distro, no luck.

Comment 1 Need Real Name 2006-03-14 06:03:18 UTC
Figured it out. The only way I could get it to work is to rebuild the kernel and
make sure that all of the SCSI core components were all modules or all built-in
when running make menuconfig (or make xconfig). I also had to get the latest
source code from Adaptec:

http://www.adaptec.com/worldwide/support/driversbycat.jsp?sess=no&language=English+US&cat=%2FOperating+System%2FLinux+Driver+Source+Code

I then copied the .tar file into the /usr/src/linux-2.4/drivers/scsi and
replaced the existing aic7xxx directory with the one included in the tar file.

The next step is to build the kernel and then, if necessary, the initrd file. I
used the Pentium 4 setting and made sure the initrd support was turned on and
increased the size of the RAM disk to 8192. I also had to change the error codes
for the aic79xx to 16384 from the default "0", which caused the build to loop.

If building a module, you need to make the initrd with --preload=sd_mod.
Otherwise the SCSI module needed to load the aic79xx module won't be in place
before it attempts to load the RAID drivers.

Other than that, the kernel build is pretty much normal I wasted way too much
time on this and hopefully these notes can help others.

Comment 2 Jesse Keating 2006-08-13 14:55:17 UTC
not really a security issue.