Re: New CD/DVD drive - 80-wire cable detection failure

Previous thread: wait_for_completion_interruptible() changes by Geert Uytterhoeven on Thursday, October 18, 2007 - 1:05 pm. (3 messages)

Next thread: Fix guest time accounting going faster than user time accounting by Christian Borntraeger on Thursday, October 18, 2007 - 1:41 pm. (2 messages)
To: <linux-kernel@...>
Date: Thursday, October 18, 2007 - 1:32 pm

Hi all,

Please CC, not subscribed.

kernel 2.6.23

My DVD/CDrom stopped reading DVD's, so I purchased a new one today.

Old:
Oct 10 21:01:01 linuxamd kernel: ide0: BM-DMA at 0xd000-0xd007, BIOS
settings: hda:DMA, hdb:DMA
Oct 10 21:01:01 linuxamd kernel: ide1: BM-DMA at 0xd008-0xd00f, BIOS
settings: hdc:DMA, hdd:DMA

Oct 10 21:01:01 linuxamd kernel: hdd: ATAPI 48X DVD-ROM DVD-R CD-R/RW drive,
2048kB Cache, UDMA(66)
Oct 10 21:01:01 linuxamd kernel: Uniform CD-ROM driver Revision: 3.20

New:
Oct 18 17:32:20 linuxamd kernel: ide0: BM-DMA at 0xd000-0xd007, BIOS
settings: hda:DMA, hdb:DMA
Oct 18 17:32:20 linuxamd kernel: ide1: BM-DMA at 0xd008-0xd00f, BIOS
settings: hdc:DMA, hdd:DMA

Oct 18 17:32:20 linuxamd kernel: hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW
drive, 2048kB Cache, UDMA(33)
Oct 18 17:32:20 linuxamd kernel: Uniform CD-ROM driver Revision: 3.20

For some reason the new drive produces:

hdd: TSSTcorp CDDVDW SH-S202J, ATAPI CD/DVD-ROM drive
hdd: drive side 80-wire cable detection failed, limiting max speed to UDMA33

I boot with hdd=ide-cd

How to debug this to find out what is going on?

Thanks,

Nick
--
Free Software Foundation Associate Member 5508
-

To: <linux-kernel@...>
Date: Friday, October 19, 2007 - 3:49 pm

No help anyone? Did I buy a taboo drive?

nick@linuxamd:nick$ /usr/sbin/hdparm -i /dev/hdd

/dev/hdd:

Model=TSSTcorp CDDVDW SH-S202J, FwRev=SB00, SerialNo=
Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=0kB, MaxMultSect=0
(maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
IORDY=yes, tPIO={min:383,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2 udma3 udma4
AdvancedPM=no
Drive conforms to: unknown:

* signifies the current active mode

Any help to get this fixed (by me) would be welcome. I cannot find any
information on why this happens (or rather why the 'drive side') refuses to
see 80-wire ide cable.

Thanks,

Nick
--
Free Software Foundation Associate Member 5508
-

To: <nick@...>
Cc: <linux-kernel@...>, <linux-ide@...>
Date: Friday, October 19, 2007 - 4:28 pm

Hi,

Please try:

http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23/2.6.23...

or the latest kernel snapshot from kernel.org.

Thanks,
Bart
-

To: Bartlomiej Zolnierkiewicz <bzolnier@...>
Cc: <linux-kernel@...>, <linux-ide@...>
Date: Friday, October 19, 2007 - 5:03 pm

Hi Bart,

Thanks for assistance.

No change:

ide_setup: hdd=ide-cd
ide1: BM-DMA at 0xd008-0xd00f, BIOS settings: hdc:DMA, hdd:DMA
hdd: TSSTcorp CDDVDW SH-S202J, ATAPI CD/DVD-ROM drive
hdd: drive side 80-wire cable detection failed, limiting max speed to UDMA33
hdd: selected mode 0x42
hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(33)

Nick
--
Free Software Foundation Associate Member 5508
-

To: Nick Warne <nick@...>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@...>, <linux-kernel@...>, <linux-ide@...>
Date: Friday, October 19, 2007 - 5:07 pm

Did you try another cable? DId you try using both the old IDE drivers
and the new PATA libata drivers? What is the hdd=ide-cd supposed to
do? Do you have a device present as hdc and if not, then why not?
(Hint: ATA spec requires a master before you can have a slave, even
though it frequently does work with just a slave. Of course cable
select seems even nicer since then the device at the end of an 80 wire
cable is automatically master, and any additional device added to the
middle connector on the cable becomes slave, and you should not connect
a device to the middle connector without one on the end).

Also make sure the right end of the cable is connected to the mainboard,
just in case that matters.

--
Len Sorensen
-

To: Lennart Sorensen <lsorense@...>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@...>, <linux-kernel@...>, <linux-ide@...>
Date: Friday, October 19, 2007 - 5:12 pm

I have (since 2.6.15 at least) hda, hdb, hdc, and hdd.

hda and hdb are mounted at boot. hdc is not mounted, as I leave that drive
for backups and mount as needed.

All I done was replace a duff cd/dvd drive (hdd) with a new one.

Nick

--
Free Software Foundation Associate Member 5508
-

To: <nick@...>
Cc: Lennart Sorensen <lsorense@...>, <linux-kernel@...>, <linux-ide@...>
Date: Friday, October 19, 2007 - 5:44 pm

Ah, so the patch won't help (sorry, I didn't pay enough attention).

Len's advices are worth the try, also please send the output
of hdparm -I /dev/hdd.

Thanks,
Bart
-

To: Bartlomiej Zolnierkiewicz <bzolnier@...>
Cc: Lennart Sorensen <lsorense@...>, <linux-kernel@...>, <linux-ide@...>
Date: Friday, October 19, 2007 - 6:04 pm

Yes, Len's advice has me wondering now. Do I have a dodgy cable? I will have
to change that tomorrow.

But more info. The old drive played DVD movies etc. OK, but slowly it became
worse until I couldn't read any one of them 9 times out of 10. CD play
back/burning was OK 100% all the time though - so I guessed the dvd laser
(whatever it does) was dead - hence why I bought a new one.

The new drive works perfectly, but for the udma33 issue. If it was the cable,
why would it read/burn CD OK, but not DVD sometimes on the old drive?

hdparm -I

/dev/hdd:

ATAPI CD-ROM, with removable media
Model Number: TSSTcorp CDDVDW SH-S202J
Serial Number:
Firmware Revision: SB00
Standards:
Supported: CD-ROM ATAPI-3 -4 -5 -6 -7
Configuration:
DRQ response: 50us.
Packet size: 12 bytes
Capabilities:
LBA, IORDY(cannot be disabled)
DMA: mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=383ns IORDY flow control=120ns

BTW, thanks for help all.

Nick
--
Free Software Foundation Associate Member 5508
-

To: <nick@...>
Cc: Lennart Sorensen <lsorense@...>, <linux-kernel@...>, <linux-ide@...>
Date: Friday, October 19, 2007 - 6:28 pm

It should have been hdparm --Istdout (sorry, once again).

[ It is definitevely not my day, or rather trying to debug the problem
while preparing the next IDE pull request is not a such good idea... ]

From identify data we should be able to deduce whether this is a kernel
problem or rather a hardware/configuration one.

Thanks,
Bart
-

To: Bartlomiej Zolnierkiewicz <bzolnier@...>
Cc: Lennart Sorensen <lsorense@...>, <linux-kernel@...>, <linux-ide@...>
Date: Saturday, October 20, 2007 - 5:37 am

hdparm --Istdout /dev/hdd

/dev/hdd:
85c0 0000 0000 0000 0000 0000 0000 0000
0000 0000 2020 2020 2020 2020 2020 2020
2020 2020 2020 2020 0000 0000 0000 5342
3030 2020 2020 5453 5354 636f 7270 2043
4444 5644 5720 5348 2d53 3230 324a 2020
2020 2020 2020 2020 2020 2020 2020 0000
0000 0b00 0000 0200 0200 0006 0000 0000
0000 0000 0000 0000 0000 0000 0000 0007
0003 0078 0078 017f 0078 0000 0000 0000
0000 00f8 0210 0000 0000 0000 0000 0000
00f8 0210 0210 0000 0000 0000 0000 0000
041f 0000 8005 3200 005b 2000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 a8a5

There is some confusion on this drive now. Somebody sent me a link to tech
specs and that states it only does udma2 mode - but the specs I found state
it does udma4?

http://downloadcenter.samsung.com/content/UM/200708/20070823084759796_SH...

So knowing what these hardware firms are like, maybe it _is_ only udma2?

Thanks,

Nick
--
Free Software Foundation Associate Member 5508
-

To: Bartlomiej Zolnierkiewicz <bzolnier@...>
Cc: Lennart Sorensen <lsorense@...>, <linux-kernel@...>, <linux-ide@...>
Date: Saturday, October 20, 2007 - 8:22 am

Hi all,

SOLVED!

I built a new kernel today 2.6.23.1, and looked very closely at kernel
options.

Setting:

CONFIG_IDEDMA_IVB

did the trick!

hdd: TSSTcorp CDDVDW SH-S202J, ATAPI CD/DVD-ROM drive
hdd: selected mode 0x44
hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(66)

Thank you all for looking at this non-issue. Sorry for the noise!!!

--
Free Software Foundation Associate Member 5508
-

To: <nick@...>
Cc: Lennart Sorensen <lsorense@...>, <linux-kernel@...>, <linux-ide@...>
Date: Tuesday, October 23, 2007 - 7:33 pm

Hi,

Thanks, the identify block looks quite "interesting".

85c0 0000 0000 0000 0000 0000 0000 0000
0000 0000 2020 2020 2020 2020 2020 2020
2020 2020 2020 2020 0000 0000 0000 5342
3030 2020 2020 5453 5354 636f 7270 2043
4444 5644 5720 5348 2d53 3230 324a 2020
2020 2020 2020 2020 2020 2020 2020 0000
0000 0b00 0000 0200 0200 0006 0000 0000
0000 0000 0000 0000 0000 0000 0000 0007
0003 0078 0078 017f 0078 0000 0000 0000
0000 00f8 0210 0000 0000 0000 0000 0000
00f8 0210 0210 0000 0000 0000 0000 0000
041f 0000 8005 3200 005b 2000 0000 0000
[...]

word 93 is 0x2000

bit 0x4000 is not set despite the fact that ATA spec (>= ATA-5) requires
it to be set (the device claims ATA/ATAPI-3/4/5/6/7 compatiblity, a bit too
optimistic since it looks like the firmware was based on ATA/ATAPI-4 spec)

bit 0x2000 is set which would indicate that the 80-wires cable is
correctly detected by the device

=> the device/firmware pair is a good candidate for ivb_list[]

There seems to be a new firmware (SB01) for this device:
http://www.samsungodd.com/Lib/popup/Download.asp?path=FW_FWDownload&fnam...

We want kernel to automatically detect problematic hardware and apply
needed workarounds, _without_ the need for manual user intervention.

Definitely not the noise, quite the contrary (valuable input). :)

Could you try this patch?

[PATCH] ide: add SH-S202J to ivb_list[]

From the report by Nick Warne.

Cc: Nick Warne <nick@ukfsn.org>
Cc: Lennart Sorensen <lsorense@csclub.uwaterloo.ca>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
drivers/ide/ide-iops.c | 3 +++
1 file changed, 3 insertions(+)

Index: b/drivers/ide/ide-iops.c
===================================================================
--- a/drivers/ide/ide-iops.c
+++ b/drivers/ide/ide-iops.c
@@ -582,9 +582,12 @@ EXPORT_SYMBOL_GPL(ide_in_drive_list);
/*
* Early UDMA66 devices don't set bit14 to 1, only bit13 is valid.
* We list t...

To: Bartlomiej Zolnierkiewicz <bzolnier@...>
Cc: Lennart Sorensen <lsorense@...>, <linux-kernel@...>, <linux-ide@...>
Date: Wednesday, October 24, 2007 - 1:03 pm

Hi Bart,

I cannot use this - I haven't used windows at home for a few years, and have
no way to flash the device up. It would be interesting though if this does

Thank you! This works very well!

hdd: ATAPI 48X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache<7>hdd: skipping
word 93 validity check
, UDMA(66)

Many thanks indeed!

--
Free Software Foundation Associate Member 5508
-

To: <nick@...>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@...>, Lennart Sorensen <lsorense@...>, <linux-kernel@...>, <linux-ide@...>
Date: Wednesday, October 24, 2007 - 5:13 pm

Sigh I'd hoped that libata could avoid the word 93 mess but apparently
not. Bartlomiej - I've ported your IVB bits over into libata as a new
horkage type.

Alan
-

To: Nick Warne <nick@...>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@...>, <linux-kernel@...>, <linux-ide@...>
Date: Friday, October 19, 2007 - 6:12 pm

Well older DVD drives often only did udma33 so they would even care if
you had an 80 wire cable or not. Newer once often require more than
udma33 for full operation. I got a new drive about a year ago, and
burning dvd+rw at 4x worked great, but all dvd-r at 8x failed.
Eventually I realized I had to change the 40wire cable to an 80 wire,
and all problems disappeared. The drive works fine in udma4 mode
(whatever speed that is). My previous DVD-ROM drive had no problems

--
Len Sorensen
-

Previous thread: wait_for_completion_interruptible() changes by Geert Uytterhoeven on Thursday, October 18, 2007 - 1:05 pm. (3 messages)

Next thread: Fix guest time accounting going faster than user time accounting by Christian Borntraeger on Thursday, October 18, 2007 - 1:41 pm. (2 messages)