# ide + scsi + sata ? [solved]

## PtitLu

Hello.

Quick description of my system :

MB : i865 chipset

4 P-ata disks

1 scsi card with a cd-reader & a cd-burner on it

and a new sata dvd-burner

lspci -> 

```
0000:00:1f.2 IDE interface: Intel Corp. 82801EB (ICH5) SATA Controller (rev 02)
```

BIOS ok. sata peripheral detected

```
libata version 1.10 loaded.

ata_piix version 1.03

PCI: Setting latency timer of device 0000:00:1f.2 to 64

ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0xFC00 irq 14

ata1: dev 0 cfg 49:0f00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407

ata1: dev 0 ATAPI, max UDMA/33

ata1: dev 0 configured for UDMA/33

scsi0 : ata_piix
```

Kernel, SCSI section :

```
<*> SCSI device support                                                        

[*]   legacy /proc/scsi/ support                                               

<*>   SCSI disk support 

<*>   SCSI CDROM support                                                       

<*>   SCSI generic support
```

 SCSI low-level drivers subsection :

```
[*] Serial ATA (SATA) support

<*>   AHCI SATA support                                                             

<*>   Intel PIIX/ICH SATA support
```

No hde or sd* (sr*) created in .dev that links to this dvd-burner.

sr0 & sr1 are my native scsi peripherals.

If anyone can help me ,it would be ... a second christmas present  :Wink: Last edited by PtitLu on Mon Dec 27, 2004 1:21 am; edited 1 time in total

----------

## PtitLu

ooops, missing information : kernel → 2.6.10-gentoo

----------

## PtitLu

dmesg :

```
Probing IDE interface ide0...

hda: IBM-DTLA-307045, ATA DISK drive

hdb: IC35L120AVVA07-0, ATA DISK drive

Probing IDE interface ide1...

hdc: Maxtor 6Y080P0, ATA DISK drive

hdd: ST3120022A, ATA DISK drive

Probing IDE interface ide2...

ide2: Wait for ready failed before probe !

Probing IDE interface ide3...

ide3: Wait for ready failed before probe !

Probing IDE interface ide4...

ide4: Wait for ready failed before probe !

Probing IDE interface ide5...

ide5: Wait for ready failed before probe !
```

[...]

```
libata version 1.10 loaded.

ata_piix version 1.03

PCI: Setting latency timer of device 0000:00:1f.2 to 64

ata1: SATA max UDMA/133 cmd 0xEC00 ctl 0xE802 bmdma 0xDC00 irq 18

ata2: SATA max UDMA/133 cmd 0xE400 ctl 0xE002 bmdma 0xDC08 irq 18

ata1: dev 0 cfg 49:0f00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407

ata1: dev 0 ATAPI, max UDMA/33

ata1: dev 0 configured for UDMA/33

scsi0 : ata_piix

ata2: SATA port has no device.

scsi1 : ata_piix
```

Any idea ?  :Sad: 

----------

## andyfaeglasgow

Unless I'm mistaken, you haven't actually said what your problem is - just given us an overview of your hardware  :Smile: 

----------

## PtitLu

the problem was the sata dvd burner was not recognized by the system.

After a mail sent to the maintainer of the libata.c file, his answer was :

change, in include/linux/libata.h

#undef ATA_ENABLE_ATAPI         /* define to enable ATAPI support */

to

#define ATA_ENABLE_ATAPI         /* define to enable ATAPI support */

And it works

```
ata1: SATA max UDMA/133 cmd 0xEC00 ctl 0xE802 bmdma 0xDC00 irq 18

ata2: SATA max UDMA/133 cmd 0xE400 ctl 0xE002 bmdma 0xDC08 irq 18

ata1: dev 0 cfg 49:0f00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407

ata1: dev 0 ATAPI, max UDMA/33

ata1: dev 0 configured for UDMA/33

scsi0 : ata_piix

ata2: SATA port has no device.

scsi1 : ata_piix

  Vendor: PLEXTOR   Model: DVDR   PX-712A    Rev: 1.04

  Type:   CD-ROM                             ANSI SCSI revision: 05

```

 :Wink: 

Thanks a lot to Jeff Garzik

----------

## orzetto

 *PtitLu wrote:*   

> change, in include/linux/libata.h
> 
> #undef ATA_ENABLE_ATAPI         /* define to enable ATAPI support */
> 
> to
> ...

 

Doh!

Had the same problem with a Plextor 712SA, tried this, and crashed the kernel on bootup when scanning the SATA bus... did you do anything else other than changing that source file and launching "make" (and copying the files of course)?

uname -a: Linux helvete 2.6.9-gentoo-r14 #7 Tue Mar 1 23:34:29 CET 2005 x86_64 AMD Athlon(tm) 64 Processor 3200+ AuthenticAMD GNU/Linux

----------

## PtitLu

nothing more.

Linux rabbit.biscuit.home 2.6.10-gentoo-r6 #1 Sat Jan 29 21:16:19 CET 2005 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz GenuineIntel GNU/Linux

----------

## orzetto

I get an error message like:

```
ata2: BUG: timeout without command
```

However I read that the problem might be support of the SATA controller rather than the drive itself. I am using an NVidia controller, and therefore the sata_nv module. Maybe that explains it. Or maybe I have to unmask the 2.6.10 kernel.

----------

## orzetto

Just to confirm: after upgrading to 2.6.10 the trick works!  :Very Happy: 

----------

## garris0n

 *PtitLu wrote:*   

> change, in include/linux/libata.h
> 
> #undef ATA_ENABLE_ATAPI         /* define to enable ATAPI support */
> 
> to
> ...

 

and thanks to PtitLu for posting this here;  you posted after I noticed that my burner was slow, but before I had actually found any time to really concern myself with it.

I love when that happens.

----------

## stormer

Thank you for this note.  It works !  A small note for the ones compiling this driver into there kernel.  There is a conflict between sata_piix and generic IDE driver, don't put both at the same time because sata_piix will get a busy device since it is loaded after generic one.

----------

## mjbjr

 *stormer wrote:*   

> Thank you for this note.  It works !  A small note for the ones compiling this driver into there kernel.  There is a conflict between sata_piix and generic IDE driver, don't put both at the same time because sata_piix will get a busy device since it is loaded after generic one.

 

Could you tell us which two drivers you're talking about?  The ones that have the conflict.

Also, does your dmesg report:

"libata version xxx  loaded. "

If so, can you say what you did to get 'libata'?

.

.

----------

## stormer

Ok, let put more symboles.  BLK_DEV_IDEDMA_PCI was it conflict with CONFIG_SCSI_ATA_PIIX.  BLK_DEV_IDEDMA_PCI seems to open cdrom io before CONFIG_SCSI_ATA_PIIX.  So you have to make sure you have this in /usr/src/linux/.config

```
#BLK_DEV_IDEDMA_PCI is not set
```

or,

```
BLK_DEV_IDEDMA_PCI=m
```

Then it is sure that you'll neet scsi sata support for PIIX (don't forget to change de defines in code)

```
CONFIG_SCSI_ATA_PIIX=y
```

The previous one could be a module too.

After rebooting, you will find your cdrom placed on device /dev/sr0.  You'll need to fix symlinks /dev/cdrom /dev/cdrw /dev/dvd /dev/cdroms/cdrom0 to point to /dev/sr0.

----------

## stormer

Heres the output from dmesg.

```
libata version 1.10 loaded.

ata_piix version 1.03

ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0xBFA0 irq 14

ata1: dev 0 cfg 49:0f00 82:746b 83:7fe8 84:4023 85:f469 86:3c48 87:4023 88:203f

ata1: dev 0 ATA, max UDMA/100, 156301488 sectors: lba48

ata1: dev 0 configured for UDMA/100

scsi0 : ata_piix

ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xBFA8 irq 15

ata2: dev 0 cfg 49:0f00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407

ata2: dev 0 ATAPI, max UDMA/33

ata2: dev 0 configured for UDMA/33

scsi1 : ata_piix

```

----------

## Daeluin

bingo!

the undef/define trick works here with Plextor 716SA and kernel 2.6.11 (gentoo-r7)

thanks!

----------

## andrusky

Worked for me too, but has anyone been able to burn dvds with it? I can burn cds, but when burning dvds it locks up my whole system.

----------

## andrusky

Never mind. I upgraded to gentoo-sources-2.6.12 and it all works now (still need to modify /usr/src/linux/include/linux/libata.h). I'm burning a DVD+R DL right now.

----------

## Dio-Sama

do the plextor *SA models works without any changes by now?

i just wanted to make sure because i ordered one of them..

----------

