Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Apr 1998 16:26:39 +0200
From:      Rob Schofield <schofiel@xs4all.nl>
To:        freebsd-hardware@FreeBSD.ORG
Subject:   Ooops - sorry
Message-ID:  <3547389F.121E@xs4all.nl>

next in thread | raw e-mail | index | archive | help
Julian, I suspect I may well have grievously offended you. If this is
the case, I apologise, as it was not the intention to do so (late at
night, half-busy with work). I hope you can forgive me - certainly
cheesed up everything else in that letter!

As regards my comments on SCSI:

>Rob Schofield wrote:
>> NO, sorry, but the adaptors usually *do*, as it's built into the
>> chipsets (otherwise how would your SCSI disks work as targets? ;^)
>
>I did not say 'devices', I said "adapters".. 

And, if you look carefully, neither did I; Adaptec (before and after
they bought the rest of the market) have always been in the background
business of selling SCSI controller chip sets to the world, so that 3rd
parties can go ahead and manufacture disk controllers, for example.
Think of IBM, SEAGATE, etc. plus anyone else wanting a highly integrated
SCSI-subsytem on a chip. *In a second line of business*, they also
manufacture host adaptors for PCs and other bus-based computers. This is
probably far more visible to the buying public. NCR did the opposite,
ie. sell chipsets visibly. Under Adaptec, they now sell boards too,
which are just re-branded.

The chipsets Adaptec sell/use have got the capability to operate either
as SCSI Host or SCSI Target, and carry out a lot of the bus bit bashing
previously done in software using a hardware state machine. The mode is
not hard-coded by a jumper, but determined by the software driving the
chip. This you will know from writing a SCSI subsystem; I have a dead
Seagate and an HP drive in front of me with ADAPTEC writ large across
many of the chips on the PCB of the disk controller.

> Host adapters is what I
> obviously meant, 

Yes, I agree, but I equally obviously badly wrote the reply assuming you
would catch onto what I meant - that the chipsets can operate as targets
as well as hosts, in fact they *have to*.

> and the host adpters and their drivers don't
> support it, so we'd have to add that support..

Ah, now I can correct you here; I have successfully worked on two
PC-based projects where a 1510 and a 1740 were used in target mode, so
the *hardware at least* does. Whether, as you rightly say, the PC- based
BIOS provided with these cards actually implements this mode or not (and
for any other SCSI device class other than Disk, at that) is another
question; we didn't use it - simply disabled the BIOS, got a register
map and the right data sheet for the chips on the cards, and wrote our
own drivers, which were then successfully tested under the operating
system we were using (OS-9000).

>When I wrote the SCSI subsystem (yes I know how it works)

Yeah, I've done that too, a few times ;^). I've done a high-res medical
colour printer, a disk driver for multihost co-operative disk sharing
(fun, that one) and an electronically steered, medical Ultra-sound
scanner for heart arteries that thought it was a disk drive. So yes, I
know how they work too.

>I tried to leave 'hooks' for target mode, but none of the adapters
>supported it so the drivers couldn't do it. the 1542 managed to
>HALF support it for a while.

I have no idea what implementation method you were using for this, but
it would still boil down to getting a register address map for the
chipset, an address map for the host card from the manufacturer (Adaptec
were quite happy to let us have the developer docs when we asked) and
getting down to it. Whether the host adapter circuitry is designed to
allow full use of the chipset's capabilities is a different matter, and
I can't comment for the 1542; however, the ISA part (the bus interface)
of this card had some definite limitations, which you may have hit
against. If I hear another anguished story about "ISA Bus Mastering" I
will scream - that was why EISA appeared...

>>. As
>> usual, it's the **host software** that doesn't. Even then, if you are using
>> the ASPI generalisation layer provided/sold by Adaptec, a lot of what you
>> need for target mode is in there.

>we are NOT using it as they won't give source..

No defintiely, they won't *give* you the ASPI sources for their
commercially available, main income source. Would you? ;^) However, if
you asked them for the developer's packages and ASPI specs, well,
they'll let you have that. Maybe I was just lucky when I asked, I got
all my stuff for free in '95....

>and 'MOST' is not enough. 

... but it could form the solid basis of an good, original piece of work
performed by you, based on commercially-accepted standards? What do you
want them to do, write it all for you?

>They were totally unable to get target
>mode working correctly on their 154x series and I have no reason
>to believe that they have spent more energy on new series.

... on Windows 3.1 systems without multi-threading capability (for which
ASPI was designed), on an otherwise simple card with a bad bus
interface. They have done much better, recently...

>>
>> Don't generalise, please.
>
>ok the adapter drivers don't usually support it, but in addition
>those cards that are "intelligent" usually fail to support it
>correctly in their firmware as well. The firmware on most cards is
>usually UNTESTED in target mode.

And since the cards are usually designed and marketed for a PC market,
why should they possibly want Target mode operation *in the drivers and
firmware* ??? 99.999999% of people using the interface cards would only
care enough to plug it in, connect disks, and use them for that! So why
should Adaptec (or others) waste time and development money on
generalised, properly tested multi-mode support software if no-one going
to ever even use it? It's *no wonder* the stuff's untested, and is only
suitable for disks.

Tell me, why use the firmware? I thought this was U**X? Why on earth do
you need to use the card firmware? 


>julian


Rob Schofield M.Sc. (SCSI software developer)

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3547389F.121E>