public inbox for linux-ide@vger.kernel.org
 help / color / mirror / Atom feed
* PIONEER DVD-RW DVRTD08 is disabled if there is no disc present at boot time
@ 2008-12-21 21:18 linux-ide
  2008-12-22  0:22 ` Robert Hancock
  0 siblings, 1 reply; 12+ messages in thread
From: linux-ide @ 2008-12-21 21:18 UTC (permalink / raw)
  To: linux-ide


Hello,
several Sony Vaio laptops seem to have the PIONEER DVD-RW DVRTD08 DVD/CD
drive built in. This drive is available only when a disc is inserted
during boot.
when no disc is present, dmesg has

[    3.715535] ata2: SATA max UDMA/133 abar m2048@0xd3e04000 port
0xd3e04180 irq 218
[    4.368166] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    4.380063] ata2.00: ATAPI: PIONEER DVD-RW  DVRTD08, 1.00, max UDMA/33
[    9.380102] ata2.00: qc timeout (cmd 0xef)
[    9.380112] ata2.00: failed to set xfermode (err_mask=0x4)
[    9.700093] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[   19.712097] ata2.00: qc timeout (cmd 0xef)
[   19.712105] ata2.00: failed to set xfermode (err_mask=0x4)
[   19.712158] ata2: limiting SATA link speed to 1.5 Gbps
[   19.712160] ata2.00: limiting speed to UDMA/33:PIO3
[   20.032106] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   30.040084] ata2.00: qc timeout (cmd 0xef)
[   30.040091] ata2.00: failed to set xfermode (err_mask=0x4)
[   30.040144] ata2.00: disabled
[   30.056102] ata2: hard resetting link
[   30.376108] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   30.376114] ata2: EH complete

when a disc is present, dmesg has
[    3.804304] ata2: SATA max UDMA/133 irq_stat 0x00000040, cirq 219
[    5.268599] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    5.270213] ata2.00: ATAPI: PIONEER DVD-RW  DVRTD08, 1.00, max UDMA/33
[    5.272217] ata2.00: configured for UDMA/33

You'll find more details at http://ubuntuforums.org/showthread.php?p=6412465#post6412465

Having read http://www.mail-archive.com/linux-ide@vger.kernel.org/msg06127.html I guess it is not OK for the device to timeout in response to 0xef.
Still I would like to be able to use the drive without having to insert a CD at every boot. Is there any workaround? Can't the driver just treat
repeated timeouts like it would treat an abort?

Any help would be greatly appreciated.
Regards,
Moritz Rigler



^ permalink raw reply	[flat|nested] 12+ messages in thread

* PIONEER DVD-RW DVRTD08 is disabled if there is no disc present at boot time
@ 2008-12-21 21:36 linux-ide
  0 siblings, 0 replies; 12+ messages in thread
From: linux-ide @ 2008-12-21 21:36 UTC (permalink / raw)
  To: linux-ide


Hello,
several Sony Vaio laptops seem to have the PIONEER DVD-RW DVRTD08 DVD/CD
drive built in. This drive is available only when a disc is inserted
during boot.
when no disc is present, dmesg has

[    3.715535] ata2: SATA max UDMA/133 abar m2048@0xd3e04000 port
0xd3e04180 irq 218
[    4.368166] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    4.380063] ata2.00: ATAPI: PIONEER DVD-RW  DVRTD08, 1.00, max UDMA/33
[    9.380102] ata2.00: qc timeout (cmd 0xef)
[    9.380112] ata2.00: failed to set xfermode (err_mask=0x4)
[    9.700093] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[   19.712097] ata2.00: qc timeout (cmd 0xef)
[   19.712105] ata2.00: failed to set xfermode (err_mask=0x4)
[   19.712158] ata2: limiting SATA link speed to 1.5 Gbps
[   19.712160] ata2.00: limiting speed to UDMA/33:PIO3
[   20.032106] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   30.040084] ata2.00: qc timeout (cmd 0xef)
[   30.040091] ata2.00: failed to set xfermode (err_mask=0x4)
[   30.040144] ata2.00: disabled
[   30.056102] ata2: hard resetting link
[   30.376108] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[   30.376114] ata2: EH complete

when a disc is present, dmesg has
[    3.804304] ata2: SATA max UDMA/133 irq_stat 0x00000040, cirq 219
[    5.268599] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    5.270213] ata2.00: ATAPI: PIONEER DVD-RW  DVRTD08, 1.00, max UDMA/33
[    5.272217] ata2.00: configured for UDMA/33

You'll find more details at http://ubuntuforums.org/showthread.php?p=6412465#post6412465

Having read http://www.mail-archive.com/linux-ide@vger.kernel.org/msg06127.html I guess it is not OK for the device to timeout in response to 0xef.
Still I would like to be able to use the drive without having to insert a CD at every boot. Is there any workaround? Can't the driver just treat
repeated timeouts like it would treat an abort?

Any help would be greatly appreciated.
Regards,
Moritz Rigler



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: PIONEER DVD-RW DVRTD08 is disabled if there is no disc present at   boot time
  2008-12-21 21:18 linux-ide
@ 2008-12-22  0:22 ` Robert Hancock
  2008-12-22 10:02   ` Tejun Heo
  2008-12-22 11:57   ` linux-ide
  0 siblings, 2 replies; 12+ messages in thread
From: Robert Hancock @ 2008-12-22  0:22 UTC (permalink / raw)
  To: linux-ide

linux-ide@momail.e4ward.com wrote:
> Hello,
> several Sony Vaio laptops seem to have the PIONEER DVD-RW DVRTD08 DVD/CD
> drive built in. This drive is available only when a disc is inserted
> during boot.
> when no disc is present, dmesg has
> 
> [    3.715535] ata2: SATA max UDMA/133 abar m2048@0xd3e04000 port
> 0xd3e04180 irq 218
> [    4.368166] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> [    4.380063] ata2.00: ATAPI: PIONEER DVD-RW  DVRTD08, 1.00, max UDMA/33
> [    9.380102] ata2.00: qc timeout (cmd 0xef)
> [    9.380112] ata2.00: failed to set xfermode (err_mask=0x4)
> [    9.700093] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> [   19.712097] ata2.00: qc timeout (cmd 0xef)
> [   19.712105] ata2.00: failed to set xfermode (err_mask=0x4)
> [   19.712158] ata2: limiting SATA link speed to 1.5 Gbps
> [   19.712160] ata2.00: limiting speed to UDMA/33:PIO3
> [   20.032106] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> [   30.040084] ata2.00: qc timeout (cmd 0xef)
> [   30.040091] ata2.00: failed to set xfermode (err_mask=0x4)
> [   30.040144] ata2.00: disabled
> [   30.056102] ata2: hard resetting link
> [   30.376108] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> [   30.376114] ata2: EH complete
> 
> when a disc is present, dmesg has
> [    3.804304] ata2: SATA max UDMA/133 irq_stat 0x00000040, cirq 219
> [    5.268599] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> [    5.270213] ata2.00: ATAPI: PIONEER DVD-RW  DVRTD08, 1.00, max UDMA/33
> [    5.272217] ata2.00: configured for UDMA/33
> 
> You'll find more details at http://ubuntuforums.org/showthread.php?p=6412465#post6412465
> 
> Having read http://www.mail-archive.com/linux-ide@vger.kernel.org/msg06127.html I guess it is not OK for the device to timeout in response to 0xef.
> Still I would like to be able to use the drive without having to insert a CD at every boot. Is there any workaround? Can't the driver just treat
> repeated timeouts like it would treat an abort?

That case was a bit different in that it was a CompactFlash device 
(which has some different rules, especially older ones), but there was 
also a SATA-PATA bridge chip involved (which seems quite likely the case 
here too since the drive reports UDMA33 maximum). This could be another 
case of the bridge chip being broken. Set Features - Set Transfer Mode 
is a mandatory command that all ATA devices must implement, and the 
device really can't be used properly if it's not successful (for true 
SATA devices it's mostly vestigial, but if there's any actual PATA 
involved, it's required). It's rather bizarre that having a disc 
inserted avoids the problem.

Is there any firmware update available for the drive?


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: PIONEER DVD-RW DVRTD08 is disabled if there is no disc present at   boot time
  2008-12-22  0:22 ` Robert Hancock
@ 2008-12-22 10:02   ` Tejun Heo
  2008-12-22 12:13     ` linux-ide
  2008-12-22 11:57   ` linux-ide
  1 sibling, 1 reply; 12+ messages in thread
From: Tejun Heo @ 2008-12-22 10:02 UTC (permalink / raw)
  To: Robert Hancock; +Cc: linux-ide

Robert Hancock wrote:
> linux-ide@momail.e4ward.com wrote:
>> Hello,
>> several Sony Vaio laptops seem to have the PIONEER DVD-RW DVRTD08 DVD/CD
>> drive built in. This drive is available only when a disc is inserted
>> during boot.
>> when no disc is present, dmesg has
>>
>> [    3.715535] ata2: SATA max UDMA/133 abar m2048@0xd3e04000 port
>> 0xd3e04180 irq 218
>> [    4.368166] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>> [    4.380063] ata2.00: ATAPI: PIONEER DVD-RW  DVRTD08, 1.00, max UDMA/33
>> [    9.380102] ata2.00: qc timeout (cmd 0xef)
>> [    9.380112] ata2.00: failed to set xfermode (err_mask=0x4)
>> [    9.700093] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>> [   19.712097] ata2.00: qc timeout (cmd 0xef)
>> [   19.712105] ata2.00: failed to set xfermode (err_mask=0x4)
>> [   19.712158] ata2: limiting SATA link speed to 1.5 Gbps
>> [   19.712160] ata2.00: limiting speed to UDMA/33:PIO3
>> [   20.032106] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
>> [   30.040084] ata2.00: qc timeout (cmd 0xef)
>> [   30.040091] ata2.00: failed to set xfermode (err_mask=0x4)
>> [   30.040144] ata2.00: disabled
>> [   30.056102] ata2: hard resetting link
>> [   30.376108] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
>> [   30.376114] ata2: EH complete
>>
>> when a disc is present, dmesg has
>> [    3.804304] ata2: SATA max UDMA/133 irq_stat 0x00000040, cirq 219
>> [    5.268599] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
>> [    5.270213] ata2.00: ATAPI: PIONEER DVD-RW  DVRTD08, 1.00, max UDMA/33
>> [    5.272217] ata2.00: configured for UDMA/33
>>
>> You'll find more details at
>> http://ubuntuforums.org/showthread.php?p=6412465#post6412465
>>
>> Having read
>> http://www.mail-archive.com/linux-ide@vger.kernel.org/msg06127.html I
>> guess it is not OK for the device to timeout in response to 0xef.
>> Still I would like to be able to use the drive without having to
>> insert a CD at every boot. Is there any workaround? Can't the driver
>> just treat
>> repeated timeouts like it would treat an abort?
> 
> That case was a bit different in that it was a CompactFlash device
> (which has some different rules, especially older ones), but there was
> also a SATA-PATA bridge chip involved (which seems quite likely the case
> here too since the drive reports UDMA33 maximum). This could be another
> case of the bridge chip being broken. Set Features - Set Transfer Mode
> is a mandatory command that all ATA devices must implement, and the
> device really can't be used properly if it's not successful (for true
> SATA devices it's mostly vestigial, but if there's any actual PATA
> involved, it's required). It's rather bizarre that having a disc
> inserted avoids the problem.

Aiee... these broken devices.  :-(

So, w/ a disk inserted, there's no error whatsoever?  Can you please
post the output of "hdparm -I /dev/sr0"?

-- 
tejun

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: PIONEER DVD-RW DVRTD08 is disabled if there is no disc present at   boot time
  2008-12-22  0:22 ` Robert Hancock
  2008-12-22 10:02   ` Tejun Heo
@ 2008-12-22 11:57   ` linux-ide
  1 sibling, 0 replies; 12+ messages in thread
From: linux-ide @ 2008-12-22 11:57 UTC (permalink / raw)
  To: linux-ide



> linux-ide@momail.e4ward.com wrote:
> > Hello,
> > several Sony Vaio laptops seem to have the PIONEER DVD-RW DVRTD08 DVD/CD
> > drive built in. This drive is available only when a disc is inserted
> > during boot.
> > when no disc is present, dmesg has
> > 
> > [    3.715535] ata2: SATA max UDMA/133 abar m2048@0xd3e04000 port
> > 0xd3e04180 irq 218
> > [    4.368166] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> > [    4.380063] ata2.00: ATAPI: PIONEER DVD-RW  DVRTD08, 1.00, max UDMA/33
> > [    9.380102] ata2.00: qc timeout (cmd 0xef)
> > [    9.380112] ata2.00: failed to set xfermode (err_mask=0x4)
> > [    9.700093] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> > [   19.712097] ata2.00: qc timeout (cmd 0xef)
> > [   19.712105] ata2.00: failed to set xfermode (err_mask=0x4)
> > [   19.712158] ata2: limiting SATA link speed to 1.5 Gbps
> > [   19.712160] ata2.00: limiting speed to UDMA/33:PIO3
> > [   20.032106] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> > [   30.040084] ata2.00: qc timeout (cmd 0xef)
> > [   30.040091] ata2.00: failed to set xfermode (err_mask=0x4)
> > [   30.040144] ata2.00: disabled
> > [   30.056102] ata2: hard resetting link
> > [   30.376108] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> > [   30.376114] ata2: EH complete
> > 
> > when a disc is present, dmesg has
> > [    3.804304] ata2: SATA max UDMA/133 irq_stat 0x00000040, cirq 219
> > [    5.268599] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> > [    5.270213] ata2.00: ATAPI: PIONEER DVD-RW  DVRTD08, 1.00, max UDMA/33
> > [    5.272217] ata2.00: configured for UDMA/33
> > 
> > You'll find more details at http://ubuntuforums.org/showthread.php?p=6412465#post6412465
> > 
> > Having read http://www.mail-archive.com/linux-ide@vger.kernel.org/msg06127.html I guess it is not OK for the device to timeout in response to 0xef.
> > Still I would like to be able to use the drive without having to insert a CD at every boot. Is there any workaround? Can't the driver just treat
> > repeated timeouts like it would treat an abort?
> 
> That case was a bit different in that it was a CompactFlash device 
> (which has some different rules, especially older ones), but there was 
> also a SATA-PATA bridge chip involved (which seems quite likely the case 
> here too since the drive reports UDMA33 maximum). This could be another 
> case of the bridge chip being broken. Set Features - Set Transfer Mode 
> is a mandatory command that all ATA devices must implement, and the 
> device really can't be used properly if it's not successful (for true 
> SATA devices it's mostly vestigial, but if there's any actual PATA 
> involved, it's required). It's rather bizarre that having a disc 
> inserted avoids the problem.
> 
> Is there any firmware update available for the drive?

I've had a look on the Pioneer Website but I didn't find a firmware
update that was explicitly meant for this drive. I contacted
kenichi_tokudome@post.pioneer.co.jp who is listed at
http://www.serialata.org/integratorlist12.asp as the Pioneer contact for
that drive asking him about the problem and whether a firmware update
was available, but I have not yet received a reply, yet.

Moritz



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: PIONEER DVD-RW DVRTD08 is disabled if there is no disc present at   boot time
  2008-12-22 10:02   ` Tejun Heo
@ 2008-12-22 12:13     ` linux-ide
  2008-12-23  3:03       ` Tejun Heo
  0 siblings, 1 reply; 12+ messages in thread
From: linux-ide @ 2008-12-22 12:13 UTC (permalink / raw)
  To: linux-ide


Am Montag, den 22.12.2008, 19:02 +0900 schrieb ein unbekannter Absender:
> Robert Hancock wrote:
> > linux-ide@momail.e4ward.com wrote:
> >> Hello,
> >> several Sony Vaio laptops seem to have the PIONEER DVD-RW DVRTD08 DVD/CD
> >> drive built in. This drive is available only when a disc is inserted
> >> during boot.
> >> when no disc is present, dmesg has
> >>
> >> [    3.715535] ata2: SATA max UDMA/133 abar m2048@0xd3e04000 port
> >> 0xd3e04180 irq 218
> >> [    4.368166] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> >> [    4.380063] ata2.00: ATAPI: PIONEER DVD-RW  DVRTD08, 1.00, max UDMA/33
> >> [    9.380102] ata2.00: qc timeout (cmd 0xef)
> >> [    9.380112] ata2.00: failed to set xfermode (err_mask=0x4)
> >> [    9.700093] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> >> [   19.712097] ata2.00: qc timeout (cmd 0xef)
> >> [   19.712105] ata2.00: failed to set xfermode (err_mask=0x4)
> >> [   19.712158] ata2: limiting SATA link speed to 1.5 Gbps
> >> [   19.712160] ata2.00: limiting speed to UDMA/33:PIO3
> >> [   20.032106] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> >> [   30.040084] ata2.00: qc timeout (cmd 0xef)
> >> [   30.040091] ata2.00: failed to set xfermode (err_mask=0x4)
> >> [   30.040144] ata2.00: disabled
> >> [   30.056102] ata2: hard resetting link
> >> [   30.376108] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> >> [   30.376114] ata2: EH complete
> >>
> >> when a disc is present, dmesg has
> >> [    3.804304] ata2: SATA max UDMA/133 irq_stat 0x00000040, cirq 219
> >> [    5.268599] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> >> [    5.270213] ata2.00: ATAPI: PIONEER DVD-RW  DVRTD08, 1.00, max UDMA/33
> >> [    5.272217] ata2.00: configured for UDMA/33
> >>
> >> You'll find more details at
> >> http://ubuntuforums.org/showthread.php?p=6412465#post6412465
> >>
> >> Having read
> >> http://www.mail-archive.com/linux-ide@vger.kernel.org/msg06127.html I
> >> guess it is not OK for the device to timeout in response to 0xef.
> >> Still I would like to be able to use the drive without having to
> >> insert a CD at every boot. Is there any workaround? Can't the driver
> >> just treat
> >> repeated timeouts like it would treat an abort?
> > 
> > That case was a bit different in that it was a CompactFlash device
> > (which has some different rules, especially older ones), but there was
> > also a SATA-PATA bridge chip involved (which seems quite likely the case
> > here too since the drive reports UDMA33 maximum). This could be another
> > case of the bridge chip being broken. Set Features - Set Transfer Mode
> > is a mandatory command that all ATA devices must implement, and the
> > device really can't be used properly if it's not successful (for true
> > SATA devices it's mostly vestigial, but if there's any actual PATA
> > involved, it's required). It's rather bizarre that having a disc
> > inserted avoids the problem.
> 
> Aiee... these broken devices.  :-(
> 
> So, w/ a disk inserted, there's no error whatsoever?  
There's no error in dmesg output. But when I boot with a disk in the
drive, I get the following errors in the boot screen:
* Loading hardware devices
[23.927373] end_request: I/O error, dev sr0, sector 1431744
[23.927373] Buffer I/O error on device sr0, logical block 178968
and then several more with just a different number in the square
brackets. However, that does not seem to affect the operation of the
drive.
> Can you please
> post the output of "hdparm -I /dev/sr0"?

/dev/sr0:

ATAPI CD-ROM, with removable media
	Model Number:       PIONEER DVD-RW  DVRTD08                 
	Serial Number:      
	Firmware Revision:  1.00    
Standards:
	Likely used CD-ROM ATAPI-1
Configuration:
	DRQ response: 50us.
	Packet size: 12 bytes
Capabilities:
	LBA, IORDY(can be disabled)
	Buffer size: 64.0kB
	DMA: mdma0 mdma1 mdma2 udma0 udma1 *udma2 
	     Cycle time: min=120ns recommended=120ns
	PIO: pio0 pio1 pio2 pio3 pio4 
	     Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
	Enabled	Supported:
	   *	Power Management feature set
	   *	PACKET command feature set
	   *	DEVICE_RESET command
	   *	NOP cmd
	   *	SATA-I signaling speed (1.5Gb/s)
	   *	Host-initiated interface power management
	   *	Phy event counters
	    	Device-initiated interface power management
	   *	Software settings preservation




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: PIONEER DVD-RW DVRTD08 is disabled if there is no disc present at   boot time
  2008-12-22 12:13     ` linux-ide
@ 2008-12-23  3:03       ` Tejun Heo
  2008-12-24 13:40         ` linux-ide
  0 siblings, 1 reply; 12+ messages in thread
From: Tejun Heo @ 2008-12-23  3:03 UTC (permalink / raw)
  To: linux--ide-momail.e4ward.com-linux--ide-vger.kernel.org-CCE-pbwz-4
  Cc: linux-ide

[-- Attachment #1: Type: text/plain, Size: 690 bytes --]

linux-ide@momail.e4ward.com wrote:
> There's no error in dmesg output. But when I boot with a disk in the
> drive, I get the following errors in the boot screen:
> * Loading hardware devices
> [23.927373] end_request: I/O error, dev sr0, sector 1431744
> [23.927373] Buffer I/O error on device sr0, logical block 178968
> and then several more with just a different number in the square
> brackets. However, that does not seem to affect the operation of the
> drive.

Does the attached patch fix the problem?  Please do some data
integrity checks as it skips setxfermode on the drive.  If it's native
SATA, it probably should be okay but still it's way out of the spec.

Thanks.

-- 
tejun

[-- Attachment #2: nosetxfer.patch --]
[-- Type: text/x-patch, Size: 1518 bytes --]

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index c71f3ac..d89817a 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3303,14 +3303,17 @@ static int ata_dev_set_mode(struct ata_device *dev)
 	struct ata_eh_context *ehc = &dev->link->eh_context;
 	const char *dev_err_whine = "";
 	int ign_dev_err = 0;
-	unsigned int err_mask;
+	unsigned int err_mask = 0;
 	int rc;
 
 	dev->flags &= ~ATA_DFLAG_PIO;
 	if (dev->xfer_shift == ATA_SHIFT_PIO)
 		dev->flags |= ATA_DFLAG_PIO;
 
-	err_mask = ata_dev_set_xfermode(dev);
+	if (!(dev->horkage & ATA_HORKAGE_NOSETXFER))
+		err_mask = ata_dev_set_xfermode(dev);
+	else
+		dev_err_whine = " (SET_XFERMODE skipped)";
 
 	if (err_mask & ~AC_ERR_DEV)
 		goto fail;
@@ -4132,6 +4135,8 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
 	/* Devices that do not need bridging limits applied */
 	{ "MTRON MSP-SATA*",		NULL,	ATA_HORKAGE_BRIDGE_OK, },
 
+	{ "PIONEER DVD-RW  DVRTD08",	"1.00",	ATA_HORKAGE_NOSETXFER },
+
 	/* End Marker */
 	{ }
 };
diff --git a/include/linux/libata.h b/include/linux/libata.h
index b79c319..f647d26 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -376,6 +376,7 @@ enum {
 	ATA_HORKAGE_BRIDGE_OK	= (1 << 10),	/* no bridge limits */
 	ATA_HORKAGE_ATAPI_MOD16_DMA = (1 << 11), /* use ATAPI DMA for commands
 						    not multiple of 16 bytes */
+	ATA_HORKAGE_NOSETXFER	= (1 << 12),
 
 	 /* DMA mask for user DMA control: User visible values; DO NOT
 	    renumber */

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: PIONEER DVD-RW DVRTD08 is disabled if there is no disc present at   boot time
  2008-12-23  3:03       ` Tejun Heo
@ 2008-12-24 13:40         ` linux-ide
  2008-12-29  8:14           ` Tejun Heo
  0 siblings, 1 reply; 12+ messages in thread
From: linux-ide @ 2008-12-24 13:40 UTC (permalink / raw)
  To: linux-ide


Hello,
I've tried the patch (thanks a lot for your help) and it works more or
less. 

More precisely:
when booting without a CD in the drive:
* no errors during the boot
* the drive is now active (that's a big plus)
* it can read about half the CDs that I insert (in a sample of ~7 audio
and data, burnt and pressed), I have tested no DVDs yet, and I haven't
burnt anything yet
* sudo hdparm -I /dev/sr0 now gives

/dev/sr0:

ATAPI CD-ROM, with removable media
	Model Number:       PIONEER DVD-RW  DVRTD08                 
	Serial Number:      
	Firmware Revision:  1.00    
Standards:
	Likely used CD-ROM ATAPI-1
Configuration:
	DRQ response: 50us.
	Packet size: 12 bytes
Capabilities:
	LBA, IORDY(can be disabled)
	Buffer size: 64.0kB
	DMA: mdma0 mdma1 mdma2 udma0 udma1 *udma2 
	     Cycle time: min=120ns recommended=120ns
	PIO: pio0 pio1 pio2 pio3 pio4 
	     Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
	Enabled	Supported:
	   *	Power Management feature set
	   *	PACKET command feature set
	   *	DEVICE_RESET command
	   *	NOP cmd
	   *	SATA-I signaling speed (1.5Gb/s)
	   *	Host-initiated interface power management
	   *	Phy event counters
	    	Device-initiated interface power management
	   *	Software settings preservation


* and the error log when a CD can't be read looks like this (dmesg tail)
[  227.213893] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
driverbyte=DRIVER_SENSE,SUGGEST_OK
[  227.213914] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
[  227.213926] Info fld=0x2e81
[  227.213930] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
[  227.213942] end_request: I/O error, dev sr0, sector 47616
[  227.213954] Buffer I/O error on device sr0, logical block 5952
[  234.227424] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
driverbyte=DRIVER_SENSE,SUGGEST_OK
[  234.227446] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
[  234.227457] Info fld=0x2e81
[  234.227461] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
[  234.227473] end_request: I/O error, dev sr0, sector 47616
[  234.227484] Buffer I/O error on device sr0, logical block 5952
[  241.163142] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
driverbyte=DRIVER_SENSE,SUGGEST_OK
[  241.163162] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
[  241.163173] Info fld=0x2e81
[  241.163177] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
[  241.163189] end_request: I/O error, dev sr0, sector 47616
[  241.163200] Buffer I/O error on device sr0, logical block 5952
[  248.171706] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
driverbyte=DRIVER_SENSE,SUGGEST_OK
[  248.171726] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
[  248.171738] Info fld=0x2e81
[  248.171742] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
[  248.171754] end_request: I/O error, dev sr0, sector 47616
[  248.171765] Buffer I/O error on device sr0, logical block 5952
[  255.183025] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
driverbyte=DRIVER_SENSE,SUGGEST_OK
[  255.183044] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
[  255.183056] Info fld=0x2e81
[  255.183060] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
[  255.183072] end_request: I/O error, dev sr0, sector 47616
[  255.183083] Buffer I/O error on device sr0, logical block 5952
[  262.195902] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
driverbyte=DRIVER_SENSE,SUGGEST_OK
[  262.195920] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
[  262.195932] Info fld=0x2e81
[  262.195936] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
[  262.195948] end_request: I/O error, dev sr0, sector 47616
[  262.195961] Buffer I/O error on device sr0, logical block 5952
[  269.198031] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
driverbyte=DRIVER_SENSE,SUGGEST_OK
[  269.198051] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
[  269.198063] Info fld=0x2e81
[  269.198067] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
[  269.198079] end_request: I/O error, dev sr0, sector 47616
[  269.198090] Buffer I/O error on device sr0, logical block 5952
[  276.667490] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
driverbyte=DRIVER_SENSE,SUGGEST_OK
[  276.667509] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
[  276.667521] Info fld=0x2e81
[  276.667525] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
[  276.667536] end_request: I/O error, dev sr0, sector 47616
[  276.667547] Buffer I/O error on device sr0, logical block 5952

* When booting with a CD that doesn't work after an 'empty boot', I get
similar errors as before (and like the last pair of lines above), but
the CD can be read. When I insert another CD that didn't work after an
empty boot afterwards, it still doesn't work.

I guess that this is a state of things I can more or less live with
(unless you have a still better idea), I don't know whether the patch
should go in the trunk. Though it doesn't completely fix things, for me
it's better than before. Obviously, it would be best if the Pioneer
people fixed their broken firmware soon, which I hope they will.

Anyway, thank you very much for your help. With other OSs it's probably
not so easy to get developer support ;-)

Merry christmas,
Moritz



Am Dienstag, den 23.12.2008, 12:03 +0900 schrieb
linux-ide@vger.kernel.org:
> linux-ide@momail.e4ward.com wrote:
> > There's no error in dmesg output. But when I boot with a disk in the
> > drive, I get the following errors in the boot screen:
> > * Loading hardware devices
> > [23.927373] end_request: I/O error, dev sr0, sector 1431744
> > [23.927373] Buffer I/O error on device sr0, logical block 178968
> > and then several more with just a different number in the square
> > brackets. However, that does not seem to affect the operation of the
> > drive.
> 
> Does the attached patch fix the problem?  Please do some data
> integrity checks as it skips setxfermode on the drive.  If it's native
> SATA, it probably should be okay but still it's way out of the spec.
> 
> Thanks.
> 



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: PIONEER DVD-RW DVRTD08 is disabled if there is no disc present at   boot time
  2008-12-24 13:40         ` linux-ide
@ 2008-12-29  8:14           ` Tejun Heo
  2008-12-29 21:32             ` linux-ide
  2008-12-29 22:11             ` Peter Klotz
  0 siblings, 2 replies; 12+ messages in thread
From: Tejun Heo @ 2008-12-29  8:14 UTC (permalink / raw)
  To: linux--ide-momail.e4ward.com-linux--ide-vger.kernel.org-CD0-57es-4
  Cc: linux-ide

Hello,

linux-ide@momail.e4ward.com wrote:
> Hello,
> I've tried the patch (thanks a lot for your help) and it works more or
> less. 
> 
> More precisely:
> when booting without a CD in the drive:
> * no errors during the boot
> * the drive is now active (that's a big plus)
> * it can read about half the CDs that I insert (in a sample of ~7 audio
> and data, burnt and pressed), I have tested no DVDs yet, and I haven't
> burnt anything yet

Hmmm...

> * and the error log when a CD can't be read looks like this (dmesg tail)
> [  227.213893] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
> driverbyte=DRIVER_SENSE,SUGGEST_OK
> [  227.213914] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
> [  227.213926] Info fld=0x2e81
> [  227.213930] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
> [  227.213942] end_request: I/O error, dev sr0, sector 47616
> [  227.213954] Buffer I/O error on device sr0, logical block 5952
> [  234.227424] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
> driverbyte=DRIVER_SENSE,SUGGEST_OK
> [  234.227446] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
> [  234.227457] Info fld=0x2e81
> [  234.227461] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
> [  234.227473] end_request: I/O error, dev sr0, sector 47616
> [  234.227484] Buffer I/O error on device sr0, logical block 5952
> [  241.163142] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
> driverbyte=DRIVER_SENSE,SUGGEST_OK
...
> * When booting with a CD that doesn't work after an 'empty boot', I get
> similar errors as before (and like the last pair of lines above), but
> the CD can be read. When I insert another CD that didn't work after an
> empty boot afterwards, it still doesn't work.

Those errors shouldn't have much to do with how the transport is
configured.  These are the drive failing to read the media and these
errors can be quite indetermininstic, so it's possible that the
pattern really isn't a pattern but then again the drive doesn't seem
to have much problem being peculiar.  Can you please test more times
and verify the pattern?

> I guess that this is a state of things I can more or less live with
> (unless you have a still better idea), I don't know whether the patch
> should go in the trunk. Though it doesn't completely fix things, for me
> it's better than before. Obviously, it would be best if the Pioneer
> people fixed their broken firmware soon, which I hope they will.

As the behavior is so peculiar, one thing I'm worried about is whether
the problem is common to the model or is specific to the drive.  If
the former, it should go into mainline.  Do you happen to know anyone
who has the same model?

> Anyway, thank you very much for your help. With other OSs it's probably
> not so easy to get developer support ;-)

Happy new year.  :-)

-- 
tejun

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: PIONEER DVD-RW DVRTD08 is disabled if there is no disc present at   boot time
  2008-12-29  8:14           ` Tejun Heo
@ 2008-12-29 21:32             ` linux-ide
  2009-01-06 22:51               ` linux-ide
  2008-12-29 22:11             ` Peter Klotz
  1 sibling, 1 reply; 12+ messages in thread
From: linux-ide @ 2008-12-29 21:32 UTC (permalink / raw)
  To: linux-ide


Am Montag, den 29.12.2008, 17:14 +0900 schrieb
linux-ide@vger.kernel.org:

> ...
> > * When booting with a CD that doesn't work after an 'empty boot', I get
> > similar errors as before (and like the last pair of lines above), but
> > the CD can be read. When I insert another CD that didn't work after an
> > empty boot afterwards, it still doesn't work.
> 
> Those errors shouldn't have much to do with how the transport is
> configured.  These are the drive failing to read the media and these
> errors can be quite indetermininstic, so it's possible that the
> pattern really isn't a pattern but then again the drive doesn't seem
> to have much problem being peculiar.  Can you please test more times
> and verify the pattern?

I have randomly tested a few CDs and DVDs since my last post, and there
were none that didn't work (after an "empty boot"). Since I found all
those that did not work before at my parents' there is a chance that
those CDs were not in the best of states. I will be far from a computer
during the next couple of days. But afterwards I plan to do some more
systematic tests, and I will also attempt to burn a CD and a DVD. 
> 
> As the behavior is so peculiar, one thing I'm worried about is whether
> the problem is common to the model or is specific to the drive.  If
> the former, it should go into mainline.  Do you happen to know anyone
> who has the same model?
The basic problem seems to be common to the model (or at least to more
than just my drive) since there are several posts by other people:
http://ubuntuforums.org/showthread.php?t=986871
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/299865
None of them has a solution or workaround. I think I had found more
reports before this thread started to dominate the search engine results
on the issue. As far as I see your patch skips setxfer only after a
failed first try. That should prevent it from affecting drives that
don't show the problem.

Happy New Year,

Moritz





^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: PIONEER DVD-RW DVRTD08 is disabled if there is no disc present at   boot time
  2008-12-29  8:14           ` Tejun Heo
  2008-12-29 21:32             ` linux-ide
@ 2008-12-29 22:11             ` Peter Klotz
  1 sibling, 0 replies; 12+ messages in thread
From: Peter Klotz @ 2008-12-29 22:11 UTC (permalink / raw)
  To: linux-ide

Tejun Heo wrote:
>> * and the error log when a CD can't be read looks like this (dmesg tail)
>> [  227.213893] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
>> driverbyte=DRIVER_SENSE,SUGGEST_OK
>> [  227.213914] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
>> [  227.213926] Info fld=0x2e81
>> [  227.213930] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
>> [  227.213942] end_request: I/O error, dev sr0, sector 47616
>> [  227.213954] Buffer I/O error on device sr0, logical block 5952
>> [  234.227424] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
>> driverbyte=DRIVER_SENSE,SUGGEST_OK
>> [  234.227446] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
>> [  234.227457] Info fld=0x2e81
>> [  234.227461] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
>> [  234.227473] end_request: I/O error, dev sr0, sector 47616
>> [  234.227484] Buffer I/O error on device sr0, logical block 5952
>> [  241.163142] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK
>> driverbyte=DRIVER_SENSE,SUGGEST_OK
> ...
> 
> Those errors shouldn't have much to do with how the transport is
> configured.  These are the drive failing to read the media and these
> errors can be quite indetermininstic, so it's possible that the
> pattern really isn't a pattern but then again the drive doesn't seem
> to have much problem being peculiar.  Can you please test more times
> and verify the pattern?
> 

These errors remind me of this Ubuntu 8.10 bug:

https://bugs.launchpad.net/ubuntu/+bug/295795

This bug only shows up on discs burnt with Brasero, never on discs burnt 
with K3b.

Regards, Peter.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: PIONEER DVD-RW DVRTD08 is disabled if there is no disc present at   boot time
  2008-12-29 21:32             ` linux-ide
@ 2009-01-06 22:51               ` linux-ide
  0 siblings, 0 replies; 12+ messages in thread
From: linux-ide @ 2009-01-06 22:51 UTC (permalink / raw)
  To: linux-ide


Am Montag, den 29.12.2008, 22:32 +0100 schrieb ein unbekannter Absender:
> 
> Am Montag, den 29.12.2008, 17:14 +0900 schrieb
> linux-ide@vger.kernel.org:
> 
> I have randomly tested a few CDs and DVDs since my last post, and there
> were none that didn't work (after an "empty boot"). 
>  But afterwards I plan to do some more
> systematic tests, and I will also attempt to burn a CD and a DVD. 
Hi, I have successfully burnt several Video-DVDs (with growisofs; on
DVD-R and DVD+RW media), an Audio-CD (brasero) and a Data-CD (brasero).
Also, I have not experienced any more problems reading CDs or DVDs. I
guess that the CDs that did not work after I applied the patch were
damaged.
Therefore, I tend to regard the problem as fixed by tejun's patch and I
would recommend to let it go into mainline.
Thank you once more for your valuable help.
Moritz
 



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2009-01-06 23:24 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-21 21:36 PIONEER DVD-RW DVRTD08 is disabled if there is no disc present at boot time linux-ide
  -- strict thread matches above, loose matches on Subject: below --
2008-12-21 21:18 linux-ide
2008-12-22  0:22 ` Robert Hancock
2008-12-22 10:02   ` Tejun Heo
2008-12-22 12:13     ` linux-ide
2008-12-23  3:03       ` Tejun Heo
2008-12-24 13:40         ` linux-ide
2008-12-29  8:14           ` Tejun Heo
2008-12-29 21:32             ` linux-ide
2009-01-06 22:51               ` linux-ide
2008-12-29 22:11             ` Peter Klotz
2008-12-22 11:57   ` linux-ide

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox