cdrom read errors.
hi all,
investigating cdrom read errors.
- error only occurs at the very end of the disc
- error occurs wether using dd or cat
- error occurs wether using hdparm or not
- error occurs wether media is mounted or not
- resulting iso seems just fine.
- error seems to occur randomly among discs, but consistently for a single
disc.
(pts/8)jason@marsala:/tmp$ sdd if=/dev/cdrom of=foo.iso
sdd: Input/output error. Error reading '/dev/cdrom'.
sdd: Read 1116528 records + 0 bytes (total of 571662336 bytes = 558264.00k).
sdd: Wrote 1116528 records + 0 bytes (total of 571662336 bytes = 558264.00k).
(pts/8)jason@marsala:/tmp$ cat /dev/cdrom > foo2.iso
cat: /dev/cdrom: Input/output error
(pts/8)jason@marsala:/tmp$ mount /mnt/cdrom/
(pts/8)jason@marsala:/tmp$ cat /dev/cdrom > foo3.iso
cat: /dev/cdrom: Input/output error
after the error:
(pts/8)root@marsala:~$ /sbin/hdparm /dev/cdrom
/dev/cdrom:
HDIO_GET_MULTCOUNT failed: Invalid argument
I/O support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
HDIO_GET_NOWERR failed: Invalid argument
readonly = 1 (on)
readahead = 8 (on)
HDIO_GETGEO failed: Invalid argument
busstate = 1 (on)
after running hdparm.sh:
(pts/8)root@marsala:~$ /sbin/hdparm /dev/cdrom
/dev/cdrom:
HDIO_GET_MULTCOUNT failed: Invalid argument
I/O support = 0 (default 16-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
HDIO_GET_NOWERR failed: Invalid argument
readonly = 1 (on)
readahead = 8 (on)
HDIO_GETGEO failed: Invalid argument
busstate = 1 (on)
hdparm.sh: (/dev/cdrom is /dev/hdc)
(pts/8)root@marsala:~$ cat /etc/init.d/hdparm.sh
#! /bin/sh
# hdparm script
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAXTOR=/dev/hda
WD=/dev/hdb
DVD=/dev/hdc
BURNER=/dev/hdd
case "$1" in
start)
echo -n "Adjusting drive parameters using hdparm... "
# d1 = dma on
# c3 = 32bit io w/sync
# m16 = read upto 16 sectors at a time
# u1 = unmask other interrupts while processing disk interrupt
if [ `hostname` == "marsala" ]
then
hdparm -d1 -c3 -m16 -u1 $MAXTOR
hdparm -d1 -c3 -m16 -u1 $WD
hdparm -d1 -u1 $DVD
# hdparm -d1 -u1 $BURNER
fi
echo "done."
;;
stop)
;;
restart|force-reload)
;;
*)
;;
esac
exit 0
anyone have any ideas what is causing this? my only guess is that the cdrom
is trying to read past the end of the media?
thanks,
jason pepas
Reply to: