[7784] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

Re: Convincing the aic7xxx driver that it's scsi1

daemon@ATHENA.MIT.EDU (ken@seefried.com)
Sat Jan 1 18:07:38 2000

To: linux-scsi@vger.rutgers.edu
From: ken@seefried.com
Date:   Sat, 1 Jan 2000 17:55:53 -0500
Message-ID: <OF85D66B3E.7582A438-ON05256859.007DF6C4@seefried.com>
MIME-Version: 1.0
MIME-Version: 1.0
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<P>I really don't think there is an issue with multiple cards of the same t=
ype. I've found that that sort of ordering can usually be fixed by playing =
with irq/mem locations, or PCI slots, etc. &nbsp;My problem lies with SCSI =
cards of different types (esp. on different bus types), and the kernels fix=
ed ideas about who goes first.</P><P>Actually, if multiple SCSI controllers=
 behaved as did multiple ethernet cards, the problem would be solved. &nbsp=
;You are correct that only one ethernet card is automaticly detected, but I=
 can specify at the LILO prompt to look for eth0 or eth1 at a particular ir=
q/mem tupile by saying &quot;linux ether=3D5,0x7000,eth0 ether=3D11,0x280,e=
th1&quot; or some such. &nbsp;Not ideal, I realize, but rather better than =
nothing. &nbsp;Would it be possible to have something that allowed &quot;li=
nux scsi=3D&lt;some probed value(s)&gt;,scsi0 scsi=3D&lt;some probed value(=
s)&gt;,scsi1&quot;, or at least something like &quot;linux scsi0=3DAM53C974=
 scsi1=3Daic7xxx&quot;. &nbsp;</P><P>- Ken</P><P><BR><FONT SIZE=3D2><B>@</B=
></FONT><BR><FONT SIZE=3D2>Sent by: owner-linux-scsi@vger.rutgers.edu</FONT=
><BR><FONT SIZE=3D2>01/01/2000 05:14 PM</FONT><BR><BR> <FONT SIZE=3D2>To:</=
FONT> <FONT SIZE=3D2>Douglas Gilbert &lt;dgilbert@interlog.com&gt;</FONT><B=
R> <FONT SIZE=3D2>cc:</FONT> <FONT SIZE=3D2>linux-scsi@vger.rutgers.edu</FO=
NT><BR> <FONT SIZE=3D2>bcc:</FONT> <BR> <FONT SIZE=3D2>Subject:</FONT> <FON=
T SIZE=3D2>Re: Convincing the aic7xxx driver that it's scsi1</FONT><BR> <BR=
><BR></P><P><FONT FACE=3D"Monospace,Courier">On Sat, 1 Jan 2000, Douglas Gi=
lbert wrote:<BR>&gt; I have had a similar frustration with several differen=
t controllers<BR>&gt; (different models) from the same manufacturer that al=
l use the same<BR>&gt; driver. Loading it as a module won't help either. I =
need to hack<BR>&gt; the driver code if I want a different order (and the o=
rder it picks<BR>&gt; is oldest technology first :-( ).<BR>&gt;<BR>&gt; A k=
ernel boot option to re-order the host list just after detection<BR>&gt; sh=
ouldn't be too hard. But how to specify the option? On my<BR>&gt; machine t=
he scsi host strings look like this:<BR>&gt;<BR>&gt; $ cat /proc/scsi/sg/ho=
st=5Fstrs<BR>&gt; AdvanSys SCSI 3.2L: ISA PnP 16 CDB: BIOS C800, IO 120/F, =
IRQ 10, DMA 7<BR>&gt; AdvanSys SCSI 3.2L: PCI Ultra-Wide: BIOS E0000/7FFF, =
IO C800/3F, IRQ 11<BR>&gt; AdvanSys SCSI 3.2L: PCI Ultra2-Wide: IO CC00/FF,=
 IRQ 5<BR>&gt; SCSI host adapter emulation for IDE ATAPI devices<BR>&gt;<BR=
>&gt; One idea for a boot line option:<BR>&gt; &nbsp; &nbsp; &nbsp;scsi=5Fh=
osts=5Forder=3DUltra2,,Wide<BR>&gt; This will bring the first host found wi=
th &quot;Ultra2&quot; in its identifier<BR>&gt; string to the scsi0 positio=
n and the &quot;first&quot; host matching &quot;Wide&quot;<BR>&gt; (excludi=
ng the one already matched) to the scsi2 position. That<BR>&gt; leaves the =
first unmatched host (the ISA one) in the scsi1<BR>&gt; position. Comments =
...<BR></FONT><BR><FONT FACE=3D"Monospace,Courier">A couple of observations=
. &nbsp;Just so everyone knows, the order in<BR>which host adapters are det=
ected which are all handled by the same driver<BR>is essentially all up to =
the low-level driver itself.<BR></FONT><BR><FONT FACE=3D"Monospace,Courier"=
>The mid-layer itself is only responsible for the order in which<BR>the com=
piled in drivers are probed. &nbsp;In general I would tend to agree that<BR=
>in situations where there are multiple cards, the user should probably<BR>=
only compile one driver into the kernel and then load the rest as modules.<=
BR>This is essentially the approach that you are forced to take when you<BR=
>install multiple ethercards (the scanning code stops after detecting a<BR>=
single instance, I believe). &nbsp;The ambiguity which remains is when a<BR=
>single driver drives more than one physical card.<BR></FONT><BR><FONT FACE=
=3D"Monospace,Courier">At the moment, I am a little leery of an arbitrary r=
e-ordering of<BR>hosts. &nbsp;I suppose it could be made to work, but there=
 are also potential<BR>problems where you have multiple instances of identi=
cal cards in which<BR>case about all you could do is specify something like=
 an interrupt number<BR>which would be card/slot specific. &nbsp;Part of my=
 reluctance is also my<BR>tendancy to try and avoid creeping featurism, as =
usability goes down the<BR>toilet as you add more and more configuration op=
tions that most people<BR>don't really understand. &nbsp;Finally, I have st=
rong concerns that we might<BR>break something for some drivers by making a=
 change of this sort.<BR></FONT><BR><FONT FACE=3D"Monospace,Courier">The ot=
her approach that I have seen used (with aha152x, for<BR>example) is where =
you can specify options to the driver to force a<BR>specific instance to be=
 the the first card detected, etc. &nbsp;The<BR>disadvantage here is that t=
his needs to be implemented within each driver,<BR>but the advantage is tha=
t the risk of breakage is probably a lot lower.<BR>If people feel strongly =
about it, I guess I could probably be<BR>convinced to think about a re-orde=
ring some more, but my inclination at<BR>the moment is to seek a different =
solution.<BR></FONT><BR><FONT FACE=3D"Monospace,Courier">-Eric<BR></FONT><B=
R><BR><BR><BR><BR><BR><FONT FACE=3D"Monospace,Courier">-<BR>To unsubscribe =
from this list: send the line &quot;unsubscribe linux-scsi&quot; in<BR>the =
body of a message to majordomo@vger.rutgers.edu</FONT></P>=

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu

home help back first fref pref prev next nref lref last post