[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cdrecord problems

Mike wrote:

> SCSI emulation support
>   This will provide SCSI host adapter emulation for IDE ATAPI devices,
>   and will allow you to use a SCSI device driver instead of a native
>   ATAPI driver.
>   This is useful if you have an ATAPI device for which no native
>   driver has been written (for example, an ATAPI PD-CD or CDR drive);
>   you can then use this emulation together with an appropriate SCSI
>   device driver. In order to do this, say Y here and to "SCSI support"
>   and "SCSI generic support", below. You must then provide the kernel
>   command line "hdx=scsi" (try "man bootparam" or see the
>   documentation of your boot loader (lilo or loadlin) about how to
>   pass options to the kernel at boot time) for devices if you want the
>   native EIDE sub-drivers to skip over the native support, so that
>   this SCSI emulation can be used instead. This is required for use of
>   CD-RW's.
>   Note that this option does NOT allow you to attach SCSI devices to a
>   box that doesn't have a SCSI host adapter installed.
>   If both this SCSI emulation and native ATAPI support are compiled
>   into the kernel, the native support will be used.
> Part way through is what you sent, at the end is what I sent.  To me this
> particular passage is self-contradictory.  At one point it says you can, and
> then goes on to say that you can't.  Which portion am I to believe?

I read this to mean that by default the native support will be used if
both are compiled into the kernel, and you can change the default by
using hdx=scsi.

> Then there's the matter of whether it's hdx=scsi or hdx=ide-scsi  One source
> says one thing, another says another thing.  What's more confusing is they
> *both* *work*.  You got your's right from the kernel docs - an authoratative
> source, to be sure.  I got mine from the CD-Writing HOWTO - not an
> authoritative source, but it does work.

         * Look for drive options:  "hdx="
        if (s[0] == 'h' && s[1] == 'd' && s[2] >= 'a' && s[2] <= max_drive) {
                const char *hd_words[] = {"none", "noprobe", "nowerr", "cdrom",
                                "serialize", "autotune", "noautotune",
                                "slow", "swapdata", "bswap", "flash",
                                "remap", "noremap", "scsi", NULL};
                unit = s[2] - 'a';
                hw   = unit / MAX_DRIVES;
                unit = unit % MAX_DRIVES;
                hwif = &ide_hwifs[hw];
                drive = &hwif->drives[unit];
->              if (strncmp(s + 4, "ide-", 4) == 0) {
->                      strncpy(drive->driver_req, s + 4, 9);
->                      goto done;

OK, apparently you can prepend any ide driver option with "ide-" and
it will still work, so I guess we're both right (but my choice is
clearly the preferred one :-).


Reply to: