Re: cdrecord problems
Mike wrote:
> SCSI emulation support
> CONFIG_BLK_DEV_IDESCSI
> 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.
drivers/ide/ide.c:
[...]
/*
* 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 :-).
brian
Reply to: