Need help debugging Plextor DVD-RW / external USB enclosure

Ulrich Spoerlein uspoerlein at gmail.com
Fri Aug 10 11:11:17 PDT 2007


Hi all,

I sent some messages in the past about this problem, but nothing has
turned up so far. I do have some new findings, though.
To recap: I cannot read (as in very, very basic commands) retail DVDs on
this drive. Burned DVD media works flawlessly, as do retail CDs. This has
little to do with region codes or CSS, as I cannot even access data DVDs
through USB/cd(4).

I cracked the drive open and attached the drive directly via ATA to a
recent -CURRENT.

It identifies as:
acd0: DVDR <PLEXTOR DVDR PX-755A/1.06> at ata1-master UDMA33
but really is an PX-760A as printed on the drive label.

*Everything* is working fine here. I can read retail DVDs (both data and
video). dvdbackup is doing it's job, rescuedisk, dd, and diskinfo, too.

Attaching it via atausb(4) through the Plextor bridge (initio
INIC-1530L), it identifies as 
atausb0: <PLEXTOR DVDR   PX-755A, class 0/0, rev 2.00/4.35, addr 2> on uhub0
atausb0: using ATAPI over Bulk-Only
ata2: <USB lun 0> on atausb0
acd1: DEVICE_RESET unsupported
acd1: DVDR <DVDR PX-755A/1.06> at ata2-master USB1
GEOM_LABEL: Label for provider acd1 is iso9660/FIREFLY_DISC2.

as you can see, geom_label can read the label, and I can even read some
bytes of the disk
igor# dd if=/dev/acd1 bs=2048 of=/dev/null
dd: /dev/acd1: Input/output error
304+0 records in
304+0 records out

running dvdbackup to get a track listing fails. Same can be seen when I
let the drive attach with a Prolific bridge chip (I attached it to an
external HDD enclosure)
atausb0: <Prolific PL-3507C USB Storage Device, class 0/0, rev 2.00/0.01, addr 2> on uhub0
atausb0: using SCSI over Bulk-Only
ata2: <USB lun 0> on atausb0
acd1: DEVICE_RESET unsupported
acd1: DVDR <DVDR PX-755A/1.06> at ata2-master USB1
GEOM_LABEL: Label for provider acd1 is iso9660/FIREFLY_DISC2.

Running dvdbackup leads to some weird taskqueue errors, though:
acd1: WARNING - TEST_UNIT_READY taskqueue timeout - completing request directly
acd1: WARNING - TEST_UNIT_READY freeing taskqueue zombie request
acd1: WARNING - PREVENT_ALLOW taskqueue timeout - completing request directly
acd1: WARNING - PREVENT_ALLOW freeing taskqueue zombie request
acd1: WARNING - TEST_UNIT_READY taskqueue timeout - completing request directly
acd1: WARNING - TEST_UNIT_READY freeing taskqueue zombie request
acd1: WARNING - READ_TOC taskqueue timeout - completing request directly
acd1: WARNING - READ_TOC freeing taskqueue zombie request
acd1: WARNING - READ_TOC taskqueue timeout - completing request directly
acd1: WARNING - READ_TOC freeing taskqueue zombie request
acd1: WARNING - READ_CAPACITY taskqueue timeout - completing request directly
acd1: WARNING - READ_CAPACITY freeing taskqueue zombie request
acd1: WARNING - READ_DVD_STRUCTURE taskqueue timeout - completing request directly
acd1: WARNING - TEST_UNIT_READY taskqueue timeout - completing request directly
acd1: WARNING - READ_DVD_STRUCTURE freeing taskqueue zombie request
acd1: WARNING - PREVENT_ALLOW taskqueue timeout - completing request directly
acd1: WARNING - TEST_UNIT_READY freeing taskqueue zombie request

Using the more usual umass(4)/cd(4) combo, accessing retail DVDs is
completely out of the question.

umass0: <PLEXTOR DVDR   PX-755A, class 0/0, rev 2.00/4.35, addr 2> on uhub0
umass0: 8070i (ATAPI) over Bulk-Only; quirks = 0x0000
umass0:0:0:-1: Attached to scbus0
cd0 at umass-sim0 bus 0 target 0 lun 0
cd0: <PLEXTOR DVDR   PX-755A 1.06> Removable CD-ROM SCSI-0 device 
cd0: 1.000MB/s transfers
cd0: cd present [3614880 x 2048 byte records]

umass0: <Prolific PL-3507C USB Storage Device, class 0/0, rev 2.00/0.01, addr 2> on uhub0
umass0: SCSI over Bulk-Only; quirks = 0x0000
umass0:0:0:-1: Attached to scbus0
cd0 at umass-sim0 bus 0 target 0 lun 0
cd0: <PLEXTOR DVDR   PX-755A 1.06> Removable CD-ROM SCSI-0 device 
cd0: 1.000MB/s transfers
cd0: cd present [3614880 x 2048 byte records]
igor# diskinfo -v /dev/cd0
diskinfo: /dev/cd0: ioctl(DIOCGMEDIASIZE) failed, probably not a disk.: No such file or directory
igor# dvdbackup -i /dev/cd0 -I
igor#

Funny thing is, that the kernel can somehow read the media size, as
shown in dmesg. But diskinfo can't and: geom_label is not reading the
label. On a side note, there is a ca. 5s pause between umass and the
first cd0 line. Perhaps some timeout occuring?

Pretty much the same thing happens if I attach the drive through
firewire/sbp, so I think it's not a usb/umass problem, but rather an
acd/cd problem.

And just FYI: Linux, NetBSD and OpenBSD don't show the problem. I'll try
with DragonFly over the weekend, if it is fixed there I'll diff the
source code to see if something comes up.

I would greatly appreciate, if someone could nudge me into the right
direction. Thanks!

Cheers,
Ulrich Spoerlein
-- 
It is better to remain silent and be thought a fool,
than to speak, and remove all doubt.


More information about the freebsd-current mailing list