Re: libata: CD and dvd devices not recognized

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

 



YUP wrote:
> Hi Albert,
> 
> Thanks for quick answer.
> 
>>> [   35.082749] Uniform CD-ROM driver Revision: 3.20
>>> [   35.083141] sr 0:0:0:0: Attached scsi CD-ROM sr0
>>> [   35.092019] sr1: scsi3-mmc drive: 231x/52x cd/rw xa/form2 cdda tray
>>> [   35.092385] sr 0:0:1:0: Attached scsi CD-ROM sr1
>>> [   35.099265] sr 0:0:0:0: Attached scsi generic sg0 type 5
>>> [   35.099296] sr 0:0:1:0: Attached scsi generic sg1 type 5
>>
>>
>> Both your HP DVD Writer 200j and AOpen 56X/AKH are detected correctly
>> as sr0 and sr1. (It might be /dev/scd0 and /dev/scd1 on your distro.)
>>
>> However, there are problems with the AOpen "E-IDE    CD-ROM 56X/AKH"
>> drive. It reports the strange "231x" speed and later timeout on INQUIRY.
> 
> 
> I've seen that, but! I have no devices like /dev/sr0 and /dev/sr1 nor
> /dev/scd0 and /dev/scd1.
> 
> 

Strange. But this is another problem. Let's focused on the "qc timeout"
problem first.

>>
>> Could you please replace the cable and/or connect the AOpen drive to
>> another PATA port and see if it makes the "qc timeout" go away, thanks.
> 
> 
> I tried replace the cable with no result. The second experiment was
> successful: I plugged DVD and cdrom separately to the different ports
> (before they were on one cable as master and slave), this time dvd runs
> well, but I can't see cdrom. I also tried play with master-slave,
> different combination with different cables etc. Result is the same -
> dvd is OK, cdrom causes annoying messages.  Maybe something is wrong
> with my cdrom. But under windows  everything works fine... And with
> 2.6.18 kernel everything was fine.
> 
> Yarema
> 
> Here is my dmesg:
> 
<snip>
> [   34.252968] libata version 2.00 loaded.
> [   34.255515] ata_piix 0000:00:1f.1: version 2.00ac7
> [   34.255556] PCI: Setting latency timer of device 0000:00:1f.1 to 64
> [   34.255697] ata1: PATA max UDMA/100 cmd 0x1F0 ctl 0x3F6 bmdma 0xF000
> irq 14
> [   34.255756] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xF008
> irq 15
> [   34.255777] scsi0 : ata_piix
> [   34.572543] ata1.00: ATAPI, max UDMA/33
> [   34.736223] ata1.00: configured for UDMA/33
> [   34.736252] scsi1 : ata_piix
> [   34.894233] scsi 0:0:0:0: CD-ROM            HP       DVD Writer 200j
>  1.36 PQ: 0 ANSI: 5
> [   34.900160] pata_pdc2027x 0000:02:01.0: version 0.74-ac5
> [   34.999368] pata_pdc2027x 0000:02:01.0: PLL input clock 16550 kHz
> [   35.029543] ata3: PATA max UDMA/133 cmd 0xE08617C0 ctl 0xE0861FDA
> bmdma 0xE0861000 irq 21
> [   35.029600] ata4: PATA max UDMA/133 cmd 0xE08615C0 ctl 0xE0861DDA
> bmdma 0xE0861008 irq 21
> [   35.029617] scsi2 : pata_pdc2027x
> [   35.048373] sr0: scsi3-mmc drive: 32x/32x writer cd/rw xa/form2 cdda
> tray
> [   35.048383] Uniform CD-ROM driver Revision: 3.20
> [   35.048479] sr 0:0:0:0: Attached scsi CD-ROM sr0
> [   35.055422] sr 0:0:0:0: Attached scsi generic sg0 type 5
> [   35.191725] ata3.00: ATA-7, max UDMA/100, 234493056 sectors: LBA48
> [   35.191732] ata3.00: ata3: dev 0 multi count 16
> [   35.199693] ata3.01: ATA-7, max UDMA/133, 320173056 sectors: LBA48
> [   35.199697] ata3.01: ata3: dev 1 multi count 16
> [   35.207679] ata3.00: Host Protected Area detected:
> [   35.207681]  current size: 234493056 sectors (120 GB)
> [   35.207683]  native size: 274965953385600 sectors (140782568 GB)
> [   35.207687] ata3.00: configured for UDMA/100
> [   35.215664] ata3.01: configured for UDMA/133
> [   35.215694] scsi3 : pata_pdc2027x
> [   35.382452] ATA: abnormal status 0x7F on port 0xE08615DF
> [   35.393825] ATA: abnormal status 0x7F on port 0xE08615DF
> [   35.555096] ata4.01: ATAPI, max MWDMA2
> [   35.718854] ata4.01: configured for MWDMA2
> [   35.721044] scsi 2:0:0:0: Direct-Access     ATA      SAMSUNG SP1203N
>  TL10 PQ: 0 ANSI: 5
> [   35.721824] scsi 2:0:0:0: Attached scsi generic sg1 type 0
> [   35.722015] scsi 2:0:1:0: Direct-Access     ATA      Maxtor 6Y160P0
>  YAR4 PQ: 0 ANSI: 5
> [   35.722742] scsi 2:0:1:0: Attached scsi generic sg2 type 0
> [   35.723427] scsi 3:0:1:0: CD-ROM            E-IDE    CD-ROM 56X/AKH
>  A80  PQ: 0 ANSI: 5
> [   35.732888] sr1: scsi3-mmc drive: 229x/52x cd/rw xa/form2 cdda tray
> [   35.733222] sr 3:0:1:0: Attached scsi CD-ROM sr1
> [   35.733642] sr 3:0:1:0: Attached scsi generic sg3 type 5

It was "sr1: scsi3-mmc drive: 231x/52x cd/rw xa/form2 cdda tray" and
this time it's "229x/52x"... Looks like one bit of data is changed.
Maybe signal interference?

<snip>

> [   65.749627] ata4.01: qc timeout (cmd 0xa0)
> [   65.749644] ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
> frozen
> [   65.749656] ata4.01: cmd a0/00:00:00:00:20/00:00:00:00:00/b0 tag 0
> cdb 0x12 data 254 in
> [   65.749658]          res 51/51:03:00:12:00/00:00:00:00:00/b0 Emask
> 0x5 (timeout)
> [   72.739179] ata4: port is slow to respond, please be patient (Status
> 0xd8)
> [   95.720773] ata4: port failed to respond (30 secs, Status 0xd8)
> [   95.720785] ata4: soft resetting port
> [   95.887933] ATA: abnormal status 0x7F on port 0xE08615DF
> [   95.899315] ATA: abnormal status 0x7F on port 0xE08615DF
> [   96.060304] ata4.01: failed to IDENTIFY (I/O error, err_mask=0x1)
> [   96.060311] ata4.01: revalidation failed (errno=-5)
> [   96.060321] ata4: failed to recover some devices, retrying in 5 secs
> [  101.056818] ata4: soft resetting port

I still have no clue what caused "qc timeout" here.

Could you please try:
1. Apply the attached HSM debug patch to mainline 2.6.20.3 kernel 
   and post the dmesg for debugging.
2. Turn off ATAPI DMA by adding one line of
 	{ "CD-ROM 56X/AKH", NULL,	ATA_HORKAGE_NODMA },
   to  ata_device_blacklist[] and see if it helps. 

Thanks.
--
albert

--- linux-2.6.20.3/drivers/ata/libata-core.c	2007-03-15 12:13:12.000000000 +0800
+++ linux-2.6.20.3-mod/drivers/ata/libata-core.c	2007-03-15 12:13:55.000000000 +0800
@@ -4371,8 +4371,9 @@ int ata_hsm_move(struct ata_port *ap, st
 	WARN_ON(in_wq != ata_hsm_ok_in_wq(ap, qc));
 
 fsm_start:
-	DPRINTK("ata%u: protocol %d task_state %d (dev_stat 0x%X)\n",
-		ap->id, qc->tf.protocol, ap->hsm_task_state, status);
+	if (is_atapi_taskfile(&qc->tf))
+		printk(KERN_ERR "ata%u: protocol %d task_state %d (dev_stat 0x%X)\n",
+		       ap->id, qc->tf.protocol, ap->hsm_task_state, status);
 
 	switch (ap->hsm_task_state) {
 	case HSM_ST_FIRST:
@@ -5091,8 +5092,9 @@ inline unsigned int ata_host_intr (struc
 	struct ata_eh_info *ehi = &ap->eh_info;
 	u8 status, host_stat = 0;
 
-	VPRINTK("ata%u: protocol %d task_state %d\n",
-		ap->id, qc->tf.protocol, ap->hsm_task_state);
+	if (is_atapi_taskfile(&qc->tf))
+		printk(KERN_ERR "ata%u: protocol %d task_state %d\n",
+		       ap->id, qc->tf.protocol, ap->hsm_task_state);
 
 	/* Check whether we are expecting interrupt in this state */
 	switch (ap->hsm_task_state) {

-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux