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.'