[6017] in linux-scsi channel archive
Re: problem using both AIC-7880 and Adaptec 2940U/W together
daemon@ATHENA.MIT.EDU (ishikawa)
Wed Mar 3 15:52:43 1999
Date: Thu, 04 Mar 1999 03:23:12 +0900
From: ishikawa <ishikawa@yk.rim.or.jp>
To: John Interrante <interran@crd.ge.com>
Cc: linux-scsi@vger.rutgers.edu
Hello,
I had similar problem when I tried to add
a new different SCSI card back in 2.0.3x days
in addition to the old SCSI card I had.
They are PCI based cards.
I tweaked one of the scsi driver files in which
the cards are listed (it turns out that the
scan order is the order in the list) so that my
older card is detected BEFORE the new (different) card
avoid the renaming as you have experienced.
After that I noticed that by making one of the driver as a module,
I can defer the recognition of the card handled by the module
after the first card was recognized by the driver in the kernel.
(If two drivers were made into modules, I can choose the
different orders at will provided that I don't need the filesystems
in the SCSI disks: this is not true in your case, though.)
But this was the case where the two cards are different and
used different drivers.
I think the suggestion that module would help was missing the
fact that your root partition was on the scsi disk and that you need
the driver for the first card in the kernel AND that the second
card is also handled by the SAME driver.
Very tricky situation.
On popular types of PCI motherboards, I would suggest
swapping the PCI slots of the two SCSI cards to see
if they are recognized in different order, but
it seems that you have a special type of motherboard which
makes impossible to do so. (?)
Is there any chance that the BIOS on one of the boards can
control the other? (Like 2940U/W's BIOS controlling the
other card during BIOS scan and vice versa?)
If this were possible, it may be possible to enable only one BIOS of
the board and you may be able to have the desired recognition
order, but it sounds this is impossible also and that is
why you are asking here, but worth a try if you haven't....
By the way, I am not quite sure how you can modify the source
code to change the recognition order in your tricky case [maybe
you need to detect the PCI address to which both cards are mapped, etc.
in order to handle the two cards differently from within AICxxx driver],
but
maybe other linux scsi gurus can help you in getting the details right..
John Interrante wrote:
>
> Henrik Johansson <henrik@lcdata.se> writes:
>
> > I think the easiest way to solve this particular problem would be
> > to just disable the 2940U/W BIOS and compile the 2940U/W card as a
> > module.
>
> I'm not sure how this would help. Both the AIC-7880 and the Adaptec
> 2940U/W require the same driver (aic7xxx). So how would "compiling
> the driver as a module" help? The driver will have to be compiled
> into the kernel or else loaded using initrd before we can even mount
> the root filesystem. Will disabling the 2940U/W BIOS prevent the
> aic7xxx driver from recognizing that the card is present, so that the
> AIC-7880 will always be known as "scsi0?" If so, then how do we
> "insert" the 2940U/W later on and get the driver to create a "scsi1"
> bus for it?
>
> I was thinking that it might be necessary to hack the driver source
> code to force the AIC-7880 to be recognized before the 2940U/W, but I
> wanted to find out first if there was an easier way than editing the
> source code.
>
> John
>
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu