On Friday, October 14, 2011 09:59:38 PM Rick Stevens wrote:
> On 10/14/2011 11:51 AM, Chris Adams wrote:
> > Once upon a time, Bill Perry <email@example.com> said:
> >> It almost looks like the device changed from /dev/st4 to /dev/st0. Is
> >> that possible?
> > Yeah, I don't know why it would ever have been st4; the SCSI tape
> > devices have always been numbered starting with 0 in my experience (I
> > think I first used a SCSI tape device on Linux in 1996).
> Back in the day, the SCSI controller was assigned ID 7 and typically
> tape drives were given ID 4. Hard drives were usually 0, 1, 2, and 3.
> IDs 5 and 6 were left for the user. Don't ask me why...I suppose they
> figured no one would ever need more than four hard drives. Then again,
> Gates said we'd never need more than 640K of RAM.
That actually has quite a logical explanation. Assuming a narrow scsi bus, you
have 8 data lines. If the bus is idle and a device wants to send data, it
simply puts a signal on the line that corresponds to its ID. Then the device
will wait for a short period of time and then the one with the highest ID will
be allowed to procede. That's why the HBA is ID 7 - it always wins if there
are other devices that try to send at the same time. The tape device carried a
high penalty for running out of data to write: You had to stop the tape,
rewind, start again, find the exact spot and then continue writing. So you'd
give it a high ID. The actual ID wasn't always 4 though. HP DAT drives shipped
set to ID 3, quantum and its OEMs shipped ID6, so did storagetek LTO drives.
> Older Linux kernels carried along the SCSI ID as the device name, hence
> the naming of /dev/st4 on older systems.
How old do we talk here? I started using Linux when the version number still
had a beautiful 0 at the beginning :-)
Seriously though - st4 because of scsi id 4 makes little sense - what if you
have two HBAs? For the fun of it I pulled the 1.0 kernel source and even there
the kernel enumerates sg devices, then assigns the st device when an sg is of
the appropriate type. st4 can only happen if you have 5 devices that identify
themselves as tape or you accidentally set the tape device to the same id as
> Newer kernels typically query
> the device as to what it is and start assigning hard drives starting at
> /dev/sda, tapes at /dev/st0 and CD/DVD drives at /dev/cdrom0 (the
> "/dev/sd<letter>" bit because drives can be partitioned).
> BTW, as an aside, Sun always assigned their first hard drive to ID 1.
> I guess because IBM was stupid enough to assign their first floppy to
> ID 1 instead of 0 on the IBM PC (aka IBM 5150) and put that bloody
> twist in the floppy cable to hide that rather obvious cockup.
SS10 or 20?
coming from an IPC where the drive was ID3, that took me a day
to figure out...
> BTW, I was on one of the first ANSI SCSI committees (the conversion from
> SASI to SCSI) and was a design engineer for (gasp! is he really
> that old?) Micropolis in the mid 70s.
Don't feel bad - nobody here is getting any younger
users mailing list
To unsubscribe or change subscription options: