I'm giving 2.6.0-test9 a go, but I'm having some trouble with my IDE (ATAPI) CD-R drive. I can't get it to read without error, and I can't get it to write without error.
This is on x86 with a 2.6.0-test9 vanilla kernel. Using DMA doesn't seem to effect it. The drive fails to read with or without it.
Has anyone else had luck with the ide-cd driver and the ATAPI interface? Is this a known issue? Does anyone have any suggestions to get this working?
My hardware (x86):
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 38MHz system bus speed for PIO modes
PIIX4: IDE controller at PCI slot 0000:00:07.1
PIIX4: chipset revision 1
PIIX4: not 100%% native mode: will probe irqs later
ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA
hda: IBM-DTLA-307045, ATA DISK drive
Using anticipatory io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: RICOH CD-R/RW MP7040A, ATAPI CD/DVD-ROM drive
hdd: IBM-DAQA-33240, ATA DISK drive
ide1 at 0x170-0x177,0x376 on irq 15
00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
Here's an example session of an attempted read:
# dd if=/dev/hdc of=/dev/null
dd: reading `/dev/hdc': Input/output error
128+0 records in
128+0 records out
65536 bytes transferred in 10.317440 seconds (6352 bytes/sec)
# dmesg
hdc: DMA timeout retry
hdc: timeout waiting for DMA
hdc: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdc: status error: error=0x00
hdc: drive not ready for command
hdc: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdc: status error: error=0x00
hdc: drive not ready for command
hdc: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdc: status error: error=0x00
hdc: drive not ready for command
hdc: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdc: status error: error=0x00
hdc: drive not ready for command
hdc: ATAPI reset complete
hdc: command error: status=0x51 { DriveReady SeekComplete Error }
hdc: command error: error=0x50
end_request: I/O error, dev hdc, sector 4293091416
Buffer I/O error on device hdc, logical block 32
hdc: command error: status=0x51 { DriveReady SeekComplete Error }
hdc: command error: error=0x50
end_request: I/O error, dev hdc, sector 4293091420
Buffer I/O error on device hdc, logical block 33
hdc: command error: status=0x51 { DriveReady SeekComplete Error }
# hdparm -d0 /dev/hdc
# dd if=/dev/hdc of=/dev/null
dd: reading `/dev/hdc': Input/output error
1800+0 records in
1800+0 records out
921600 bytes transferred in 20.447388 seconds (45072 bytes/sec)
# dmesg
hdc: command error: status=0x51 { DriveReady SeekComplete Error }
hdc: command error: error=0x50
hdc: command error: status=0x51 { DriveReady SeekComplete Error }
hdc: command error: error=0x50
end_request: I/O error, dev hdc, sector 1800
Buffer I/O error on device hdc, logical block 225
hdc: command error: status=0x51 { DriveReady SeekComplete Error }
hdc: command error: error=0x50
end_request: I/O error, dev hdc, sector 1808
Buffer I/O error on device hdc, logical block 226
hdc: command error: status=0x51 { DriveReady SeekComplete Error }
hdc: command error: error=0x50
end_request: I/O error, dev hdc, sector 1816
Buffer I/O error on device hdc, logical block 227
hdc: command error: status=0x51 { DriveReady SeekComplete Error }
hdc: command error: error=0x50
Re: Linux 2.6.0-test9 ide-cd / ATAPI problems
Molo, I use vanilla 2.6.0-test9 on my laptop. It has a DVD-read/CDRW combo drive. Mounting and reading CD's is ok and so is writing with cdrecord using the native ATAPI mode.
$ cdrecord -dev=ATAPI -scanbus
Cdrecord 2.01a14 (i686-pc-linux-gnu) Copyright (C) 1995-2003 Jörg Schilling
scsidev: 'ATAPI'
devname: 'ATAPI'
scsibus: -2 target: -2 lun: -2
Warning: Using ATA Packet interface.
Warning: The related libscg interface code is in pre alpha.
Warning: There may be fatal problems.
Using libscg version 'schily-0.7'
scsibus0:
0,0,0 0) 'QSI ' 'CDRW/DVD SBW-242' 'UX02' Removable CD-ROM
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
$ _
Well crap!
Shit, that means that its something specific to my hardware. I hate this crap. I guess I'll have to mail Jens Axboe. Thanks.
-molo
No response from Jens..
Does anyone know if its a holiday in Germany or something? Anyone have any ideas about this problem?
Thanks
-molo
Two failure modes for CD drives
I've observed that some very old CD drives can read 650 MB CD's
and not 700 MB CD's. Commercial CD's you buy that already have
data on them are usually 650 MB CD's, but CD-R's you buy that you
can write generally are 700 MB's. The blank determines whether it
will work, not the amount of data you wrote. Writing only 600 MB's on
a 700MB CD-R doesn't make it readable on the drives that can only
cope with 650 MB CD's.
I've also discarded a probably perfectly good CD drive because the
jumper in the back that say's it was an IDE master had somehow wobbled
slightly loose, maybe. Too bad I discovered this only after I had
autopsied the drive. :-)
I don't have enough records of the error messages during these
problems to try to match them up with what you're observing.
I did just read an entire CD with 2.6.0-test9 without error, so
I agree with bert that the kernel is at least sometimes able to read
correctly.
Did this drive used to work for you with earlier Linux kernels?
Better reply to me by email. I only came here due to an accidental
Google hit.
Tim Freeman
tim@fungible.com
a
a