[5244] in linux-scsi channel archive

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

Re: PATCH: Different SCSI ordering for WIDE SCSI chains.

daemon@ATHENA.MIT.EDU (D. Lance Robinson)
Mon Nov 30 17:02:00 1998

Date: 	Mon, 30 Nov 1998 10:26:53 -0700
From: "D. Lance Robinson" <lancer@airways.com>
Reply-To: lancer@airways.com
To: Rolf Fokkens <rolf@flits102-126.flits.rug.nl>
CC: linux-kernel@vger.rutgers.edu, linux-scsi@vger.rutgers.edu,
        linus@transmeta.com

Rolf Fokkens wrote:
>... For backward compatibility you can connect non-wide
> devices on a wide-chain too, but their ID's range from 0 to 7.
> Furhermore I heard that non-wide take actually two ID's when connected
> on a WIDE chain: the configured ID and that ID+8. They can be addressed
> by their own ID, but the other ID is lost.
> 
>... I changed the scanning order for wide scsi
> devices in the kernel. I changed it to:
> 0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15. This means that wide devices are
> always checked in pairs. Now I can use both ID 1 and 9 for my external
> wide devices and still connect an external non-wide devices.
> 

When mixing narrow and wide devices you must only use the first eight
scsi ids. If you don't, scsi arbitration will not work correctly. The
scsi bus uses the data bits to arbitrate for the bus. A narrow device
does not see the upper eight arbitration bits and can fowl things up.
Your wide devices can still work in wide mode, but their addresses
should be set between 0 and 7 where the narrow devices can see them for
arbitration.

Other thoughts:
The Scsi arbitration priority is ordered as follows:
7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8, where 7 is granted the bus first.
This is one reason why many host adapter's id are set to 7. The other
reason is for a typical 0,1,... scan order. It might make sense to scan
from 7,6..0,15,14,..8 to make the more important devices first in the
device list.

<>< Lance.

-
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