textfiles/computers/scsidefs.txt

2224 lines
110 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

INTRODUCTION
Hello, folks!
This text file is an attempt to answer the commonly asked questions I
constantly see on IBMHW. The questions are very simple, but the task
of responding to them is difficult, takes quite a while to compose and
can really only touch the highlights of SCSI. I felt that a file
posted in the library would serve to give people a start to understand
SCSI and some of the important parts that relate to day-to-day
installations and usage.
This is not a detailed explanation, as the SCSI specifications
contain the details and are very extensive, besides an average user
need not understand the technical aspects of SCSI to be able to
install and use SCSI devices. I recommend that you scan this text and
then home in on the part that you have a particular interest in for
some details. Don't be daunted by all the information here, you don't
have to understand it all to use SCSI. Most installations of SCSI
devices are virtually plug and play with the newer host adapters and
software packages. SCSI has indeed come a long way since the beginning
and is rapidly becoming the technology of choice for
performance-oriented systems and software.
If you're a novice to SCSI or PCs, give chapter 4 "SCSI and the real
life" a try - hopefully it has your answers to install a host adapter.
There will be a companion file to this one which will give you the
easy way to install SCSI devices. While it will revolve mostly around
Adaptec products, it is in no way an attempt to sell Adaptec products
and no Adaptec employee had any involvement in it's creation. (It's
just that Skip - who wrote this introduction - and i have experience
mostly with Adaptec's host adapters -Gerhard) Adaptec is the world's
leader in SCSI hardware and SCSI software, and their products are more
widely used and better known than other brands. There are also quite a
few CIS members who are Adaptec gurus, due to experience with
Adaptec's products on various forums, so you usually can get
assistance wherever you are.
But do remember that, for the most part, SCSI is SCSI and what applies
to one supplier usually applies to them all.
This text is based on my own knowledge of SCSI. and I'm not in any way
omniscient, infallible or whatever <g>, I would like to get all sorts
of comments about what may be wrong, what's missing and so on...
Please take the SCSI-3 parts not too serious at the moment - I think I
didn't make real errors, but - unlike SCSI-1 and SCSI-2 - the SCSI-3
spec consists of various parts that are interlocked to each other and
are still "subject to change". I'll keep an eye on it and update this
over time. The SCSI-3 details will follow later, as I'll need some
time to read through these docs and - especially - understand them.
If you are interested in the official SCSI documents, NCR's SCSI BBS
on ++1 - 719-574-0424 has them all. However, they are big and - in
their naming scheme - somewhat hard to find.
Gerhard Islinger
CIS: ID 100023,3537
Internet: 100023.3537@compuserve.com
Also, it seems there has to be a legal part:
This file is provided "AS-IS", with no warranty as to it's correctness.
Use at your own risk. The author(s) is/are not liable to any damage
that may occur from usage of this information.
History:
Rel. 0.8 Initial release on CIS.
Rel. 0.9 Entered drivers for DOS and OS/2.
Moved the connectors to App. A.
Rel. 0.91 68pin and 110pin connectors/ Disconnect / SCSI-ATAPI /
Dal Allen's article / added SDMS description / BBS #
Rel. 0.92 Bertil Hagnell requested some information about SCSI
utilities, so i added some as chapter 5. Definitely not
complete, but where should i end this ?
Rel. 0.93 finally dug out my old LADDR docs and added a slightly
more thorough definition.. Added Appendix D with some
QIC tape definitions. It's not directly relevant to
SCSI, but i got a few questions for the QIC/SCSI
relationship lately, so why not...
At this point, Skip Lutz rewrote parts of the text for a more
readable english and some news.
Rel. 0.94 Minor changes contributed by Skip Lutz.
No content changes
Rewrote introduction
Rel. 0.95 Couldn't stop working <g> Todd Plummer made me think
about RAID, so i included a simplified definition with
some generic SCSI device parts (chapter 6)... Also,
Mike B. pointed me towards a _big_ fault in the serial
SCSI-3 part...MBytes/sec instead of MBits/sec <sigh>
Still neccessary:
- SCSI troubleshooting "cookbook"
- PnP, SCAM and some ongoing protocols
- whatever you may find missing ...
CREDITS: - Skip Lutz
- Bertil Hagnell and Todd Plummer for questions that led
to new chapters
- Mike Berhan, Paul Blais, Jake Brown, Jay Ice, Paul Matteucci
and some others that always give advice in IBMHW and CDVEN.
- the guys I forgot - not many, I hope
As stated above, this is based mostly on my actual knowledge
about SCSI. Of course, I got this information from some places.
Some of these I can remember and/or still use, are:
SCSI-2 spec (ANSI document X3.131-1994)
parts of the SCSI-3 drafts
various articles in c't, Byte and PC Magazine
Apple "Inside Macintosh" for the Mac connectors
Today i realized that the german-language MagnaMedia CIS forum
holds most internet faq's. So, i'll include what i find new in
the SCSI faq. -Gerhard, 15.9.94
TABLE OF CONTENTS
1. What is SCSI ?
1.1. SCSI-1
1.2. SCSI-2
1.2.1. Fast SCSI
1.2.2. Wide SCSI
1.3. SCSI-3
1.3.1. Fiber Channel
1.3.2. Serial Channel
2. Inside the Basics
2.1. ID's and LUNs
2.2. Termination
2.2.1. "Classic" Passive Termination
2.2.2. Active Termination
2.2.3. Forced Perfect Termination (FPT)
2.3. Connectors
2.4. Cables, Cable Lengths, Repeaters
2.5. Signal levels
2.6. Single-Ended and Differential SCSI
2.7. Synchronous and Asynchronous Transfers
2.8. Disconnect/Reconnect
2.9. SCSI or IDE/ATAPI ?
2.10. Speed Considerations
3. SCSI and PC's
3.1. Software Interfaces
3.1.1. ASPI
3.1.2. CAM
3.1.3. SDMS
3.1.4. LADDR
3.2. Host Adapters
3.2.1. BIOS
3.2.2. Bus Mastering
3.2.3. Caching Host Adapters
3.2.4. Sound Cards with SCSI
3.2.5. Disk-Only SCSI Host Adapters
3.2.6. ISA, EISA, VL and PCI
3.2.7. PCMCIA and Parallel-to-SCSI adapters
4. SCSI and Real Life ...
4.1. Installing a SCSI Host Adapter
4.2. Installing SCSI Devices
4.2.1. Setting Proper Termination
4.2.2. Finding out and setting the SCSI ID of a new device
4.3. What can be Wrong?
4.3.1. Cabling with "Standard" SCSI
4.3.2. Cabling with Fast SCSI
4.3.3. Termination and Termination Power
4.4. SCSI drivers on PCs
4.4.1. SCSI drivers for DOS
4.4.2. CAM drivers for DOS
4.4.3. SCSI drivers for OS/2
5. SCSI Driver Software (and where to find it)
5.1. Driver Packages
5.1.1. CDROM Drivers and Software
5.1.2. Scanner Drivers and Software
5.1.3. Removeable and Magneto-Optical Devices.
5.2. Some Small SCSI Tools
5.3. Tape Software ( Shareware Only)
5.4. Programming for SCSI
6. Some thoughts about SCSI devices (and other interfaces)
6.1. Hard disk drives
6.1.1. RAID drive arrays
6.2. Removeable disk and Magneto-Optical drives
6.3. CDROM drives
6.4. Jukeboxes and other media changer devices
6.5. Tape drives
6.6. Scanners
APPENDICES:
A. SCSI Connectors
A.1. 25 pin DB-25 SCSI Connector
A.2. 50 pin SCSI Connectors
A.3. 68 pin SCSI Connectors
A.4. 110 pin SCSI Connector ("L"-cable)
A.5. Other SCSI Connectors
B. Some Places to Obtain SCSI Information
Support BBS Numbers
C. Termination Diagrams
D. SCSI and QIC - Any Relations ?
1. What is SCSI ?
SCSI ( Small Computer System Interface ) is a general-purpose
parallel bus system. It originated from Shugart's 1979' SASI
(Shugart Associates System Interface) and Shugart and NCR
presented it to the ANSI in 1981.It beacme official in 1986,
when the ANSI-committee X3T9.2 defined the SCSI-1 spec as
document X3.131-1986.
Of course, "general-purpose parallel bus system" means all and
nothing. What helped SCSI to spread was its very high speed
(for this time) and - driver problems aside - its flexibility.
However, it was - and is - the disk and tape interface of choice
for Unix systems and that's where I first had contact with SCSI
- I changed from an MFM system with 2 * 80 MB disks and a QIC-02
tape controller (8 bit) to a SCSI system with a 380 MB disk and
a SCSI tape, both attached to one 16 Bit SCSI adapter - freed a
slot, one interrupt and was a _lot_ faster.
SCSI in all it's flavours is now an acknowledged and very well
standardized multipurpose interface. SCSI supports a wide
variety of devices which include hard disks, removeable disks,
magneto-optical devices, tape drives, printers, processors,
WORMs, CD-ROMs, scanners, medium-changers (jukeboxes), and
communication devices.
With PCs, the most common devices are hard disks, removeable
devices like MO, WORM, Syquest and Bernoulli disks, CDROMs,
tape drives and image scanners.
In the Macintosh world, where SCSI was included in all models
since the Mac Plus and expansion slots were not available on
some, there are even some SCSI-based video and network
adapters.
1.1. SCSI-1
SCSI-1 defined a universal 8 bit I/O-Bus that allows connection
of up to 8 devices including the so-called "host adapter". Every
device must have a unique ID in the range of 0 to 7. SCSI-1
was a high-speed bus system, compared to this time's
peripheral devices.
1.2. SCSI-2
SCSI-1 was the first approved standard and lacked some points
and some definitions. So SCSI-2 development and approval started
while SCSI-1 still wasn't officially approved. In 1986, when
SCSI-1 was officially approved, SCSI-2 already was in the works
until now, when on January 31, 1994, the draft in revision 10L
was approved by the ANSI Board of Standards Review.
The official SCSI-2 designation (doc. nr.) will be X3.131-1994.
As you might remember, most manufacturers used the term "SCSI-2"
from about 1988 in marketing. This isn't real approved SCSI-2,
of course, but mostly you can trust this, as the changes were
not big for "standard" devices. SCSI-2 merely entered a better
formal definition, removed some oddities and obsolete things,
added some extensions, and most importantly, added the ability
to double and even quadruple data transfer speed on the SCSI bus
with it's "Fast" SCSI and "Wide" SCSI options. Note the key word
- OPTIONS.
- The Type-1 connector (DB-50) was removed, high density SCSI-2
connector alternatives were added to the official options
- Synchronous Transfers became a standard feature, with optional
- Fast Synchronous Transfer Mode (Fast SCSI-2)
- Sync. Negotiation can be invoked by Initiator _and_ Target.
- 16Bit- and 32Bit-Wide SCSI became a defined option.
- SCSI bus parity changed from "optional" to "mandatory"
- Initiators now must provide terminator power
- Message support became mandatory
- Command Queueing became a defined option. For a device with
command queueing needs memory to reorder the commands,
this - with a little step further - introduced device caches,
that can be manipulated through the Mode Sense Pages.
- the Common Command Sets (CCS) for several device classes
became formally defined.
The only real possible problem I found with SCSI-2 compatibility
is, a lot of older host adapters - typically the SCSI initiator
- can't handle the SCSI-2 Sync. Negotiation when it's started by
the target. Both the host adapter and device can be easily
changed to prevent any problem here, and it's rare to begin
with.
1.2.1. Fast SCSI
With SCSI-2, Fast SCSI was defined as an option. Despite the
tendency of the market to define Fast-SCSI as "different, but
faster SCSI", Fast SCSI is only an additional synchronous data
transfer mode with tighter timing to achieve the 10MB/sec max.
data rate. As with any other synchronous transfer mode, only
data transfers are synchronous, the commands are transferred
asynchronous. Fast SCSI is _very_ picky with the SCSI cabling,
especially with round external cabling. Most external cables
doesn't support reliable Fast SCSI, the few that do are _very_
expensive. Fast SCSI is "not recommended" with passive
terminators. However, if you keep an eye on cable quality, I
found it working reliable on my system and most others I know.
1.2.2. Wide SCSI
Another SCSI-2 option is Wide SCSI. Two flavors are defined, 16
Bit and 32 Bit. Wide SCSI can be combined with Fast SCSI and so
can give up to 40 MB/sec data rate.
Every 8 bits have their own parity bit and also with every 8 bits
you have the possibility to address another 8 devices. For every
data bit line selects a device, with 16 Bit Wide SCSI, you can
address 16 devices, 32 Bit Wide SCSI has 32 possible ID's.
The X3T9.2 committee defined a 68-pin SCSI cable for 16Bit and
a combination of a standard 8Bit 'A' and a 68 pin 'B' cable for
16 Bit and 32 Bit Wide SCSI. However, there is a 110 pin
'L'-cable at least in discussion that will support 8, 16 and
32 Bit connections and should be standardized with SCSI-3.
1.3. SCSI-3
SCSI-3 is somewhat a revolution in the SCSI world - it defines
high speed _serial_ interfaces. At the moment, there seem to be
three of these serial interfaces in the works: Fiber Channel,
Fiber Channel Low cost and P1394.
On the software side, there seem to be only some small additions
for the command sets - a new command set for graphical devices,
a slight extension to the cache option and so on ... But still,
this may change ...
Many device suppliers are currently advertising their products
as SCSI-3 and this appears to be an attempt to make the consumer
think he is getting something "better" than SCSI-1 or -2.
All SCSI devices that support the Common Command Set can be run
with SCSI-1, -2, -3, and probably SCSI-4 some day. If you see
this being advertised, ask the suppier exactly how the device
is different with SCSI-3 implemented and/or supported. You'll
hear lots of Weasel Words, but no facts. The device just has
CCS support. Nothing to get excited about, and surely nothing
to pay extra for!
The Fiber channel and FC/LC should provide up to 100 MBits/sec
data throughput, where P1394, also called "FireWire", is defined
to give up to 200 MBits/sec. P1394 seems to have one advantage
over Fiber Channel - it's an "isochronous" transport layer, that
means, it delivers - and should guarantee - a continuous data
stream. This seems to be what the multimedia people pray for
- no missing parts in images and sounds.
There is also a new connector scheme called Single Connector
Attachment (SCA). SCA uses an 80-pin connector to provide all
neccessary signals for 8- and 16-bit SCSI devices, including
power connections, LED-control and so on. It's major advantage
is the possibility to use SCSI devices as a single plug-in
module without the need for an additional connector between
the bus and the device, as it's with today's cheap HD "drawers".
Although SCA devices should be on the market, I didn't see an
SCA device 'til now, so I think they'll take some time to show
up in PCs.
Also new in this game are SCAM, a SCSI auto-configuration
protocol, and Plug-and-Play-SCSI, the SCSI part of Plug-and-Play.
I'll dig inside this and then will add some chapters about...
2. Inside the Basics
2.1. ID's and LUNs
Every SCSI device need to have a unique ID on the bus. For this
reason, most devices have three ID jumpers to set the SCSI ID
from 0 to 7. In most cases, ID 7 is reserved for the host adapter.
ID 0 is for a boot device and is usually a hard drive. ID 1 is
normally used for a second hard drive, but this is not a require-
ment. Some host adapter BIOS' or software drivers will notify you
that the device for ID 0 is not a hard drive if another type of
device is using this ID. This is not an error, so don't be too
concerned with the message. ID 2 and up are normally used for
other devices with ID 2 being popular with CD ROM's. With the
exceptions of ID 0 and 7, there is no particular ID that *has*
to be assigned to any device type. Use what you want, the host
adapter will sort them out with ease.
Additionally, every ID can have up to seven sub-units identified
by a LUN (Logical Unit Number). Thus, you can address multiple
devices through one ID, like dual drives (Bernoulli did this on
their external Dual Bernoulli Boxes).
LUNs are mostly used in bridge controllers, that use the LUN-
subaddressing scheme to emulate a big disk drive with multiple
smaller disks. Up to eight disks could be combined to a big
disk drive, where the single drives are addressed by LUNs. A
special case of these bridge controllers are RAID controllers.
By using LUNs, theoretically you could attach 49 devices to one
bus cable (7 IDs * 7 LUNs, without ID 7 for the host adapter),
if you use all LUNs for specific devices. But LUNs are only very
seldom used in PC applications.
2.2. Termination
The SCSI bus needs to be "terminated". This means, both ends of
the bus must have a circuit of some sort to eliminate signal
reflections that would occur from the physical ends of the bus.
There are various circuit schemes of termination, the two most
popular are drawn below.
The termination circuit needs some power, and, to deliver this,
there is a line called TERMPWR or Termination Power on the bus.
Mostly, the TP source is the host adapter, for this reason you
can see fuses on most host adapters, mostly about 1.5 Amp types.
A more thorough diagram of the various termination
configurations is in App. C.
2.2.1. "Classic" Passive Termination
The "old" passive termination ("Alternative 1" in the SCSI-2
spec) came with SCSI-1 and simply was made of a 220 Ohms pull-up
and a 330 Ohms pull-down resistor per signal in a circuit like
this:
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD> Termination Power (TP) +5V
<20> <20>
<20><><EFBFBD>220 Ohms
<20> Signal
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20>
<20><><EFBFBD>
<20> <20>
<20><><EFBFBD>330 Ohms
<20>
<20> Ground 0V
<20><><EFBFBD>
This termination scheme works good, but it draws a lot of power
from the TP provider.
2.2.2. Active Termination
Active termination ("Alternative 2" in the SCSI-2 spec) consists
of a 110 Ohms resistor per signal pulled up to a 2.85 volts power
supply. Most SCSI-2 and all Fast SCSI-2 devices support this
termination type.
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TermPWR
<20>
<20> R3
<20> <20><><EFBFBD>\/\/\/<2F><><EFBFBD> -DB(0)
<20> <20> .
<20> . .
<20> Voltage Regulator . .
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ <20><><EFBFBD>\/\/\/<2F><><EFBFBD> .
<20><><EFBFBD>Ĵ 2.85 V <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ .
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>R1<52> <20> <20><><EFBFBD>\/\/\/<2F><><EFBFBD> .
<20> <20> <20> <20> <20>C2 <20>C3 <20> .
<20>C1 <20> <20><><EFBFBD> <20> <20> <20><><EFBFBD>\/\/\/<2F><><EFBFBD> .
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ <20> <20> <20> .
<20> <20><><EFBFBD> <20> <20> <20><><EFBFBD>\/\/\/<2F><><EFBFBD> -I/O
<20> <20> <20>R2<52> <20> R20
<20> <20><><EFBFBD> <20> <20>
<20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>
2.2.3. Forced Perfect Termination (FPT)
There is another Termination scheme out there, called FPT.
According to what I understand, it uses diode clamps to
two regulated voltages to eliminate under- and overshoot.
Clamp values should be at about 3.0 and 0.5 volts.
The clamping to two regulated voltages in the signal range
instead of clamping to TP and ground gives the diodes an
earlier switching point and thus enhances signal quality, as
the over- and undershoot elimination process begins earlier
in the signal.
From its concept, FPT should be even better than "normal"
active termination.
I have no real FPT circuit, as I have never seen a FPT terminator,
but the rough schematic below should be basically right.
TP <20><>ĿVoltage Regulator
<20><><EFBFBD><EFBFBD><EFBFBD>Ŀ
<20> VR1 <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
about <20> <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ + 3 V
3.6 V ?<3F><><EFBFBD>Ĵ VR2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -+-
<20> /_\ D1
<20> <20>
<20> pull-up <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/\/\/\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Signal
<20> resistor <20>
<20> -+-
<20> /_\ D2
<20> <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ <20>
<20><><EFBFBD>Ĵ VR3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + 1.2 V
2.3. SCSI Connectors
There are many different connectors for SCSI. Some of them were
defined with SCSI-1 and now obsolete, like the DB-50 connector.
The most common ones today are the 50-pin Centronics-type SCSI-1
connector, the 50-pin High Density SCSI-2 connector and the DB-25
connector Apple introduced on their Macintosh computers.
Most new host adapters and external devices use the SCSI-2 HD
connector and in this case you normally can trust that it's a
"real" SCSI-2 device.
The pinouts of the common connectors are shown in Appendix A.
2.4. Cables, Cable Lengths, Repeaters
Cable lenghts were defined up to 6 meters maximum in SCSI-1 for
a single-ended SCSI bus and up to 5 MHz data rate. So, the
variants
- "standard" asynchronous transfer (mostly up to 3.3 MBytes/sec)
-and-
- "standard" synchronous transfer (5 MBytes/sec)
can have up to these 6 meters _total_ cable length for the bus.
Keep this in mind, if you use long cables, and don't forget the
cable lengths for the internal device cables.
With Fast SCSI-2 the highest possible data rate doubled to 10MHz
in synchronous mode and - you might guess it - the cable length
was halved. So, if you use Fast SCSI-2 devices, your _maximal_
SCSI bus length is 3 meters.
SCSI-2 allows up to 10 cm cable "stub" length from the device
to the main bus cable. Sometimes this length is exceeded,
causing higher capacitive loading. Sometimes this even works,
for the maximal allowed stub length for any device-to-device
connection is 20 cm, but don't _expect_ that to work reliably
over 10 cm, especially with 10 MHz Fast SCSI-2 signalling.
A differential SCSI bus can use the full cable length up to 25
meters (approx. 82 feet) and keep the max. data rate of 10 MHz.
This is especially important with external devices, as most
external single-ended cables can't cope with 10 MHz.
All cables should have matching impedances - not easy (means
impossible) with flat and round cables on the same bus.
There are a lot of rules and rules-of-thumb for SCSI cables
that make a good external SCSI cable an _expensive_ cable.
The SCSI documents have lots of technical details about cabling.
For example, a three-layer wire-pair placement scheme with
defined impedance rules is recommended for external cables that
makes the cable not so easy (means expensive) to produce.
Therefore, there are a lot of external cables with too low
impedance in the 50 to 70 Ohms range instead of the recommended
90 to 110 Ohms.
In a few years of practice with SCSI, I saw a lot of errors and
faulty behaviour suddenly go away with a change to high-quality
cables.
Without trying to advertise - Amphenol seems to be one source of
high-end SCSI cables - at least Adaptec recommended them until
they started selling (very good !) cables themselves.
There are some "repeater" devices for SCSI that seem to work.
Basically, these are fast(!) bidirectional signal amplifiers
including termination for each side. Personally, i don't know
one, but iX, a german Unix magazine, mentioned a device called
"ACI-1074A" from a company called "Applied Concepts" - whoever
is this...
2.5. Signal levels
Single-Ended SCSI signal levels vary from 0V to +5.25V. All
signals are active low. True is a voltage level between 0 and
+0.8 V and false is a voltage between +2 and +5.25 V.
Differential SCSI signals conforms to the EIA RS-485 interface.
2.6. Single-Ended and Differential SCSI
There are two different electrical SCSI interfaces, Single-Ended
and Differential SCSI.
Single-Ended, "Standard" SCSI has (sic!) single ended TTL trans-
ceivers that allow up to 5 MHz data transfer rates with up to
6 meters cable length or up to 10 MHz data transfer (Fast SCSI)
with up to 3 meters cable length.
Differential SCSI has RS-485-style transceivers that allow up to
10 MHz data transfer rate, but with cable lengths up to 25 meters
and with much better S/N conditions.
Important is, Single-Ended and Differential devices are _not_
electrically compatible with each other. If you try to mix them,
you'll likely end up in destroying the Single-Ended devices on
the bus and - less probably - even the differential device(s).
2.7. Synchronous and Asynchronous Transfers
SCSI can use two handshaking modes, Asynchronous and Synchronous.
The main difference is, Asynchronous is basically a "classic"
REQ/ACK handshaking system for each data packet, where with
Synchronous, multiple REQ's can be issued before receiving ACK's,
thus giving a big performance plus.
2.8. SCSI Disconnect / Reconnect
Typically, not all SCSI commands can be processed immediately.
For example, rewinding a tape or scanning a page with an image
scanner can take a long time, as can seeking to a sector on a
CD-ROM or hard disk.
Such operations can tie up the CPU unnecessarily while waiting
for the device to complete the task. For these cases, SCSI has
a defined way for a device to disconnect from the SCSI bus, thus
freeing the SCSI bus for other SCSI transactions or at least
freeing the CPU from being tied to the SCSI bus waiting for the
operation to complete.
When the disconnected device completes this operation, it can
reconnect to the bus, causing a hardware interrupt.
When this interrupt occurs, bus control is returned back to that
SCSI operation, which then completes.
This SCSI "disconnect/reconnect" mechanism provides overlapped
I/O functionality, thus allowing multiple outstanding SCSI
requests with different devices to be processed at the same
time. Especially with devices with higher typical command times,
this is a very valuable SCSI feature.
2.9. SCSI or IDE/ATAPI ?
Much is talked about SCSI speed higher or lower than ESDI or
ATAPI. This discussion generally only covers disk drives, without
comparing the system in terms of performance or flexibility.
At work, over years I've tested a lot of disk drives with ATAPI
and SCSI versions against each other, and generally, you won't
find much difference in speed between the various interfaces,
as they all are fast enough to handle disk drives. Also, I've
seen a lot of comparisons where the contenders were choosen
accordingly to the opinion they should prove.
Personally, I find it of more interest that SCSI, as a universal
8-bit interface, without problems reaches the speed of a 16-bit
disk interface like ATAPI.
For both interfaces deliver similar speed, I believe the "SCSI
is faster/better" - "NO! ATAPI is faster/better" debate
completely misses the point.
If just a disk interface is needed for a desktop PC, IDE/ATAPI
is significantly cheaper, mainly for it's mass production and
the cheaper adapters.
If it comes to multiple devices as CDROM, tapes or scanners,
this changes. SCSI is _very_ flexible here, and today, drivers
are not the problem they were in the past. Also, the ongoing
SCSI integration in motherboards will drop SCSI cost.
So, the battle is still open <g>. Skip Lutz says the battle is
long over and the SCSI Warriors are running around stabbing the
wounded, so you decide which way it went. <VBG>
2.10. Speed considerations
A small maximal speed table for the SCSI transfer modes could
read like this:
Transfer type Bits Speed/Data rate
Asynchronous 8 3.3 MBytes/sec
Synchronous 8 5.0 MBytes/sec
Fast Synchronous 8 10.0 MBytes/sec
Wide Synchronous 16 10.0 MBytes/sec
Fast Wide Synchronous 16 20.0 MBytes/sec
Wide Synchronous 32 20.0 MBytes/sec
Fast Wide Synchronous 32 40.0 MBytes/sec
When reading things like "data rate buffer-to-bus 10 MB/sec"
with SCSI devices, keep in mind that this doesn't mean the real
sustained data rate your hard disk or CDROM can deliver - it's
just the speed the device can post its cache contents to the
SCSI bus. With hard disks, you will mostly find statements like
"internal data rate 30-47 MBit/s", what would mean in this
example, the disk drive could transfer 5,875 MBytes/sec raw data
internal. But this value cannot be reached - you'll loose some
speed due to the disk architecture: If you have a disk drive with
60 sectors per track and 5400 rpm, the value could be not better
than: ( sectors * bytes/sector * rpm ) / seconds per minute,
(60 * 512 * 5400) / 60 = 2,765 MBytes/sec
Add to this some command overhead, head movement times and so on,
then you get an impression, how realistic these values are ...
Another good example are CDROM drives - my Toshiba 3401 has
330 kB/sec sustained data rate, but its burst data rate can go
up to 4.2 MB/sec in synchronous mode.
3. SCSI and PC's
PC-specific SCSI standards include mostly software depending on
the operating system. However, if you choose SCSI for your PC,
think about your needs before buying a SCSI host adapter.
3.1. Software Interfaces
Besides various vendor-specific implementations like, for
example, Bernoullis OAD (Open Architecture Drivers) there are
a few vendor-independent standards:
- ASPI for DOS, OS/2 and Netware
- CAM/SCAM for DOS (and OS/2 ?)
- LADDR for OS/2 1.x
3.1.1. ASPI
ASPI stands for Advanced SCSI Programming Interface. Mainly, it
originated at Adaptec and was soon adopted by major companies.
ASPI provides a communication layer to the SCSI adapter and the
devices without the need to know about the host adapter - all
communication is made to the ASPI interface. So, basically the
host adapter manufacturer writes an ASPI driver for his host
adapter and he's in business without the need of writing a new
CDROM driver, a disk driver and so on.
Most actual tape backup software needs ASPI as a communication
layer or - at least - support it.
ASPI generally exists for DOS, OS/2 and NetWare. Also, Adaptec
supplies ASPI for Windows with their host adapters, and ASPI for
Win32 should follow soon. I could see ASPI for Windows support
only with Adaptec controllers, but other manufacturers should
(hopefully) follow soon. What's missing (imho) is an ASPI layer
for Unix... But this seems not so easy with Unix's kernel/driver
concept.
3.1.2. CAM
CAM is the "official" ANSI software interface for SCSI devices.
I'm not absolutely sure if it's a draft or a standard yet.
However, it seems to be used only by NCR and Future Domain with
their SCSI host adapters, and at least FD supplies an additional
ASPI-over-CAM driver with their boards.
3.1.3. SDMS
NCR now calls its CAM drivers NCR SCSI Device Management System
(SDMS). SDMS is based on a standard SCSI BIOS, that can be ROM-
(bootable) or RAM-based (non-bootable) to address the host
adapter hardware. The SCSI drivers link to this BIOS. Generally,
a SDMS driver is completely hardware-independant. One special
case with SDMS is that NCR also offers so-called "concatenated"
SCSI device drivers, where a SCSI-chip specific SCSI BIOS is
appended to the driver code.
See also - CAM drivers for DOS
3.1.4. LADDR
LADDR was Microsoft and IBM's (and others like Adaptec and
Compaq...) approach to embed a disk driver and SCSI interface
into OS/2 1.2 and 1.3. For OS/2 1.x's small market share and
LADDR's limitation to a single OS, it didn't get bigger
acceptance and ha been replaced by direct SCSI support
beginning with OS/2, version 2.0.
The concept wasn't bad, however. LADDR (LAyered Device DRiver)
support was built in OS/2 1.3 (and it was possible to integrate
it in 1.2).
A concept diagram would look like this:
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
<20> OS/2 File System <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD>Ŀ <20><><EFBFBD>Ŀ <20><><EFBFBD>Ŀ
<20> <20> <20> <20> <20> <20>
<20>TSD<53>-<2D>VSD<53>-<2D>BID<49>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
<20> <20> <20> <20> <20> <20> <20>
<20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>
<20> <20> <20> <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
<20> IOS <20> <20> <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ <20>Host Adapter <20>
<20> OS/2 LADDR <20> <20> <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Module types were:
BID - Bus Interface Driver, the host adapter specific driver
VSD - Vendor Specific Driver, drivers to modify or enhance the
operation of specific peripherals. VSD's were used to add
features or correct incompatibilities with devices.
TSD - Type Specific Driver, the driver for a specific type of
peripheral, for example CDROM drives
The drivers were:
- BASEDD01.SYS, IOS12.sys, IOCONFIG.SYS, all from Microsoft, for
implementing LADDR.
- a host adapter .BID file, for example WD7000AX.BID. Some of
these came with OS/2, otherwise were available from the host
adapter vendors.
- STDDISK.VSD and DISK.TSD, both from Microsoft, for disk
integration.
- CDROM.VSD, CDROM.TSD and CDROM.FSD, all from Microsoft, for
CDROM operation.
- correct .VSD and .TSD modules for addressing tape devices or
other SCSI devices.
If you look at the actual driver concept in OS/2 2.x, you will
see that isn't much difference - mostly just the names changed.
3.2. Host Adapters - Variants and Terminology
There are some flavors of SCSI host adapters; with and without
BIOS, with or without cache, ISA 8 Bit or 16 Bit, EISA, VL and
PCI bus interfaces, SCSI-IDE combo adapters, standalone or
integrated with sound cards, disk-only adapters, and, and ....
Let's try to bring some light in here ...
3.2.1. BIOS: If you want to boot from a SCSI device, you need a SCSI
BIOS, that handles the boot process, for a standard PC BIOS
doesn't know anything about SCSI. This BIOS handles the interface
between SCSI's Logical Block addressing scheme and the PC's
Cylinder/Head/Sector scheme.
3.2.2. Bus mastering: Some PC host adapters use "DMA Bus mastering" to
achieve higher data rates from the SCSI host adapter's buffer to
system memory. Bus mastering is a method to move data over the
system bus by bypassing the CPU and giving control over the bus
to the peripheral controller, so that the bus can be used up to
its maximal data rate without the CPU overhead of a 'normal' I/O
transfer. On ISA PCs, don't forget that ISA doesn't have logic
to prevent concurrent bus master accesses, so having - for
example - an Adaptec 1542 and a busmastering network adapter
like the NE2100 will give you sudden lockups and other trouble.
Also, remember that an ISA card can "see" only 16MB RAM on the
bus, so, with a busmastering ISA adapter and more than 16MB
RAM, you also may have trouble. All this are additional points
for EISA, VL and PCI bus systems.
3.2.3. Cache host adapters: a hardware cache is a good method to speed
up the disk interface. However, you should define if your
environment can benefit from a hardware cache _before_ buying it.
The pro-cache and the anti-cache societies fight "holy" wars
about cacheing, so please allow me to clarify that the following
is my _personal_ opinion on this theme:
A cache controller is a good investment for multitasking environ-
ments like Unix and especially Network servers. With DOS, it's
generally better to spend the money for main RAM than for cache
RAM and use a software cache.
My personal experiences are: DPT 2012 and AMI EISA SCSI adapters
in Novell and NFS Servers brought _big_ performance gains,
especially with heavy-loaded servers.
In DOS systems, a performance gain was visible, but it didn't
equalize the price tag, especially with the expensive EISA cache
controllers. However, this may differ with different cache
controllers, as the possible performance gain is strongly
dependent on the cache algorithm.
3.2.4. Sound cards with SCSI: There are basically two types of them:
one has a full-fledged SCSI adapter integrated on the PCB,
without any difference to a standard SCSI host adapter without
BIOS. One example for this type is the SoundBlaster 16/SCSI,
with an Adaptec SCSI chip on the board. The other variant I know
about is the ProAudio Spectrum with a SCSI interface, that's
"embedded" into the sound card ports.
The PAS type is limited in speed, but not in SCSI functionality.
If you get standard drivers for them, they all give you full
SCSI capabilities, but you can't boot from them. If you want to
boot from a SCSI disk, you need a full-fledged SCSI adapter with
BIOS. New in the market is Adaptec's SCSI Audio Machine AMM 1570.
It combines a sound card and a full-featured host adapter with
SCSI BIOS. Its sound part implements General MIDI, but i wasn't
impressed by its sound quality compared with my PAS and
especially the TurtleBeach. The SCSI part seems a bit slow
compared with a standard SCSI adapter and i don't like that it
has jumpers. To me, it seems a bit too expensive with a list
price of about $500 here in Germany.
However, it's a full-featured and bootable SCSI host adapter
and sound board in one package. For the idea seems good, it
should get competitors soon.
3.2.5. Disk-only SCSI host adapters: Mostly the Seagate ST-01 and ST-02.
These adapters had their time when SCSI was a new disk interface.
As they could be used only for disks and didn't have standard
drivers for ASPI or CAM, they soon became obsolete.
3.2.6. ISA, EISA, VL and PCI: clearly the PC bus affect system
performance. As for example the Adaptec 1542 supports DMA bus
mastering speeds up to 10 MByte/sec, it would be fast enough
for Fast SCSI-2. However, most ISA designs support only 5MB/sec
DMA speed, so the ISA bus is a bottleneck with fast SCSI devices.
EISA busmasters can transfer up to 33MBytes/sec over the bus, so
in this case you really can benefit from faster devices, as the
bottleneck is the device or the SCSI bus here.
The same is true for VL and PCI SCSI host adapters. Also, if
you want to have more than 16MB of RAM, you bypass some
potential problems with the more advanced bus systems. (see
also 3.2.2. - Bus mastering)
PCI boards have a speciality: Normally the SCSI BIOS is part of
the SCSI adapter, but there are PCI boards with SDMS (NCR SCSI
Device Management System) support in the BIOS, but without SCSI
chip. So, for these boards, you can get cheap PCI SCSI adapters
without BIOS, only with the NCR 53C810 chip on it, but never-
theless bootable from a SCSI disk. So, with a PCI board, the
best choice is one with the SCSI chip on it.
3.2.7. PCMCIA and Parallel-to-SCSI adapters: I have very limited
experience with both of these; Personally I use a Trantor
T348, at the office there are some different parallel-to-SCSI
devices. All of them work and all share the same experiences.
My Trantor T348 seems to be a stable and - if the parallel
port allows it - fast SCSI interface. A friend of mine uses
this T348 for backing up his notebook to a DAT tape and this
works without flaws.
However, the T348 and its pre- and successors T338 and T358
(an EPP variant of the T348) need a SCSI device that provides
termination power, as they draw their operating current from
the SCSI bus. This may give you problems, as normally I disable
termination power on my external devices, for only one device
on the bus (normally the host adapter) should provide TP.
Keeping this in mind and acting accordingly, Parallel-to-SCSI
adapters seem to be a possible solution for attaching SCSI
devices to a system without a SCSI adapter, but they are limited
in speed, especially with parallel ports that work only uni-
directional.
PCMCIA - I never used a PCMCIA SCSI adapter, so I can't comment
on them. However, with the full PCMCIA driver set on my Toshiba
needing about 130 kB of memory, plus the SCSI drivers, I can't
take PCMCIA too serious with DOS, especially when working with
SCSI or network drivers. OS/2 should solve this problem, though,
as memory isn't a primary concern there.
4. SCSI and the real Life ...
In real life, theory is just a list of things that shouldn't
happen <g>.
So, let's collect some experiences and comment about them ...
4.1. Installing a SCSI host adapter
Basically, a SCSI host adapter is a standard PC board, regardless
of the bus system used. As an example, let's follow my standard
installation of an Adaptec 1542CF:
First, look at the default values of the board and verify that
it doesn't collide with other devices in your PC.
Of course, you may have some other device in your PC that will
bring you problems later, but first we just want to see if there
is some obvious reason why it wouldn't work. So, control the
I/O-address range, the IRQ(s), DMA channel, and the BIOS address
for conflicts. Also, if you use a memory manager, exclude the
chosen BIOS address space from its memory pool.
If you have chosen all resources, enter them in your list of
ressources. If you don't have one for your PC, it's a good idea
to start one now.
If all is ok, install the host adapter in the PC and turn it on
again. If you didn't deinstall the BIOS, you will see a BIOS boot
message like:
Adaptec AHA-1540CF/1542CF BIOS 2.01s
(c) 1993 Adaptec, Inc. All Rights reserved
 Press <Ctrl><A> for  SCSISelect(TM)  Utility! 
Target #0 - DEC DSP3085S-B SD16 - Drive C: (80h)
Target #1 - QUANTUM LP425S 606_ - Drive D: (81h)
The boot-up message will list all devices that are on the SCSI
bus and turned on. Also, it will show you if any of them are
disks that are supported by the BIOS.
Now, it's the best time to start any test programs that are in
the BIOS. With the 1542CF, there is a DMA transfer test program
you can use to test the maximal DMA speed your motherboard can
safely use.
So, press <Ctrl><A> if the BIOS tells you to do so, select the
host adapter's base address (normally it will be preset) and
press the <Enter> key.
Select "Host Adapter Diagnostics" and press Enter. If the test
runs for some time without problems (i normally use 3 passes),
you see that the DMA speed is on the safe side.
Now, turn off the PC and install the SCSI device(s). If you have
more than one internal device,
- set up a unique SCSI ID ( _not_ 7 ) on each of the devices and
- select one of these devices to be at the end of the cable.
Make sure that the choosen device has its termination enabled and
disable termination on all other devices. Termination is either
enabled through one or more jumpers, or simply by installing or
removing some resistor packs on the device's PCB. Now, attach the
SCSI cable to the host adapter and to the last device. Don't
forget the device's power connector.
Turn the PC on and watch if the SCSI device is being recognized
by the host adapter. If yes, ok, turn off the PC and install the
next device. Watch for the recognition again and install .......
If all devices are recognized, install the EZSCSI driver package.
From this point on, you should be up and running.
If you did deinstall the BIOS, or if it's a simple host adapter
without BIOS, you will not see any reaction until you install the
drivers.
Of course, in real life, you will install all devices at once
and in most cases all will work ok. The above is just the correct
way I tell the new technicians <g>.
4.2. Installing SCSI devices.
4.2.1. Setting proper termination
Remember - the basic rule is: Termination on both ends of the
SCSI chain. So, if you want to install the new device as the
last device on one of the sides of the _complete_ cable, you
need to enable termination on it. If it replaces another device
that was at the end of the cable before and now is installed on
another connector on the bus, you also have to disable the
termination on this device.
If you install an external SCSI device, but you had only
internal devices so far, you also have to disable your host
adapter's termination. This might be done by software, as with
the newer Adaptecs, or by removing the (mostly three) terminator
packs near the host adapter's SCSI connector, or by setting a
jumper on the host adapter. Clearly, the same occurs, if you get
your first internal device and had external devices before.
4.2.2. Finding out and setting the SCSI ID of the new device
First you have to find out a free SCSI ID. The best method for
this is simple - look at your host adapters bootup message and
look for free IDs.
Adaptec AHA-1540CF/1542CF BIOS 2.01s
(c) 1993 Adaptec, Inc. All Rights reserved
 Press <Ctrl><A> for  SCSISelect(TM)  Utility! 
Target #0 - DEC DSP3085S-B SD16 - Drive C: (80h)
Target #1 - QUANTUM LP425S 606_ - Drive D: (81h)
Target #3 - TOSHIBA CD-ROM XM-3301T
Target #4 - SDI LASERSTOR E5
In this example, IDs 2, 5 and 6 are free for new devices. You
can't use ID 7, as this is the host adapter.
On internal devices, the ID is normally set by three jumpers in
a 4-2-1 configuration. The sum of the jumper values counts for
the ID. So, if you want a hard disk at ID 0, remove all three
ID jumpers, if they are set. For ID 1, jou must set the jumper
with value 1, mostly called ID0, where the "2" jumper is called
ID1 and the "4" jumper is called ID2.
If you play with Wide SCSI, you will have 4 (8-4-2-1) or even
5 (16-8-4-2-1) jumpers for ID selection.
4.3. What can be wrong?
Basically - all <g>. However, if I should make a list about
problems I found or had at various offices and systems, there
are some all-time highs and standard cases:
- unstable termination, passive termination with Fast-SCSI,
very rare: active termination with old SCSI devices.
- wrong termination (too much devices terminated or SCSI bus
ends not terminated correctly)
- self-made short flat ribbon cables with bad contacts
- using Fast-SCSI with cheap external round cables
- too long cables, especially with adding Fast SCSI
devices to an existing, stable SCSI system
- setting the new device to a used ID
- using a SCSI adapter that doesn't provide term. power
(or disabled) and having no device set to provide it.
4.3.1. Cabling with "Standard" SCSI
SCSI-1 and "Standard" SCSI-2 normally isn't very picky with
its cabling. However, there are a few traps you could stumble
in...
The mixing of flat and round cables gives impedance changes
that could lead into problems. Normally, you will use flat
cable or twisted pair flat cable inside and round cables for
external cabling. This normally works. Some times, when we
tested different configurations, adding another "quick and
dirty" flat cable to the external chain, it didn't work ...
changing the flat cable to be the first cable after the
controller sometimes did the trick.
However, SCSI cabling is a sensitive thing, so, if I encounter
strange problems, I look for correct termination first and for
the cables directly after this.
I've got some configurations outside that worked only after we
changed the _complete_ cabling to flat cable.
If you buy external cables, you will see that 30 cm is the
_minimal_ length you can buy - if you can find these cables.
4.3.2. Cabling with Fast SCSI
Other that SCSI-1, Fast SCSI is _very_ picky with its cables.
If you buy a system from a "better" vendor, you will often see
twisted-pair signal cables also for the internal cabling. This
makes much sense, as the signal/noise ratio is better with this.
With Fast SCSI, the allowed SCSI bus length drops to 3 meters
including the internal cables. Keep this in mind if you install
Fast-SCSI devices, or, if you have the choice, select a Twin-
channel SCSI host adapter like, for example, Adaptec's 2742T
instead of the standard 2742.
4.3.3. Termination and Termination Power
The termination basic rule is simple - both ends of the SCSI
chain. However, i had some cases whereIi got a system up and
running only if I apply Termination on both ends _and_ on the
host adapter.
I have such a setup in my home system - HD, tape and CDROM
internal, the internal end terminated with an active terminator,
the 1542CF terminated (active), MO and scanner external and
terminated with an active terminator, high-end cables, 2 meters
all in all, only the 1542CF supplies termination power - all
perfect. But when I turn off the host adapter's termination,
_nothing_ works!
So, don't be scared if a setup works that shouldn't - I verify
it again and if it works, try to live with it.
PS: last week (september '94) this suddenly changed - no device
or cable was changed, but the system suddenly refused to boot
and i had to disable the adapter's termination - now the
termination scheme is correct, but i don't know why it didn't
work before ..... -Gerhard
4.4. SCSI drivers on PCs
If you attach only hard disks to a SCSI adapter, you mostly
won't need to install drivers, as hard disks are managed by
the BIOS, except in some special cases.
However, to access SCSI devices other than hard disks, you
need some drivers. What drivers you need, depends on your host
adapter, your operating system, your driver package and your
devices. However, with any software interface there are some
generic rules:
- You need a hardware-specific part, that talks to your host
adapter's SCSI chip.
- Based on this hardware-specific part, there are some device-
specific parts, that sit on the hardware-driver to talk to
their supported devices.
- On this device-dependant drivers, there _could_ be some
application-specific parts.
4.4.1. ASPI drivers for DOS
With ASPI, in first place you need an ASPI manager for your
host adapter. This driver is the hardware dependant part of
your driver package. For example, with an Adaptec 154x adapter
in your PC, you will need to install ASPI4DOS.SYS. With a DPT
SCSI host adapter, it would be DPTDDL.SYS, with a QLOGIC host
adapter it would be QLASPI.SYS and so on ...
After this driver is installed, the ASPI interface can be used
by all sort of device drivers. For example, to address a CDROM
drive, you could use Adaptec's ASPICD.SYS or Trantor's TSLCD.SYS
(only the ASPI-based version from SCSIWorks!). You could use
ASPIDISK.SYS to address removeable devices (Bernoullis, MO's ...)
or hard disks, if your SCSI BIOS doesn't support them or isn't
installed. Let's look at my DOS config.sys file to see some of
these drivers:
Don't mind the parameters that I don't explain at the moment.
They're specific to my setup or hardware. Also, the path
C:\DOS\SCSI is the path i installed the drivers on my system.
The values in brackets on the right side of the DEVICE=.. lines
are the memory consumption of these drivers on my main system.
DEVICE=C:\DOS\SCSI\ASPI4DOS.SYS /D [ 8 kB]
This is the ASPI manager for my Adaptec 1542CF. It does
basically nothing but providing the ASPI interface. The
/D-parameter gives some additional information at startup.
DEVICE=C:\DOS\SCSI\ASPIDISK.SYS /D /R1 [ 5 kB]
This driver supports removeable-media devices like my
Bernoulli 90Pro removeable disk and the Maxoptix Tahiti
Magneto-Optical drive.
DEVICE=C:\DOS\SCSI\aspicd.SYS /D:ASPICD0 [12 kB]
ASPICD.SYS is the device driver for a SCSI CDROM drive.
The /D:ASPICD0 parameter installs the CDROM driver with
the device name "ASPICD0". This _exact_ name is needed
later for MSCDEX.EXE in Autoexec.bat.
The same parameters could be used with other CDROM
drivers, for example Toshiba's MDSCD_AS.SYS or
Trantor's TSLCDR.SYS.
DEVICE=C:\DOS\SCSI\EPSN.SYS 3 /i79 /S6 [ 3 kB]
EPSN.SYS is the driver to address my EPSON scanner.
A HP Scanjet II series scanner could be similar
supported with a line like DEVICE=C:\DOS\SCSI\SJIIX.SYS.
The CDROM driver needs an additional part in DOS's Autoexec.bat
file, MSCDEX.EXE, to enable access to the CDROM's filesystem
to DOS. The corresponding line in Autoexec.bat is:
C:\DOS\MSCDEX.EXE /D:ASPICD0 /L:T /M:0 [23 kB]
This line installs the CDROM Extension and needs _exact_ the
same drivername after the /D: parameter that you used with the
CDROM driver in Config.sys. /L:T tells MSCDEX to install the
CDROM on drive letter T:, /M:0 means no buffers are set up, for
i use DOS 6.2's SMARTDRV cache also on my CDROM.
4.4.2. CAM drivers for DOS
The driver scheme for CAM is very similar to ASPI: a CAM shell
driver as first driver, then various possible drivers: a CDROM
driver, a driver for removeable disks and hard disks that are
not supported by the BIOS and other specific drivers.
Although standardized, CAM seems to exist in various flavours.
With NCR, you normally get a CAM driver, a DISKIDD.SYS driver
for removeable media and one generic ore some device-specific
CDROM drivers. With a 53C9x chip-based adapter for example, you
probably would have CAMC9X.SYS, CDROM.SYS and DISKIDD.SYS.
With the 53C7xx and 53C8xx chips, the drivers changed slightly.
With them, (at least i think so!) NCR introduced SDMS, their
SCSI Device Management System. The SDMS kernel is mostly in the
host adapter's or PC's BIOS, the CAM drivers are only needed
if you want to use CAM or ASPI for attaching other devices.
Now there are DOSCAM.SYS and MINICAM.SYS, ASPICAM.SYS, CDROM.SYS
and SCSIDISK.SYS. According to NCR's driver text files, the main
difference between DOSCAM.SYS and MINICAM.SYS is that DOSCAM
supports synchronous transfers, Tagged command queuing, SCSI
Disconnect/Reconnect and multithreading, where MINICAM.SYS
doesn't support these "advanced" SCSI functions.
A typical set of Config.sys entries for NCR-based host adapters
could look like the following:
DEVICE=C:\DOSCAM.SYS .......
the CAM 3.0 base driver
DEVICE=C:\ASPICAM.SYS
NCR's ASPI shell over CAM. After loading this driver,
you can use all CAM or ASPI-based applications.
DEVICE=C:\SCSIDISK.SYS .......
NCR's disk driver for removeable drives or drives with
sector sizes other than 512 bytes. Also needed if you
want to address more than seven SCSI drives with DOS 5+.
DEVICE=C:\CDROM.SYS .......
The generic CDROM driver. Its syntax is exactly as
described above with ASPICD.SYS.
4.4.3. SCSI drivers for OS/2
With OS/2 2.0, things went easier. The only host adapter
specific part is the .ADD driver. SCSI, ASPI and CDROM support
are standard with OS/2 2.x.
The following excerpt is from my OS/2 config.sys:
BASEDEV=OS2DASD.DMD
This is OS/2's hard disk driver
DEVICE=C:\OS2\OS2CDROM.DMD /Q
IFS=C:\OS2\CDFS.IFS /Q
These two entries install CDROM support and the CDROM
file system.
BASEDEV=xxxxxx.FLT
If neccessary, you can install the appropriate .FLT
file here for your CD-ROM drive, i.e. Hitachi.FLT.
BASEDEV=OS2SCSI.DMD
This is the generic SCSI support driver.
BASEDEV=AHA154X.ADD /v
This is the host adapter driver, in this case the
.ADD module for my Adaptec 1542CF. The /v parameter
gives some informatio about the attached devices at
startup.
BASEDEV=OS2ASPI.DMD /all
This is the OS/2 ASPI driver. The parameter /all is
specific to Adaptec's VASPI driver set i use and
doesn't apply on the standard OS2ASPI.DMD.
DEVICE=C:\OS2\MDOS\VASPI.SYS
This is the virtual ASPI driver for the DOS-VDM's. This
is also part of Adaptec's Virtual ASPI implementation.
DEVICE=C:\OS2\OPTICAL.SYS
This is IBM's driver for Magneto-Optical drives.
Officially it is designed for 128 MB 3<>" drives, but
it also works with other MO's like my Maxoptix Tahiti.
In the meantime there are some Shareware and PD extensions to
OS/2 SCSI. One of these is Andreas Kaiser's ASPITAPE/SCSITAPE
driver package with GNU TAR. The two entries here support tape
backup to SCSI tapes under OS/2.
set TAPE=+++TAPE$2
basedev=scsitape.dmd TAPE$2 2 S1
If you get a new SCSI .ADD driver, you need to install it in
OS/2's CONFIG.SYS file. There are two possible ways to install
the driver. Either you install the driver via OS/2's "Selective
Install" command - you'll need a matching .DDP file for the
driver -, or you include it into Config.sys manually. See your
OS/2 documentation or the driver's readme file for better
information.
5. SCSI driver software (and where to find it)
Some thoughts about SCSI utilities and software here....
Most driver packages come with disk formatting utilities and
some other stuff. However, there are some other packages and
general utilities.
5.1. Driver packages
The best known SCSI driver packages (at least for me) are Corel
SCSI, Adaptec's EZSCSI, Trantor's SCSIWorks and Future Domain's
PowerSCSI!. Of course, there are many others I can't mention -
I simply don't know about them.
Most versions of these packages I've seen all include various
ASPI or CAM and ASPI drivers, additional drivers like CDROM
and hard disk drivers and some basic utilities like low level
formatter and partition manager.
Lately the vendors tend to add some value to the packages:
EZSCSI 3.0, for example, bundles the drivers with Windows ASPI
driver and DLL, a PhotoCD viewer, various help files and a tape
backup program, CD players and a SCSI interrogator. Also, a HP
scanner driver for the SJIIx series is included, although this
seem to be a bit unstable with the actual ASPI driver versions.
So, it seems to be worth a try to use the ASPI driver from
EZSCSI 2.03 when using a HP scanner with these adapters.
Corel SCSI, a more hardware-independent approach, can "sit" on
the vendor's ASPI driver (it supplies a lot of these, also for
manufacturers that don't have ASPI drivers of their own) to
give support for CDROM, scanners, disks, tapes and nearly
whatever devices are there...
Even CDROM burners and SCSI printers have some support.
The last version of SCSIWorks! i've seen also has a HP scanner
driver and includes TapeMate II, a relative good tape backup
program for DOS.
Future Domain's PowerSCSI! contains CAM drivers for their host
adapters, a CDROM driver and CD-Audio tool, a disk formatter and
a SCSI device analyzer - nice tool if you have a FD adapter.
There is also a $40 shareware SCSI driver package called MSDRVR
from a japanese company called "Micro Staff" with ASPI-based
disk, MO and CDROM drivers on CompuServe. I didn't try it, but
it may be worth a look (MSDRVR.ZIP, IBMHW forum).
If you look specifically for NCR's 53c8xx drivers, the german
c't BBS at ++49-511-5352301 is worth a look. c't has a deal with
NCR and major motherboard manufacturers like Asus, J-Bond and
Gigabyte to have the latest drivers and Flash BIOS versions on
their BBS for download. I don't know if it's allowed to upload
these drivers to CIS or other BBS, but i didn't find an explicit
"NO" in my log files.
5.1.1 CDROM drivers and software
There are different SCSI CDROM drivers. Some of these use a
standard interface like ASPI or CAM as a base and some directly
address the hardware. When looking for a CDROM driver, keep in
mind that it not only must support your drive, but also your
host adapter or your SCSI driver interface. So, for example,
there are some flavours of Trantor's TSLCDR.SYS. Some of them
work over ASPI, but most of these supplied with sound cards are
dedicated to the sound board's hardware. The same happens with
some other CDROM drivers.
The drivers I know personally are ASPICD.SYS from Adaptec,
Trantor's TSLCDR.SYS (ASPI and hardware-specific types) and
Toshiba's MDSCD_AS.SYS. All of these work with my Toshiba 3301
and 3401 drives, just that MDSCD_AS.SYS locks up when a multi-
session PhotoCD is in the drive on startup.
There are some packages out there to read digital audio data
from the drive. CorelSCSI 2.0 includes two such programs for
DOS and Windows. Also, there is Jim McLaughlin's CDDA 1.0 and
CTCDREAD from c't, a german magazine. According to CDDA's doc,
a few others exist on the internet - however, i know none of
them. CDDA 1.0 works with various Apple, Chinon, NEC, Sony and
Toshiba drives. Also, it has a MSCDEX-only mode that may work
on other, also non-SCSI drives.
5.1.2. Scanner drivers and software
A lot of SCSI scanners that come with dedicated SCSI adapters
also have "standard" drivers to attach the scanner to another
SCSI host adapter and address it over ASPI or CAM interfaces.
For the HP Scanjet IIxx series, this driver is called SJIIX.SYS.
My own Epson GT-6500 works flawlessly over ASPI with EPSON.SYS.
If you don't have a generic SCSI driver for your scanner, ask
your dealer about it and/or look in the vendor's forum or the
Graphic support (GRAPHSUP) forum on CompuServe. Also, there are
some drivers in forum sections of OEMs like Vobis (This german
stores have OEM models of some Microtek and Mustek scanners and
so keep the drivers in their forum)
If you don't find anything, Corel SCSI 2.0 is worth a look.
The Corel guys support a lot of different scanners with their
generic TWAIN-over-ASPI support.
5.1.3. Removeable and Magneto-optical devices.
There seem to be basically three types of removeable disks in
the market: magneto-optical drives, Bernoulli and Syquest disks.
I don't have access to a Syquest, but I use my Bernoulli and a
MO drive with ASPIDISK.SYS under DOS. With OS/2, there is a
driver for Magnetoopticals (OPTICAL.SYS), and the Bernoulli
is supported as a very big floppy disk with the standard drivers.
IOMega's OS/2 drivers work by bypassing OS/2's driver concept
with IOMega's own (slow) SCSI adapters, so I never tested them.
Generally, if possible, I try to use standard drivers, not the
vendor-specific ones, for I get better compatibility with the
"standard" ones.
5.2. some small SCSI tools
Over times, I collected various SCSI tools that came with host
adapters or as a support aid from vendors. There are some useful
utilities that might save you time. So, here a list of some of
these niceties:
NCR's GANGCOPY.EXE copies complete SCSI disks that are attached
to a NCR CAM-compliant host adapter. It can be very useful for
dealers or support staff with big standard configurations - copy
the master and then mount the copy into the new PC.
HP's SCSI driver pack for the Scanjet II scanners has a tool
called FindSCSI.EXE. It scans for ASPI and CAM drivers, then
displays the attached devices like this:
ADAPTEC AHA-1x4x is ASPI Host adapter 0.
QUANTUM PD425S at Address 0, Stat 0.
DEC DSP3085S-B at Address 1, Stat 0.
TANDBERG TDC 3600 at Address 2, Stat 0.
TOSHIBA CD-ROM XM-33 at Address 3, Stat 0.
SDI LaserStor at Address 4, Stat 0.
CAM manager is NOT present
Also, Conner supplies ASPIINFO.EXE with their SCSI backup
software. It uses only ASPI, but displays more information.
I think that I saw ASPIINFO originally on CIS, so it may be
freely available.
Also, there is a tool called SHOWSCSI that started as a demo
program for the c't ASPI library. It is basically a small clone
of Adaptec's Windows-based SHOWSCSI program. Output is like:
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ
<20> Host Adapter #0 <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ
<20> Host Adapter SCSI_ID: #7 <20>
<20> ASPI-Manager : DOS SCSIMGR 3.3 <20>
<20> Host Adapter ID : ADAPTEC AHA-1x4x <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
<20> Host Adapter #0 - SCSI ID 0 - LUN 0: Disk Device <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ
<20> Device Information <20> Miscellaneous <20>
<20> Vendor ID : QUANTUM <20> Device Type : SCSI-2 <20>
<20> Product ID : PD425S <20> Capacity : 406 MByte <20>
<20> Revision : 606_ <20> Bytes/Sector: 512 Byte <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ
<20> SCSI-Features <20>
<20> [<5B>] Synchronous Mode [ ] WIDE SCSI (16-bit) <20>
<20> [<5B>] SCSI Linking [ ] WIDE SCSI (32-bit) <20>
<20> [ ] Command Queuing <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
<20> Host Adapter #0 - SCSI ID 1 - LUN 0: Disk Device <20>
......
and so on - you get the idea.
Seagate has a tool called ASPIID, that shows lots of more-or-less
useful information about SCSI disks. Also seen on CompuServe...
5.3. Tape software (only Shareware)
There are a few Shareware or Freeware TAR implementations out.
The first I ever saw was Greg Shenaut's ASPITAPE.SYS and PCTAR
combination. If I remember right, ASPITAPE.SYS is $20-Shareware
and PCTAR is freeware. According to my test-experience, it works
flawless, but the TAR is somewhat limited in its possibilities.
At the moment, I use GNU Tar for DOS and OS/2. I found GNU Tar
for DOS on CompuServe in the IBMHW forum, GNU Tar for OS/2 in
the OS2USER forum. Both work OK with my systems and any other i
tested, and GNU Tar is IMHO the best TAR in the world.
ASPITAPE/PCTAR should be in IBMHW also or in the UNIXFORUM.
5.4. Programming info for SCSI
At the moment, I don't know how to obtain CAM programming info.
However, NCR's SCSI BBS surely should be a good point to start
searching.
ASPI information can be obtained from Adaptec BBS. There is a
very good ASPI programming lib for ASM, C and Turbo Pascal from
c't, a german magazine. I'll upload what I have to the German
computer forum GERNET in the next days (section "c't"). I'm not
sure if i'm allowed to upload it to IBMHW, so that must wait
'til i'm sure.
6. Some thoughts about SCSI devices (and other interfaces)
6.1. Hard disk drives
SCSI was always a high-end interface for hard disks. For it was
expensive, it naturally showed up only in high-end disks. At the
moment, you'll see that all "state of the art" hard disks use
SCSI and the generation before (in capacity/technology terms)
gets equipped with IDE/ATAPI interfaces for the mass market.
The point where this technology transfer comes in changes
slightly - now there are 1GB+ ATAPI and EIDE hard disks, but the
2GB+ range is still - i think - a SCSI domain.
6.1.1. RAID drive arrays
RAID is a technology that's nearly "married" with SCSI. RAID
is a method to combine two or more disk drives to a bigger
logical drive with or without redundancy/fault tolerance.
The acronym RAID (Redundant Array of Inexpensive Disks) tells
the main reason why it came up - either combining cheap disks
to sell a disk system for much more money than the disk drives'
cost <g>, or combining drives to get a bigger drive that was
possible with a single drive.
Now, RAID is primarily a security option, for it's actual used
types add redundancy to the disk system to be able to swap a
defective disk without using data.
RAID exists in several levels ordered by numbers;
RAID 0, called "striping", combines two or more disks to a big
logical disk drive. The data is distributed between the disks
by a "striping factor", that means, data are separated by blocks
of, let's say 32 kByte, between the disks. This could, not
neccessarily must, give also better performance with big files,
for data come from parallel drives.
Raid 0 gives no security plus.
Sometimes you'll see "disk spanning" advertised as a RAID 0
feature. Spanning isn't RAID, though, as it is just combining
two or more disks to a bigger logical one by adding up the
sector numbers without striping. Spanning was mostly used in the
past, when single disks didn't get over 1GB.
Spanning was easy implementable in driver software. SpeedStor's
abilities, for example, also include disk spanning.
RAID 1, also called "disk mirroring", adds no capacity, but
enhances security by reading/writing the same data from/to two
disks. With an intelligent two-channel controller, this can
sometimes lead to a small performance plus on read operations,
for - if all disks can read and write simultaneously - the first
disk completing the read process sets the "time mark". Write
operations normally become slower, as the write must be done on
all drives before it's completed.
In real world, it's normally a speed brake, at least its software
variants.
RAID 2 uses a dedicated drive for error-correcting information.
The high redundancy of RAID 1 (2 GB disks for 1 GB data) was
reduced by using Hamming-codes for the correction data to about
40%. RAID 2 needs ECC error correction built-in in all disks.
In the RAID 2 model, striping is implemented at bit-level, that
means, bit 0 goes to disk 0, bit 1 to disk 1 and so on...
However, i never saw or got info about a RAID 2 system, for they
would be very expensive to implement.
RAID 3 and 4 consists of at least 2 data drives and a dedicated
ECC data drive. Data is striped between the disks, typically in
byte-packets and XOR combined for the ECC drive. Typically, the
performance is good with large file reads, worse with small file
accesses or many writes on a network server.
RAID 4 used very high striping factors, thus giving better
performance than level 3, but still somewhat slow, for the ECC
drive still has to be used on _every_ disk write access.
RAID 5 distributes the ECC data between all drives, so the
bottleneck of level 3 and 4, the dedicated ECC drive, vanishes.
So, disk accesses can overlap, thus giving better performance.
RAID level 7 i saw only once in a high-end workstation cluster.
Level 7 systems normally have a big (200-500 MB) cache and lots
of disk channels or even workstations. ECC data are calculated
and maintained in the cache; mainly for this reason, performance
is very good and can be scaled up by adding cache RAM and/or
disk channels.
6.2. Removeable disk and Magneto-Optical drives
All removeable devices i used myself started as and still are
SCSI devices. The only other devices i know are Syquest's Puma
ATAPI drive and an older Sony MO with an ESDI interface and a
special interface card.
6.3. CDROM drives
SCSI CDROMs mostly share the CDROM Common Command Set. This
means, all these CDROM drives work with a standard driver, at
least in their data mode. However, the audio commands are not
standardized, so you might encounter driver problems here, when
installing a brand-new drive with older drivers. All drivers
i know default to data-mode only in this case.
Older NEC drives can be a bit difficult here, especially the
portable CDR-35 and CDR-36 models. Their SCSI implementation
is described best as "bold" - simply "bad" isn't enough here.
I got my old CDR-35 working _only_ with a Trantor MiniSCSI
parallel adapter and only, if it was the _only_ device on the
bus, but not with various Adaptecs and also not with the FD
adapters i could test with.
The CDR-73/74/83/84 drives mostly work, if "SCSI parity" and
"Synchronous Negotiation" are disabled for these IDs or the
whole bus.
6.4. Jukeboxes and other media changer devices
Jukeboxes for all types of media (CDROMs, WORMs, MOs, DAT
cartridges) are generally available as SCSI devices only, as
SCSI is the only standardized interface that supports them
in PC architectures. Either each medium gets a dedicated ID
that can be addressed by the PC or the different media are
combined to a single structure.
Of course, the various Mainframe interfaces are also supported
by devices like WORM changers - these devices originally came
from this "Jurassic park" world into the lower-end system worlds
like workstations and PCs.
6.5. Tape drives
Professional tape drives started with the QIC-36 and QIC-02
interfaces, then fast tended towards SCSI. For the lower-end
market, the QIC consortium defined QIC-107 and -117, the
floppy-disk based interfaces for the QIC-40 and QIC-80 mini-
cartridge tape drives. QIC-117 strongly depends on the PC's
floppy disk controller's timing and signaling and therefore
isn't very portable to other architectures.
High-end tapes like QIC with 500MB+, 4mm and 8mm DAT, DLT and
so on generally aren't available other than SCSI and maybe a
few specific interfaces from the mini and mainframe world.
6.6. Scanners
Scanners exist with a lot of interfaces. In the past, serial,
parallel and IEC interfaces were common besides SCSI. The higher
resolution and color depth fast decided this interface struggle
towards SCSI. Generally, professional scanners use SCSI now, but
keep this history in mind when looking at some older, but maybe
very good scanner. The SCSI models mostly work with standard
host adapters, if you find a driver for them. Canon, for
example, switched to ASPI support only a few months ago.
SCSI scanners are often somewhat "incorrect" in identifying
themselves to the system. My EPSON GT-6500 for example, tells
me "EPSON SC" as vendor info, and "ANNER GT-6500" as model,
besides the SCSI-0 id it gives to the host adapter.
This comes, for most Scanner manufacturers have their own
pre-SCSI-II command set that they rely on. There was never a
standardizing neccessity as with hard disks, where devices not
compatible with the SCSI CCS would have been impossible to sell.
So, SCSI is still sort of a mess with most scanner vendors.
Appendix A. SCSI Connectors
A.1. 25 pin DB-25 SCSI connector
The DB-25 connector is the one looking like a PC's printer port.
I think Apple introduced this DB-25 connector for SCSI, but I'm
not sure about it. The Macintosh Plus didn't supply Termination
power, so pin 25 isn't connected with this model.
Future Domain had a different DB-25 connector on their first
adapters and adopted the Apple pinout scheme on their TMCxxxM
SCSI host adapters later. Also, the M-models have a label
"Apple pinout" somewhere on the slot plate.
The adapters in question are the TMC-820, -830, -840, -845,
-850, -860, -870, -875, -885 and MCS-350. If you need a cable
for one of these, contact Future Domain for the cable with part
number HCA-108.
Extreme care should be taken if you get a Future Domain Cable
or an adapter where you're not _absolutely_ sure if it's an old
FD or an Apple-style device. Wrong connections will blow your TP
fuse on the host adapter and - probably - destroy the host
adapter or other devices on the SCSI bus !
The pin counting is like: 1 2 3 4 ... 13
14 15 16 ... 25
Pin Signal Signal
Apple old FD
1 -REQ GND
2 -MSG -DB(1)
3 -I/O -DB(3)
4 -RST -DB(5)
5 -ACK -DB(7)
6 -BSY GND
7 Ground -SEL
8 -DB0 GND
9 Ground SPARE
10 -DB3 -RST
11 -DB5 -C/D
12 -DB6 -I/O
13 -DB7 GND
14 Res./Ground -DB(0)
15 -C/D -DB(2)
16 Res./Ground -DB(4)
17 -ATN -DB(6)
18 Ground -DB(P)
19 -SEL GND
20 -DBP -ATN
21 -DB1 -MSG
22 -DB2 -ACK
23 -DB4 -BSY
24 Ground -REQ
25 * Term. Power GND *: not connected in the
Mac Plus connector.
A.2. 50 pin SCSI connectors
Type 1 is the flat cable connector on the devices' PCB.
Type 2 is the 50-pin Centronics-style connector, still the
"Standard" PC SCSI connector
The SCSI-2 high density connector's pinout is identical to the
Type 2 Centronics-style connector
Type 1 1 3 5 7 ..... 49 Type 2 1 2 3 ..... 25
counts <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ counts +/--------------\+
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \______________/
2 4 6 8 ..... 50 26 27 28 .... 50
Pin Type <20> Pin Type
Single-Ended <20> Differential
1 2 <20> 1 2
<20>
1 GND GND <20> 1 GND GND
2 -DB(0) GND <20> 2 GND +DB(0)
3 GND GND <20> 3 +DB(0) +DB(1)
4 -DB(1) GND <20> 4 -DB(0) +DB(2)
5 GND GND <20> 5 +DB(1) +DB(3)
6 -DB(2) GND <20> 6 -DB(1) +DB(4)
7 GND GND <20> 7 +DB(2) +DB(5)
8 -DB(3) GND <20> 8 -DB(2) +DB(6)
9 GND GND <20> 9 +DB(3) +DB(7)
10 -DB(4) GND <20> 10 -DB(3) +DB(P)
11 GND GND <20> 11 +DB(4) DIFFSENS
12 -DB(5) Res. <20> 12 -DB(4) Res.
13 GND n.c. <20> 13 +DB(5) TRMPWR
14 -DB(6) Res. <20> 14 -DB(5) Res.
15 GND GND <20> 15 +DB(6) +ATN
16 -DB(7) GND <20> 16 -DB(6) GND
17 GND GND <20> 17 +DB(7) +BSY
18 -DB(P) GND <20> 18 -DB(7) +ACK
19 GND GND <20> 19 +DB(P) +RST
20 GND GND <20> 20 -DB(P) +MSG
21 GND GND <20> 21 DIFFSENS +SEL
22 GND GND <20> 22 GND +C/D
23 Res. GND <20> 23 Res. +REQ
24 Res. GND <20> 24 Res. +I/O
25 n.c. GND <20> 25 TRMPWR GND
26 TRMPWR -DB0 <20> 26 TRMPWR GND
27 Res. -DB1 <20> 27 Res. -DB(0)
28 Res. -DB2 <20> 28 Res. -DB(1)
29 GND -DB3 <20> 29 +ATN -DB(2)
30 GND -DB4 <20> 30 -ATN -DB(3)
31 GND -DB5 <20> 31 GND -DB(4)
32 -ATN -DB6 <20> 32 GND -DB(5)
33 GND -DB7 <20> 33 +BSY -DB(6)
34 GND -DBP <20> 34 -BSY -DB(7)
35 GND GND <20> 35 +ACK -DB(P)
36 -BSY GND <20> 36 -ACK GND
37 GND Res. <20> 37 +RST Res.
38 -ACK TRMPWR <20> 38 -RST TRMPWR
39 GND Res. <20> 39 +MSG Res.
Pin Type <20> Pin Type
Single-Ended <20> Differential
1 2 <20> 1 2
<20>
40 -RST GND <20> 40 -MSG -ATN
41 GND -ATN <20> 41 +SEL GND
42 -MSG GND <20> 42 -SEL -BSY
43 GND -BSY <20> 43 +C/D -ACK
44 -SEL -ACK <20> 44 -C/D -RST
45 GND -RST <20> 45 +REQ -MSG
46 -C/D -MSG <20> 46 -REQ -SEL
47 GND -SEL <20> 47 +I/O -C/D
48 -REQ -C/D <20> 48 -I/O -REQ
49 GND -REQ <20> 49 GND -I/O
50 -I/O -I/O <20> 50 GND GND
There is a DB-50 connector (three-row) variant in SCSI-1 that
Sun Microsystems used for older peripherals, but it's normally
not used any more. However, if you need the layout, holler, and
I'll search for it.
A.3. 68 pin SCSI connectors
Pin Cable Type <20> Pin Cable Type
Single-Ended <20> Differential
B P <20> B P **
<20>
1 GND GND <20> 1 GND -DB(12)
2 GND GND <20> 2 +DB(8) -DB(13)
3 GND GND <20> 3 +DB(9) -DB(14)
4 GND GND <20> 4 +DB(10) -DB(15)
5 GND GND <20> 5 +DB(11) -DB(P1)
6 GND GND <20> 6 +DB(12) GND
7 GND GND <20> 7 +DB(13) +DB(0)
8 GND GND <20> 8 +DB(14) +DB(1)
9 GND GND <20> 9 +DB(15) +DB(2)
10 GND GND <20> 10 +DB(P1) +DB(3)
11 GND GND <20> 11 +ACKB +DB(4)
12 GND GND <20> 12 GND +DB(5)
13 GND GND <20> 13 +REQB +DB(6)
14 GND GND <20> 14 +DB(16) +DB(7)
15 GND GND <20> 15 +DB(17) +DB(P)
16 GND GND <20> 16 +DB(18) DIFFSENS
17 TRMPWRB TRMPWR <20> 17 TRMPWRB TRMPWR
18 TRMPWRB TRMPWR <20> 18 TRMPWRB TRMPWR
19 GND GND <20> 19 +DB(19) Res.
20 GND GND <20> 20 +DB(20) +ATN
21 GND GND <20> 21 +DB(21)S GND
22 GND GND <20> 22 +DB(22) +BSY
23 GND GND <20> 23 +DB(23) +ACK
24 GND GND <20> 24 +DB(P2) +RST
25 GND GND <20> 25 +DB(24) +MSG
26 GND GND <20> 26 +DB(25) +SEL
27 GND GND <20> 27 +DB(26) +C/D
28 GND GND <20> 28 +DB(27) +REQ
29 GND GND <20> 29 +DB(28) +I/O
30 GND GND <20> 30 +DB(29) GND
31 GND GND <20> 31 +DB(30) +DB(8)
32 GND GND <20> 32 +DB(31) +DB(9)
33 GND GND <20> 33 +DB(P3) +DB(10)
34 GND GND <20> 34 GND +DB(11)
35 GND -DB(12) <20> 35 GND +DB(12)
36 -DB(8) -DB(13) <20> 36 -DB(8) +DB(13)
37 -DB(9) -DB(14) <20> 37 -DB(9) +DB(14)
38 -DB(10) -DB(15) <20> 38 -DB(10) +DB(15)
39 -DB(11) -DB(P1) <20> 39 -DB(11) +DB(P1)
40 -DB(12) -DB(0) <20> 40 -DB(12) GND
41 -DB(13) -DB(1) <20> 41 -DB(13) -DB(0)
42 -DB(14) -DB(2) <20> 42 -DB(14) -DB(1)
43 -DB(15) -DB(3) <20> 43 -DB(15) -DB(2)
44 -DB(P1) -DB(4) <20> 44 -DB(P1) -DB(3)
45 -ACKB -DB(5) <20> 45 -ACKB -DB(4)
46 GND -DB(6) <20> 46 DIFFSENS -DB(5)
47 -REQB -DB(7) <20> 47 -REQB -DB(6)
48 -DB(16) -DB(P) <20> 48 -DB(16) -DB(7)
49 -DB(17) GND <20> 49 -DB(17) -DB(P)
50 -DB(18) GND <20> 50 -DB(18) GND
51 TRMPWRB TRMPWR <20> 51 TRMPWRB TRMPWR
52 TRMPWRB TRMPWR <20> 52 TRMPWRB TRMPWR
Pin Cable Type <20> Pin Cable Type
Single-Ended <20> Differential
B P <20> B P **
<20>
53 -DB(19) Res. <20> 53 -DB(19) Res.
54 -DB(20) GND <20> 54 -DB(20) -ATN
55 -DB(21) -ATN <20> 55 -DB(21) GND
56 -DB(22) GND <20> 56 -DB(22) -BSY
57 -DB(23) -BSY <20> 57 -DB(23) -ACK
58 -DB(P2) -ACK <20> 58 -DB(P2) -RST
59 -DB(24) -RST <20> 59 -DB(24) -MSG
60 -DB(25) -MSG <20> 60 -DB(25) -SEL
61 -DB(26) -SEL <20> 61 -DB(26) -C/D
62 -DB(27) -C/D <20> 62 -DB(27) -REQ
63 -DB(28) -REQ <20> 63 -DB(28) -I/O
64 -DB(29) -I/O <20> 64 -DB(29) GND
65 -DB(30) -DB(8) <20> 65 -DB(30) -DB(8)
66 -DB(31) -DB(9) <20> 66 -DB(31) -DB(9)
67 -DB(P3) -DB(10) <20> 67 -DB(P3) -DB(10)
68 GND -DB(11) <20> 68 GND -DB(11)
** The Differential P connector scheme here might be wrong !
I got only one scheme for it and this scheme listed the DB(12)
to DB(15) and DB(P1) signals twice with a preceeding "+". The
other layouts seem ok.
A.4. 110 pin SCSI connector ("L"-cable)
Pin Single Diff. <20> Pin Single Diff.
Ended <20> Ended
<20>
1 GND GND <20> 56 GND GND
2 GND +DB(24) <20> 57 -DB(24) -DB(24)
3 GND +DB(25) <20> 58 -DB(25) -DB(25)
4 GND +DB(P6) <20> 59 -DB(P6) -DB(P6)
5 GND +DB(27) <20> 60 -DB(27) -DB(27)
6 GND +DB(28) <20> 61 -DB(28) -DB(28)
7 GND +DB(29) <20> 62 -DB(29) -DB(29)
8 GND +DB(30) <20> 63 -DB(30) -DB(30)
9 GND +DB(31) <20> 64 -DB(31) -DB(31)
10 GND +DB(P3) <20> 65 -DB(P3) -DB(P3)
11 GND +DB(12) <20> 66 -DB(12) -DB(12)
12 GND +DB(13) <20> 67 -DB(13) -DB(13)
13 GND +DB(14) <20> 68 -DB(14) -DB(14)
14 GND +DB(15) <20> 69 -DB(15) -DB(15)
15 GND +DB(P1) <20> 70 -DB(P1) -DB(P1)
16 GND GND <20> 71 -DB(0) GND
17 GND -DB(0) <20> 72 -DB(1) -DB(0)
18 GND -DB(1) <20> 73 -DB(2) -DB(1)
19 GND -DB(2) <20> 74 -DB(3) -DB(2)
20 GND -DB(3) <20> 75 -DB(4) -DB(3)
21 GND -DB(4) <20> 76 -DB(5) -DB(4)
22 GND -DB(5) <20> 77 -DB(6) -DB(5)
23 GND -DB(6) <20> 78 -DB(7) -DB(6)
24 GND -DB(7) <20> 79 -DB(P) -DB(7)
25 GND -DB(P) <20> 80 GND -DB(P)
26 GND DIFFSENS <20> 81 GND GND
27 TRMPWR TRMPWR <20> 82 TRMPWR TRMPWR
28 TRMPWR TRMPWR <20> 83 TRMPWR TRMPWR
29 TRMPWR TRMPWR <20> 84 TRMPWR TRMPWR
30 GND +ATN <20> 85 GND -ATN
31 GND GND <20> 86 -ATN GND
32 GND +BSY <20> 87 GND -BSY
33 GND +ACK <20> 88 -BSY -ACK
34 GND +RST <20> 89 -ACK -RST
35 GND +MSG <20> 90 -RST -MSG
36 GND +SEL <20> 91 -MSG -SEL
37 GND +C/D <20> 92 -SEL -C/D
38 GND +REQ <20> 93 -C/D -REQ
39 GND +I/O <20> 94 -REQ -I/O
40 GND GND <20> 95 -I/O GND
41 GND +DB(8) <20> 96 -DB(8) -DB(8)
42 GND +DB(9) <20> 97 -DB(9) -DB(9)
43 GND +DB(10) <20> 98 -DB(10) -DB(10)
44 GND +DB(11) <20> 99 -DB(11) -DB(11)
45 GND GND <20> 100 GND GND
46 GND +DB(16) <20> 101 -DB(16) -DB(16)
47 GND +DB(17) <20> 102 -DB(17) -DB(17)
48 GND +DB(18) <20> 103 -DB(18) -DB(18)
49 GND +DB(19) <20> 104 -DB(19) -DB(19)
50 GND +DB(20) <20> 105 -DB(20) -DB(20)
51 GND +DB(21) <20> 106 -DB(21) -DB(21)
52 GND +DB(22) <20> 107 -DB(22) -DB(22)
53 GND +DB(23) <20> 108 -DB(23) -DB(23)
54 GND +DB(P2) <20> 109 -DB(P2) -DB(P2)
55 GND GND <20> 110 GND GND
A.5. Other SCSI connectors.
Sometimes, for many reasons strange to me, a company decides
to introduce a new SCSI connector.
One of these is the Apple PowerBook's HDI-30 connector.
Apple's external HDI-30 SCSI connector has the following pinout:
Pin Internal External
Connector Connector
1 DISK.+5 -LINK.SEL I have no idea what
2 DISK.+5 -DB(0) -LINK.SEL is for.
3 Ground Ground
4 Ground -DB(1)
5 Ground TERMPWR Pin 5 (TP) is not used
6 -DB(0) -DB(2) by Apple ("reserved for
7 -DB(1) -DB(3) future use") and is not
8 -DB(2) Ground connected in Apple's
9 -DB(3) -ACK original PB SCSI cable.
10 -DB(4) Ground
11 -DB(5) -DB(4)
12 -DB(6) Ground
13 -DB(7) Ground
14 -DB(P) -DB(5)
15 DISK.+5 Ground
16 -BSY -DB(6)
17 -ATN Ground
18 -ACK -DB(7)
19 Ground -DB(P)
20 -MSG Ground
21 -RST -REQ
22 -SEL Ground
23 -C/D -BSY
24 -I/O Ground
25 -REQ -ATN
26 Ground -C/D
27 Ground -RST
28 Ground -MSG
29 DISK.+5 -SEL
30 DISK.+5 -I/O
------- If you know of another special SCSI connector, please let me
know. I'll then try to include it here.
Appendix B. Some places to get information about SCSI
Support BBS numbers
There are some documents over and about SCSI. Of course, the
first source of information are the spec documents. However,
they are hard to read and hard to understand if it's your first
jump into SCSI.
There is a very good article about "What's new in SCSI-2" in
the January 1991 issue of "Computer Technology Review". It is
written by Dal Allan from ENDL, one of the real "SCSI gurus".
Also, there are some books about SCSI (i have none of these,
so I can't comment on them).
Also, there are some places where SCSI information is present
in electronic form.
In first place, the NCR SCSI BBS, where the official documents
are available.
The NCR SCSI BBS : 001-719-574-0424
NCR also has a support BBS for their systems, where drivers are
available for download:
The NCR Drivers BBS : 001-803-843-1811
Also, there are some SCSI vendors that offer BBS support.
They may or may not have some SCSI-related information.
For example, the Adaptec BBS has all the ASPI documents.
Some of these BBSs I list here. The BBSs with a * are
BBSs I called recently, so I assume the phone number is ok.
* Adaptec-BBS : 001-408-945-7727
* access from Germany : 089-45640618
* Future Domain BBS : 001-714-253-0432
* Storage Dimensions : 001-408-944-1221
* Maxtor : 001-303-678-2222
(maybe also -2020 ?)
* Buslogic's BBS : 001-408-492-1984
Chinon BBS : 001-310-320-4160
Colorado Memory Systems : 001-303-635-0650
Conner's BBS number : 001-408-456-4415
Plextor BBS : 001-408-986-1569
Promise BBS : 001-408-452-1267
* Quantum BBS : 001-408-894-3214
Seagate BBS : 001-408-438-8771
Sony BBS : 001-408-955-5107
Syquest BBS : 001-510-656-0473
Appendix C. Termination Diagrams
Here are some termination diagrams about various configurations
and their neccessary termination.
Your host adapter may have a software-possibility to enable or
disable termination. In this case, of course, you don't need to
remove the resistor packs to disable termination.
Also, with external device termination, you could also terminate
the last external device internal, but that would limit your
flexibility with them, so i suggest having all external devices
not terminated and attaching an external active terminator to the
last device's second connector.
Only internal devices:
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
<20> <20> <20> not <20> <20> ::::::: <20>ſ
<20> Terminated <20> <20> terminated <20> <20>Termination> ... ... <20><><EFBFBD>
<20> <20> <20> <20> <20>Resistors > ... <20><><EFBFBD>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> installed <20><><EFBFBD>
<20> <20><><EFBFBD>
<20>Ŀ ڿ <20>ٳ
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
Only external devices:
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
<20> ::::::: <20>ſĿ
<20>Termination> ... ... <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
<20>Resistors > ... <20><><EFBFBD>Ĵ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
<20> installed <20><><EFBFBD>Ĵ <20> not <20> <20>Ĵ Terminated <20>
<20> <20><><EFBFBD><EFBFBD><EFBFBD> <20> terminated <20> <20> through <20>
<20>Ŀ ڿ <20>ٳ <20> <20> <20>Ĵ <---- <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
^^External
Terminator
Internal and external devices:
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
<20> <20> ::::::: <20>ſĿ
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ <20> <20>Termination> ... ... <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
<20> not <20> <20> <20>Resistors > ... <20><><EFBFBD>Ĵ <20> <20> not <20>
<20> terminated <20>Ĵ <20> removed <20><><EFBFBD>Ĵ <20>Ĵ terminated <20>
<20> <20> <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20>Ĵ <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>Ŀ ڿ <20>ٳ <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>
<20> <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
<20> <20> <20> <20> <20> Terminated <20>
<20> Terminated <20><><EFBFBD> <20>Ĵ through <20>
<20> <20> External <20>Ĵ <---- <20>
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Terminator ><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Appendix D. SCSI and QIC - any relations ?
Principally, the terms SCSI and QIC have (nearly) nothing to
do with each other. However, there are some contact points.
QIC stands for "Quarter Inch Committee" and originally meant a
non-profit organization that was formed from tape drive and
tape cartridge vendors to get exchange standards for tapes.
The QIC committee and its members since then develop, approve
and promote the various QIC standards. The numbers are somewhat
chaotic - they somewhat seem to come out "by the numbers".
QIC defines tape drive interfaces like SCSI, Floppy-controller
interfaces, QIC-02/36 and tape formats like QIC-40, 80, 150 ...
Let's try some cleaning up...
Tape drive interface standards:
QIC-02 : a somewhat "intelligent" hardware interface,
QIC-36 : basic hardware interface, simpler than QIC-02
QIC-104/11 : mainly describes SCSI-1 as tape interface
QIC-107 : Commands and timing for QIC-80 drives
QIC-117 : the "floppy tape" interface for QIC-80 streamers
QIC-121 : like QIC 104, but based on SCSI-2
A lot of the older QIC-02 interfaces are basically QIC-36 drives
with an additional QIC-02 bridge controller. Some of these bridge
controllers can be replaced with SCSI bridge controllers like the
Emulex MT-02 or Adaptec ACB-3530.
QIC tape formats:
QIC-ID Tape Storage Tracks Length
(MB) (FT.)
11 300XLP 45 4 450
24 DC600A 60 9 600
40 DC2000 40 20 205
DC2060 60 20 307.5
80 DC2080 80 32 205
DC2120 120 32 307.5
120 DC600A 125 15 600
150 DC6150 150 18 600
DC6250 250 18 1020
525 DC6320 320 24 600
DC6525 525 24 1000
1000 Magnus 9100 1000 32 ?
1350 9135 1350 36 ?
Most formats offer eXtended Length (XL) tapes that give higher
capacity, for example the 250MB DC6250 tapes for QIC-150 drives.
Also, there is a nuisance in the industry to call the QIC-80
tapes with XL tapes (120MB) "250 MB" tapes. This works only
with the compression built into the backup _software_.
Keep this in mind if you compare tape drives with different
technologies. The only company I know that uses a similar
approach is Colorado with their PowerTape drives. They can
compared by basically halving their capacity and look for the
nearest capacity standard.
QIC has become a company (Quarter Inch Compatibility, Inc), that
still defines and certifies tape standards. Now, the members are
3M, Sony, Gigatek, HP, Conner, Colorado Memory Systems, IOMega,
Wangtek and Tandberg.
However, since they are a company, the "introduction rate" of
new, mostly mini-cartridge-based tape formats and standards
was inflationary. Lots of new formats came up, some of these new
tape drives can even read QIC-80 tapes, but most are not upward
compatible. Of course, these standards are incompatible with each
other, so that you can be sure that half of these standards will
become obsolete in their first years - seems that the lession is
"If it's business - forget the standards".
But we'll see - it's our responsibility to buy what we feel
should survive, not the other systems.
Some of the new Mini-standards are:
name/format cartridge capacity can read
type
QIC-3010-MC QIC-143 255 MB QIC-40/80
QIC-3020-MC QIC-143 500 MB QIC-40/80/3010
QIC-555M QIC-143 555 MB ---
QIC-875M QIC-143 875 MB QIC-40/80/555M
QIC-3GB(M) QIC-138 3 GB QIC-555M