Sign in with
Sign up | Sign in
Your question

Adaptec 1430SA, OS not detecting RAID array

Last response: in Storage
Share
January 8, 2008 3:43:45 PM

We just bought a small RAID-1 protected server based on an Asus Commando motherboard and an Adaptec 1430SA RAID Controller with 2 500GB mirrored hard drives. I decided on these components because, on paper, they all seemed to be exactly what we needed.

Plus, the Adaptec 1430SA is compatible with RHEL 3, 4 and 5, and we're using a RHEL clone named Scientific Linux (version 5.0 is based on RHEL 5). I thought it would be a simple matter of using the drivers for RHEL 5, as this is merely a recompiled RHEL 5.

I then created a driver disk (damn, I hate floppy disks) and went on to boot with the Scientific Linux instalation DVD. I booted using "linux agp=off dd", where the agp=off corrected a (rather common) misdetection that leads the linux kernel to try to find integrated graphics hardware when there is none, and dd is the usual driver disk command.

Scientific linux then asks for the driver disk, reads it, does not complain, but still does not see the RAID-0 Array. What's up with that? I have the RAID-1 array configured as bootable in the RAID BIOS and everything checks out OK. When creating the array, I cleared both hard drives. What did I miss? Why isn't this working? Also, the SL installation usually complains if the driver disk is not compatible with it, but it didn't in this case...

Could anyone please, please give me any idea??? :bounce: 

(my next move is to try the Scientific Linux Live CD and put the driver rpm directly in the graphical interface and see if I get something. If this doesn't work... I guess I'll try to recompile the driver...)
January 9, 2008 2:50:06 PM

Booting the LiveCD works fine. Network detecting proceeded without a hitch and I'm writing from that computer. I downloaded the driver rpm for RHEL 5.0 and it installed without complaint.

The RAID Array still isn't being detected. :cry: 

Help! What am I doing wrong?... I'm out of ideas... Damn, I'm too stupid for this.
January 14, 2008 11:20:39 AM

Oh dear GOD!

I've dowloaded the source code for the aar81xx driver - the one needed by the adaptec 1430SA - and tried to recompile the driver along with the needed kernel source code. For this, I used another computer running the 64-bit version of Scientific Linux.

Unfortunately, I then discovered that the RHEL kernel configuration menu (obtained by make menuconfig) doesn't give me the option to include the SCSI Low Level driver for adaptec aar81xx, required for the driver recompile to work.

Now I'm looking for a way to insert the Low Level driver into the kernel for a recompile. How do I do that?...

Edit: I've found an alternative: Maybe using "brokenmodules=sata_mv" will work?... Directly from adaptec support; however, this should only work with SuSE 10.0, which is bad.

But since trying this is much easier than trying to include a bizarre low-level driver to complete a process I know nothing about, I'll give it a shot anyway...
Related resources
January 15, 2008 9:44:27 AM

Obviously, the brokenmodules option didn't work.

I'm now trying to recompile the damned thing, and my head hurts... :cry: 
January 17, 2008 12:19:44 PM

Well... I'll just write here in case this helps anyone in a similar position.

I downloaded the kernel source rpm that corresponds exactly to the kernel I'm using, which is "kernel-2.6.18-8.1.8.el5.src.rpm", and installed it. I then used a rpmbuild command and a few others, to prepare the usual paths:

rpmbuild -bp --target=x86_64 kernel-2.6.spec
cp -a /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.x86_64 /usr/src
ln -s /usr/src/linux-2.6.18.x86_64 /usr/src/linux

I then manually copied the code from /usr/src/adaptec/driver-aar81xx to /usr/src/linux-2.6.18.x86_64/drivers/scsi/aar81xx and used the build command, but without the merge_driver option:

./Build ../driver-aar81xx ../shipped-binary ../../linux-2.6.18.x86_64

It's still compiling. I think I got it right this time. There were a few hickups the last few times I tried this, but this time, I got no misconfiguration message! :sol: 

Edit: I just got a "make error, building stopped". <insert major cursing here>
January 17, 2008 12:42:12 PM

Sorry you're having so much trouble.

At this point it might be worth investigating a different RAID card. The 3Ware cards are known to be compatible with most flavors of Linux. Also, if you're running the RAID-1 just for data disks and not boot disks, you might use Linux's software RAID.
January 17, 2008 2:13:23 PM

I narrowed the generic error message down to a sequence of error messages. It turns out that the (huge) build script from adaptec gives this error whenever a make.sh script churns an error code.

I then tried to run the make.sh independently to see if I could narrow the error down. And it turns out I have a problem with the kernel build stage: the make.sh script complains of a lack of a file called "Module.symvers", which is deleted when running "make mrproper", apparently. So I need to mess around with the kernel a little more.

I'll reinstall the kernel code. I shouldn't have done "make mrproper". Crap.

Edit: (crying like a baby) The reinstall doesn't give me Module.Symvers.... I copied this file only from the RHEL headers (the semi-complete kernel source that the graphical interface installs when you ask for "kernel source for developers", not the one you get when you download linux-x.y.zz-*.src.rpm).

It's a frankenstein solution. Let's try again... The build command is currently being executed. And this time around, there actually is a Module.symvers file there, for an equivalently built kernel configuration. Hope this works.
:pfff: 
January 17, 2008 3:03:36 PM

Full error message goes like this:

CC [M] drivers/scsi/aar81xx/hr.o
In file included from drivers/scsi/aar81xx/hr.h:50,
from drivers/scsi/aar81xx/hr.c:35:
include/linux/config.h:6:2: warning: #warning Including config.h is deprecated.
In file included from drivers/scsi/aar81xx/hr.h:70,
from drivers/scsi/aar81xx/hr.c:35:
include/scsi/scsi_driver.h:17: warning: ‘struct request’ declared inside parameter list
include/scsi/scsi_driver.h:17: warning: its scope is only this definition or declaration, which is probably not what you want
In file included from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/hr.h:71:31: error: scsi/scsi_request.h: No such file or directory
In file included from drivers/scsi/aar81xx/cdacsmi.h:47,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/osmcda.h:228: warning: function declaration isn’t a prototype
drivers/scsi/aar81xx/osmcda.h:232: warning: function declaration isn’t a prototype
In file included from drivers/scsi/aar81xx/sysdef.h:186,
from drivers/scsi/aar81xx/cdacsmi.h:60,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/cdadef.h:301: warning: useless storage class specifier in empty declaration
drivers/scsi/aar81xx/cdadef.h:314: warning: useless storage class specifier in empty declaration
drivers/scsi/aar81xx/cdadef.h:325: warning: useless storage class specifier in empty declaration
drivers/scsi/aar81xx/cdadef.h:338: warning: useless storage class specifier in empty declaration
In file included from drivers/scsi/aar81xx/cdacsmi.h:60,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/sysdef.h:469:1: warning: "/*" within comment
drivers/scsi/aar81xx/sysdef.h:489:1: warning: "/*" within comment
In file included from drivers/scsi/aar81xx/chim.h:45,
from drivers/scsi/aar81xx/sysdef.h:523,
from drivers/scsi/aar81xx/cdacsmi.h:60,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/chimosm.h:63: warning: function declaration isn’t a prototype
In file included from drivers/scsi/aar81xx/chim.h:45,
from drivers/scsi/aar81xx/sysdef.h:523,
from drivers/scsi/aar81xx/cdacsmi.h:60,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/chimosm.h:119:5: warning: "SAS_DOWNSHIFT_SUPPORT" is not defined
drivers/scsi/aar81xx/chimosm.h:163:7: warning: "SAS_PROGRAMABLE_ALIGN_RATE" is not defined
In file included from drivers/scsi/aar81xx/chim.h:49,
from drivers/scsi/aar81xx/sysdef.h:523,
from drivers/scsi/aar81xx/cdacsmi.h:60,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/chimdef.h:2602:5: warning: "SATA_MESSAGE_SIGNALED_INTERRUPTS_SUPPORT" is not defined
drivers/scsi/aar81xx/chimdef.h:2629:5: warning: "SAS_SAVE_RESTORE_STATE" is not defined
drivers/scsi/aar81xx/chimdef.h:2754:5: warning: "SAS_OSM_DEBUG_MODE" is not defined
In file included from drivers/scsi/aar81xx/raidtype.h:56,
from drivers/scsi/aar81xx/sysdef.h:561,
from drivers/scsi/aar81xx/cdacsmi.h:60,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/sysdef.h:469:1: warning: "/*" within comment
drivers/scsi/aar81xx/sysdef.h:489:1: warning: "/*" within comment
In file included from drivers/scsi/aar81xx/sysdef.h:574,
from drivers/scsi/aar81xx/cdacsmi.h:60,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/sysdev.h:232:5: warning: "PROFILER" is not defined
In file included from drivers/scsi/aar81xx/sysdef.h:577,
from drivers/scsi/aar81xx/cdacsmi.h:60,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/osifprot.h:509: warning: function declaration isn’t a prototype
drivers/scsi/aar81xx/osifprot.h:512: warning: function declaration isn’t a prototype
drivers/scsi/aar81xx/osifprot.h:531: warning: parameter names (without types) in function declaration
drivers/scsi/aar81xx/osifprot.h:540: warning: function declaration isn’t a prototype
drivers/scsi/aar81xx/osifprot.h:552: warning: function declaration isn’t a prototype
drivers/scsi/aar81xx/osifprot.h:571: warning: function declaration isn’t a prototype
drivers/scsi/aar81xx/osifprot.h:573: warning: function declaration isn’t a prototype
In file included from drivers/scsi/aar81xx/sysdef.h:578,
from drivers/scsi/aar81xx/cdacsmi.h:60,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/coreprot.h:274: warning: function declaration isn’t a prototype
drivers/scsi/aar81xx/coreprot.h:281: warning: function declaration isn’t a prototype
drivers/scsi/aar81xx/coreprot.h:487: warning: function declaration isn’t a prototype
drivers/scsi/aar81xx/coreprot.h:555: warning: function declaration isn’t a prototype
drivers/scsi/aar81xx/coreprot.h:741: warning: function declaration isn’t a prototype
In file included from drivers/scsi/aar81xx/cdacsmi.h:60,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/sysdef.h:604: warning: useless storage class specifier in empty declaration
In file included from drivers/scsi/aar81xx/cdacsmi.h:60,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/sysdef.h:613:1: warning: "ABORT_TASK" redefined
In file included from drivers/scsi/aar81xx/hr.h:72,
from drivers/scsi/aar81xx/hr.c:35:
include/scsi/scsi.h:277:1: warning: this is the location of the previous definition
In file included from drivers/scsi/aar81xx/cdacsmi.h:66,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/csmisasa.h:117:7: warning: "_WIN32" is not defined
In file included from drivers/scsi/aar81xx/cdacsmi.h:66,
from drivers/scsi/aar81xx/hr.h:97,
from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/csmisasa.h:184: warning: ignoring #pragma CSMI_SAS_BEGIN_PACK
drivers/scsi/aar81xx/csmisasa.h:257: warning: ignoring #pragma CSMI_SAS_END_PACK
In file included from drivers/scsi/aar81xx/hr.c:35:
drivers/scsi/aar81xx/hr.h:135:5: warning: "HR_DEBUG" is not defined
drivers/scsi/aar81xx/hr.h:393:1: warning: "roundup" redefined
In file included from include/linux/cache.h:4,
from include/asm/pda.h:7,
from include/asm/thread_info.h:14,
from include/linux/thread_info.h:21,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:49,
from include/linux/vmalloc.h:4,
from include/asm/io.h:105,
from drivers/scsi/aar81xx/hr.h:40,
from drivers/scsi/aar81xx/hr.c:35:
include/linux/kernel.h:37:1: warning: this is the location of the previous definition
drivers/scsi/aar81xx/hr.c:2838:5: warning: "_NOTYET_" is not defined
drivers/scsi/aar81xx/hr.c:2966: warning: initialization from incompatible pointer type
make[1]: *** [drivers/scsi/aar81xx/hr.o] Error 1
make: *** [_module_drivers/scsi/aar81xx] Error 2

Reading into it with more caution, I'm missing the scsi_request.h file, which should be in include/scsi but isn't.

Damn!
January 17, 2008 3:20:58 PM

Haaaaaa I got it! I got it!

I did a frankenstein solution to the scsi_request.h file too and I got it!

I got a bunch of files like .mod.o's or something. Now I'm going to grab a cup of coffee and celebrate. I'm not done, but that huge build script actually ran! Woooow....
February 12, 2008 10:10:44 PM

Mephistopheles,

I am exactly with the same problem.

As you did to solve?

Thanks!
!