Thomas Mueller wrote:
>
> CD-ROM is Texel, internal SCSI, 2x, not such a rare breed,
> though it is now long superseded by newer models. Actually,
> it worked with earlier Linux kernels, up to somewhere around
> Slackware 3.1. I think it must be a bug in the source code
> for mount
Very, very unlikely.
> and/or the g_NCR5380 SCSI driver.
It is possible that the specifications of the driver have
been altered to accommodate more recent hardware. This is
one reason why old computers often perform better with an
old distribution.
I suggest you go back to Slackware 3.1 and confirm that
the n_5380.s kernel works with your CDrom drive. If it
does, you can step through Slackware 3.2, 3.3 and so on
to find where the compatibility stops. You can download
these old kernels from the Slackware archieves. If you
boot your linux filesystem from DOS (using loadlin.exe)
you can swap round these kernels quite simply.
It seems to me that the most likely break point for
compatibility is between Slackware 3.9 and 4.0
(when the kernel changed from 2.0 to 2.2). But you
will only find this out by testing it yourself.
I know very little about SCSI, but I'm including
some info below which may help.
Cheers,
Steven
README file for the Linux g_NCR5380 driver. This file
documents the NCR53c400 extensions and some enhancements
to the NCR5380 core.
This driver supports both NCR5380 and NCR53c400 cards in
port or memory mapped modes. Currently this driver can only
support one of those mapping modes at a time but it does
support both of these chips at the same time. The next
release of this driver will support port & memory mapped
cards at the same time. It should be able to handle multiple
different cards in the same machine.
The drivers/scsi/Makefile has an override in it for the most
common NCR53c400 card, the Trantor T130B in its default
configuration: Port: 0x350
IRQ : 5
The NCR53c400 does not support DMA but it does have Pseudo-
DMA which is supported by the driver.
If the default configuration does not work for you, you can use
the kernel command lines (eg using the lilo append command):
ncr5380=port,irq,dma
ncr53c400=port,irq
or
ncr5380=base,irq,dma
ncr53c400=base,irq
The driver does not probe for any addresses or ports other than
those in the OVERRIDE or given to the kernel as above.
This driver provides some information on what it has detected
in /proc/scsi/g_NCR5380/x where x is the scsi card number as
detected at boot time. More info to come in the future.
When NCR53c400 support is compiled in, BIOS parameters will
be returned by the driver (the raw 5380 drive does not).
This driver works as a module. When included as a module,
parameters can be passed on the insmod/modprobe command line:
ncr_irq=xx the interrupt
ncr_addr=xx the port or base address (for port or memory
mapped, resp.)
ncr_dma=xx the DMA
ncr_5380=1 to set up for a NCR5380 board
ncr_53c400=1 to set up for a NCR53C400 board
e.g.
modprobe g_NCR5380 ncr_irq=5 ncr_addr=0x350 ncr_5380=1
for a port mapped NCR5380 board or
modprobe g_NCR5380 ncr_irq=255 ncr_addr=0xc8000 ncr_53c400=1
for a memory mapped NCR53C400 board with interrupts disabled.
(255 should be specified for no or DMA interrupt, 254 to
autoprobe for an IRQ line if overridden on the command line.)