Two add-in RAID controllers won't play nice

IMOG

Limp Gawd
Joined
Apr 24, 2003
Messages
175
Only whichever controller that is placed in the highest priority PCI slot will work.

The sil3112 sata RAID is in PCI 2 with IRQ 10.
The Promise pata RAID is in PCI 3 with IRQ 11.

Neither are sharing resources with other devices.

After mobo bios post, the sata bios will post, then windows loads.
If I switch the cards, the promise bios will post.

Both controllers can be seen in device manager, only the sata raptor can be seen in disk management. Both have arrays created.

I have tried playing with PCI slot configuration and IRQ assignments. No luck.

How can I get my PATA RAID operational? What needs to be done to use two add-in controllers? Should each card bios post upon boot up?

I run XP.

BTW... This problem has me stumped, and I'm working on it at OCForums, ExtremeOverclocking Forums, and Storagereview forums also. I will keep this thread updated on any progress. I appreciate all advice.
 
The way the system BIOS works - detection starts with integrated controllers, works its way to integrated special controllers (e.g. ATA33->ATA100/RAID), then down the PCI slots. When you have multiple PCI controllers you need to disable their ability to boot on all but the boot device. This is a very common thing to do with SCSI controllers, and SCSI cards have a `disable boot rom` or `disable SCSI bios` option in their bios menus. However, with el cheapo ATA units this isn't too common, and as a result running multiple controllers isn't always possible. Those units tend to be built on the assumption that you'll be using that one controller in addition to whatever is integrated onto the board. As such many don't seperate the ability to scan the channels and initialize arrays from the boot sequence, so rather than scanning, initializing, and letting the next controller take over, they scan, initialize, and boot regardless of anything else.

I've actually had lots of run-ins with this over the years, trying to use multiple ATA and SCSI controllers at once. It was really upsetting to be able to use multiple SCSI controllers together quite easily, but then as soon as I dropped in an ATA RAID controller shit->fan. I actually lucked out a few years back when I bought an ST6 with an onboard HPT37x - not sure if it's because it uses an Intel bootloader or what, but the HPT37x and Promise 100TX coexist peacefully. Both run their detect routines at boot, but the system boot target itself is the HPT, so the order is POST -> HPT init -> Promise init -> HPT boot. This doesn't happen in any other machine of mine, even other HPT-integrated boards.

So, in the end, dig through your controller bioses. What you need is to let the controllers scan their channels and initialize disks/arrays, but not try to boot. You may be able to disable booting through an explicit option, or simply something like not selecting a boot drive in them. Do not be surprised if nothing you do works, though. You are, after all, using SOHO equipment in a more professional/enterprise capacity.
 
Snugglebear, everything you say makes complete sense. I really appreciate your comments, as they explain a lot of things I knew roughly about, or wondered about how exactly they work. A lot of knowledge in that post.

If nothing else, I know what to look for now, and if I still can't make it work I can contact tech support and ask them if I'm a moron or the cards just don't have the capability.

The Silicon Image card is crap and only cost me $19, as its just holding me over until I go to socket 939 with onboard SATA (Assuming theres a board with good onboard SATA). I got my Raptor on a great deal from OCForum's classifieds and needed to make sure it was in new condition when I received it - hence my need for something now and buying this controller.

The promise fasttrak100 - someone from OCForums sent me for free so I could play with RAID. I thought this was a fairly good card, but maybe it really isn't if it doesn't have the capability you mentioned.

Thanks a lot, you really gave me some understanding that I was looking for... And I hadn't found at OCF, EOC, or SR forums in the past few days.
 
great post Snugglebear

a small addendum (from Promise)
Q146 With a Promise FastTrak family controller and a SuperTrak SX6000 in the same motherboard, if FastTrak BIOS is loaded first, the SuperTrak SX6000 BIOS cannot be detected. But, if SuperTrak SX6000 BIOS is loaded first, the system can boot up normally?
Cause: SuperTrak SX6000 BIOS loading size is 64K. If the FastTtrak BIOS is loaded first, the system may not be able to allocate 64K memory for the SuperTrak SX6000 BIOS, therefore, SuperTrak SX6000 BIOS cannot be loaded.

Solution: The SuperTrak SX6000 BIOS runtime size is about 16K, so, if the SuperTrak SX6000 BIOS is loaded first, there is still enough memory for loading FastTtrak BIOS, so everything will be running normally. Change the FastTrak BIOS and SuperTrak SX6000 BIOS loading sequence (you may need to swap the PCI slots that the cards are in) to let the system load the SuperTrak SX6000 BIOS first.

of course you already tried a different order, but you may be able to get one of the controllers to work with a different card, if it happens to be a memory issue
I have the SX6000 and was familair with that FAQ
 
The Promise Fasttrak 100 is a decent card but has a lot of hidden issues. When I started using it in my FreeBSD file server I had major issues with write speeds being only 1-2MB/s, read speeds your typical 30-40MB/s. Took several months, a couple tries on various mailing lists, and a few emails to the ata driver author, but what I found out is that for whatever reason, outside Windows the FT100 cannot write at normal speeds unless you have both drives in the array on the same cable. I tried asking Promise what's up with that, but they've never responded.

PS: Don't ever try to write ATA drivers. If you do you'll see just how hacked together they are and you'll never look at ATA controllers or devices the same way. In a certain light it would be like taking a burger-lover to a slaughterhouse.
 
Heh, thanks, I think the input I found here on this subject was has by far been the most helpful.

Here's some good news to award your efforts... I've got both controllers running in XP now!

I flashed the bios of the Sil3112 successfully and it made no difference... Somewhat expected. So I rebooted and went back into my mobo bios... Decided to set everything to optimized defaults for the kick of it. Went through and made a few essential customizations (turned off onboard sound, unused IDE channel, etc.), and saved and rebooted.

Upon boot, mobo bios posted, sil bios posted... PROMISE BIOS POSTED! This is about the time when I did a full backflip and jumped around my room. Windows loaded and, sure enough, there's my disk I've been working so hard for... Went into disk management and formatted the partitions again. Works like there never was a problem. :D

I investigated the changes I made... The boot devices needed to NOT be set to boot from SCSI - I disabled everything and left the first boot device as HDD-0. This allows both bios to post and initialize.

Thanks a lot for your help... I learned a lot on my own through trying to figure this out, and I learned more from your comments than I learned anywhere else. I understand a lot more thoroughly than I did going in. Gotta love this OC'in hobby. :)
 
Back
Top