[lug] dd i/o error

Bear Giles bgiles at coyotesong.com
Wed Jun 5 09:24:24 MDT 2002


> when i use this command
> dd if=/dev/cdrom1 of=file.iso bs=2048
> 
> i get a i/o error unless the cd i am copying
> is brand new

There are several possibilities:

1) Since there's no 'count' parameter, dd will try copying data 
   forever.  When you eventually hit the end of the data, you'll
   get an I/O error.  I think dd is now smart enough to check the
   size of the device, if possible, but your drive may not be
   smart enough to report it to the system.  (I use SCSI drives,
   but I know most people use IDE drives.)

2) The disc may be truncated if it was mastered with 512- or 1024-
   byte blocks.  After all, nobody really uses Sun hardware!  :-)
   I think mkisofs follows the standard, but it's possible that
   other tools aren't as careful.

3) There may be hardware problems.  Using 'dd' like this tends to
   be intense, and marginal hardware can fail here even if it 
   normally works okay.

   This may not even be a problem with the CD hardware - perhaps
   the hard disk & controller can't handle this sustained load.
   That's easy to check: 

     # dd if=/dev/hda of=/dev/null

   Do *not* reverse the 'if' and 'of', unless you want a spanking
   clean disk!

> some cd will copy futher than others,

That's normal - a CD may be able to hold 650 MB, but it's common
to see CDs with under 100 MB.  I've seen some with only ~10 MB.

> I tried readcd it errors
> and so does
> cat /dev/cdrom1 > file.iso...i also tried
> xcdroast , this seemed to work but left nero5.5 in
> several diffrent tracks and file extensions.

This sounds much more like hardware problems.  Don't assume
there are no problems just because one program didn't report
any - it may be ignoring errors, or it may incorporate better
error handling than dd or cat.

Bear



More information about the LUG mailing list