I recently bought a Plextor PX-W1610A CD-RW drive, and it appears to
write CD-RW media fine, but when I try and intensively read from it
(for example to verify a backup) I often get errors like the
following:
Sep 15 22:35:36 jim kernel: SCSI cdrom error : host 1 channel 0 id 0 lun 0 return code = 28000000
Sep 15 22:35:36 jim kernel: Info fld=0x52, Current sd0b:00: sense key Hardware Error
Sep 15 22:35:36 jim kernel: Additional sense indicates Focus servo failure
Sep 15 22:35:36 jim kernel: I/O error: dev 0b:00, sector 328
The media reads fine in the CD-ROM drive of my other PC (also a Linux
box), and the drive reads CD-ROM and CD-R media without problems.
I did try using the ide-cd driver rather than the ide-scsi driver to
read the media, but get errors like the following:
Sep 15 12:17:30 jim kernel: hdc: timeout waiting for DMA
Sep 15 12:17:30 jim kernel: ide_dmaproc: chipset supported ide_dma_timeout func only: 14
Sep 15 12:17:30 jim kernel: hdc: irq timeout: status=0xd0 { Busy }
Sep 15 12:17:30 jim kernel: hdc: DMA disabled
Sep 15 12:17:30 jim kernel: hdc: ATAPI reset complete
Sep 15 12:17:40 jim kernel: hdc: lost interrupt
Sep 15 12:17:50 jim kernel: hdc: irq timeout: status=0xd0 { Busy }
Sep 15 12:17:50 jim kernel: hdc: ATAPI reset complete
Sep 15 12:18:00 jim kernel: hdc: lost interrupt
Sep 15 12:18:00 jim kernel: end_request: I/O error, dev 16:00 (hdc), sector 9216
The errors don't appear if I just mount the drive and look at a few
random files - but they do appear if I do something that tries to read
a lot of files one after another of the drive - for example:
# tar cvf - /mnt/cdrom | md5sum -
and the files it fails on will read OK if I remount the drive and look
at them manually.
Strangely I can read the disk as an image file, using 'readcd' (which
does occasionally give errors reading the image, but retries and
generally recovers), mount that image over loopback and stream all the
files from there no problem:
# readcd dev=1,0,0 sectors=0-314687 retries=32 f=image.iso
# mount -o loop -t iso9660 -r image.iso /mnt/cdrom
So, is this likely to be a hardware problem, software (kernel)
problem, or just expected behaviour?
Any insight appreciated,
^Jim
----------------------------------------------------------------------
Additional Info:
My system is a 2x 700MHz PIII box, running Linux 2.4.9 SMP. The
hard disks are SCSI and the CD-RW drive is the only IDE device. Both
ide-cd and ide-scsi are compiled as modules.
I have the following lines in /etc/modules.conf:
alias scsi_hostadapter1 ide-scsi
alias char-major-97 off
alias scd0 sg
pre-install sg modprobe ide-scsi
The drive is installed with the following line in /etc/rc.d/rc.local:
modprobe ide-scsi
And gives the following status:
# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: IBM Model: DDYS-T09170N Rev: S80D
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: IBM Model: DDYS-T09170N Rev: S80D
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi0 Channel: 00 Id: 02 Lun: 00
Vendor: IBM Model: DDYS-T18350N Rev: S96H
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: PLEXTOR Model: CD-R PX-W1610A Rev: 1.02
Type: CD-ROM ANSI SCSI revision: 02
# cat /proc/ide/hdc/settings
name value min max mode
---- ----- --- --- ----
bios_cyl 0 0 1023 rw
bios_head 0 0 255 rw
bios_sect 0 0 63 rw
current_speed 34 0 69 rw
ide_scsi 0 0 1 rw
init_speed 34 0 69 rw
io_32bit 0 0 3 rw
keepsettings 0 0 1 rw
log 0 0 1 rw
nice1 1 0 1 rw
number 2 0 3 rw
pio_mode write-only 0 255 w
slow 0 0 1 rw
transform 1 0 3 rw
unmaskirq 0 0 1 rw
using_dma 1 0 1 rw
--
Jim Randell
http://www.slashdot.f9.co.uk/jim/
To reply replace the [sum in brackets] by it's value