Date: Mon, 25 Mar 2002 10:14:39 -0800
From: Rick Moen (
Subject: Re: PCI SCSI
User-Agent: Mutt/1.3.27i

Hi there.

> I'm thinking of putting a SCSI controller on my system. I've heard
> you have particularly painful experience with this, which I'm sure I
> don't want to repeat. Any advice?
> Initially the controller will be for a scanner; I have, however,
> filled all available IDE slots, so I might well want to add disk
> drives on down the road.

So, a situation where you have an existing, full-bore ATA ("IDE") setup and are considering adding a little bit of SCSI support isn't really a happy situation: Because you're adding only slow, non-boot device support, you're tempted to go low end, because otherwise you don't perceive the value. And then you get complications:

Linux kernels (and distribution installers) tend to auto-detect SCSI host adapters (and option cards in general) by sensing their option ROM contents -- their BIOSes. A suitable insmod operation then occurs, using the I/O base address and IRQ picked up by probing the ROM. But low-end SCSI host adapters usually omit ROMs, because you only strictly need a ROM if you intend to support booting. If you look at the Boot Prompt HOWTO, you'll see lots of examples of arcane incantations that need to be passed to booting kernels to make them recognise low-end SCSI cards, advising the kernel explicitly to load the necessary driver, and spoon-feeding it the I/O base address and IRQ.

So, some options start to become apparent:

1. Get a low-end card. Advansys, Adaptec, and others make these. No ROMs. You'll have to do the kernel dance described here: If you're ever tempted in the future to put hard drives on the chain, you're SOL. But a modest number of scanners, CD-ROMs, CDRs, tape drives, and the like will probably work.

2. Get a good SCSI card used. Action Computer or Haltec in Sunnyvale would be good prospects. The good ol' Adaptec AHA-2940 series (PCI) and even the AHA-1542C/CF/CP models (ISA) would be excellent choices, as would cards based on the NCR/Symbios 53c800 series chipsets. Ditto the Mylex/BusLogic/BusTec BT-948 (narrow SCSI) and BT-958 (wide SCSI) chipsets.

Personally, I'd go with this option, because it minimises your hassle and maximises your freedom of movement. That is, any of those will easily support large numbers of fast SCSI devices on a single SCSI chain, along with slow devices if necessary. (Ideally, you'd group all slow devices such as CD-ROMs, scanners, and tape drives on a slow-device chain, and have hard drives on a fast-device one.) The ISA cards were relatively limited, e.g., I don't think they'd support more than four hard drives on a chain. The others weren't.

3. Buy a good SCSI card, new. Same as before, except more expensive, and I believe the ISA cards aren't made, any more.

Caveat: I don't run mixed ATA-SCSI systems, only all-SCSI. Therefore, there may be complications I'm unaware of. In particular, your use of bootable ATA devices may make it necessary to disable the SCSI host adapter's boot ROMs. I'm not sure whether this makes them difficult for Linux to auto-probe. (I have no relevant experience.)

Because a good-quality SCSI host adapter is capable of supporting up to either seven or fifteen other SCSI devices (without contention or ATA-style chewing up of IRQs), you maximise its value by using it to support as much of your system's hardware complement as possible. Thus, it seems easier to justify its cost when it drives the hard disks as well, not just your scanner ( / CDR / tape drive).

If you've already bought into ATA, then SCSI doesn't seem like a good value. To many. My answer to them is "pity you bought into ATA. Don't Do That, Then."

Date: Mon, 25 Mar 2002 11:54:58 -0800
From: Rick Moen (
Subject: Re: PCI SCSI
User-Agent: Mutt/1.3.27i

So, in case it wasn't obvious, I offer the following taxonomy of SCSI host adapters:

I hope this clarifies matters further. You can read up on further gory details here: