On Friday 09 December 2005 23:41, Christopher J. Bottaro wrote:
I have a Dell Inspiron 6000d which has a SATA hard disk and PATA
optical
drive. The performance for the hard disk is good, but the optical drive's
performance is very poor, I can't turn on DMA.
I used a kernel patch that got both drives working well, but it caused my
kernel to be unstable (random lock ups). Here is a discussion of the
patch:
http://www.math.ucla.edu/~jimc/insp6000/p-disc.html#cd
I searched the web more and found a discussion on the kernel parameter
atapi_enabled=1, but that didn't work for me either.
http://comments.gmane.org/gmane.linux.kernel/351063
This is the kernel I'm using:
kernel-2.6.12-1.1381_FC3
Any advice, tips or hints? Thank you.
Yeah, use a newer kernel. I've got the
same setup in my laptop (ICH6M SATA controller)
and I've got my optical drive recognized as a SCSI device, with full performance.
I use 2.6.14.3-vanilla w/a couple of patches applied. Here's the patch
I use to enable ATAPI in the libata-driver:
diff -uNr linux-2.6.14-rc5/drivers/scsi/libata-core.c
linux-2.6.14-rc5.libata_pata/drivers/scsi/libata-core.c
--- linux-2.6.14-rc5/drivers/scsi/libata-core.c 2005-10-20 14:39:45.000000000 +0200
+++ linux-2.6.14-rc5.libata_pata/drivers/scsi/libata-core.c 2005-10-20 14:41:52.000000000
+0200
@@ -75,7 +75,7 @@
static unsigned int ata_unique_id = 1;
static struct workqueue_struct *ata_wq;
-int atapi_enabled = 0;
+int atapi_enabled = 1;
module_param(atapi_enabled, int, 0444);
MODULE_PARM_DESC(atapi_enabled, "Enable discovery of ATAPI devices (0=off,
1=on)");
diff -uNr linux-2.6.14-rc5/include/linux/libata.h
linux-2.6.14-rc5.libata_pata/include/linux/libata.h
--- linux-2.6.14-rc5/include/linux/libata.h 2005-10-20 14:39:49.000000000 +0200
+++ linux-2.6.14-rc5.libata_pata/include/linux/libata.h 2005-10-20 14:41:38.000000000
+0200
@@ -40,7 +40,7 @@
#undef ATA_VERBOSE_DEBUG /* yet more debugging output */
#undef ATA_IRQ_TRAP /* define to ack screaming irqs */
#undef ATA_NDEBUG /* define to disable quick runtime checks */
-#undef ATA_ENABLE_PATA /* define to enable PATA support in some
+#define ATA_ENABLE_PATA /* define to enable PATA support in some
* low-level drivers */
#undef ATAPI_ENABLE_DMADIR /* enables ATAPI DMADIR bridge support */
It applies nicely to 2.6.14.3. I've _never_ had any lock ups with this, but,
of course, I cannot guarantee any thing. I'd backup my data before playing
with these things.
Øyvind
--
< Øyvind Stegard < oyvinst at ifi uio no >
<
http://www.oyvind.nu/
< `Lottery: A tax on people who are bad at math.'