i386/60603: dd causes error when copying cd from ATA drives

Bruce Evans bde at zeta.org.au
Sun Dec 28 03:02:56 PST 2003


On Fri, 26 Dec 2003, Thomas Moyer wrote:

> >Description:
> When running the command dd bs=2048 if=/dev/acd0 of=cd.image the following error occurs
> acd0:FAILURE - READ_BIG status=51<READY,DSC,ERROR> sensekey=ILLEGAL REQUEST error=4<ABORTED>
> dd: /dev/acd0: Input/output error
> 250167+0 records in
> 250167+0 records out
> 512342016 bytes transferred in 841.234361 secs (609036 bytes/sec)
> >How-To-Repeat:
> Using GENERIC dd bs=2048 if=/dev/acd0 of=cd.image

I believe this is caused by a bad table of contents on the media.  The
TOC sometimes says that there are more blocks than there actually are,
and dd handles this perfectly by getting an i/o error attempting to
read a nonexistent block.

I see this problem deterministically for cd's written by burncd, perhaps
because I always create multi-session cd's.  Factory-burned cd's mostly
don't have it.  burncd seems to do the right things, but somehow the TOC
always says that the track has more sectors that burncd wrote.  Usually
only 1 more. but for small writes the minimum track length seems to be
300.  This is with "acd0: CDRW <RICOH CD-RW MP7320A> at ata1-master UDMA33"
I tried to use cdrecord on
"cd0: <RICOH CD-RW MP7320A bp13> Removable CD-ROM SCSI-0 device"
for comparison, but atapicam doesn't seem to support cdrecord.

Bruce


More information about the freebsd-i386 mailing list