DMA problems with TOSHIBA DVD-ROM SD-M1202 (kernel 2.6.10)
Hi,
I have a problem with DMA failing and _automatically_ switching off for
my old Toshiba DVD-ROM. I was having problems with choppy DVD playback,
so i tried enabling DMA for the drive, which seemed to succeed, but
actually it does not work.
So, after a boot:
$ uname -r
2.6.10-1-k7
$ cat /proc/ide/hdd/model
TOSHIBA DVD-ROM SD-M1202
# hdparm /dev/hdd
/dev/hdd:
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
HDIO_GETGEO failed: Invalid argument
Here I run oKle and load the disk, after which
disk activity LED stays on for a couple of minutes
during which system sticks three times for
a couple of seconds (music, mouse stops) and I get
the following from dmesg:
hdd: status error: status=0x58 { DriveReady SeekComplete DataRequest }
hdd: status error: error=0x00
hdd: drive not ready for command
ide-cd: cmd 0x28 timed out
hdd: DMA timeout retry
hdd: timeout waiting for DMA
hdd: status timeout: status=0xd0 { Busy }
hdd: status timeout: error=0x04Aborted Command
hdd: drive not ready for command
hdd: ATAPI reset complete
hdd: command error: status=0x51 { DriveReady SeekComplete Error }
hdd: command error: error=0x52
ide: failed opcode was 100
end_request: I/O error, dev hdd, sector 18446744073707947640
Buffer I/O error on device hdd, logical block 0
hdd: command error: status=0x51 { DriveReady SeekComplete Error }
hdd: command error: error=0x52
ide: failed opcode was 100
end_request: I/O error, dev hdd, sector 18446744073707947648
Buffer I/O error on device hdd, logical block 1
hdd: command error: status=0x51 { DriveReady SeekComplete Error }
hdd: command error: error=0x52
ide: failed opcode was 100
end_request: I/O error, dev hdd, sector 18446744073707947656
Buffer I/O error on device hdd, logical block 2
With the last 5 lines repeated quite many times for different
sectors/blocks.
The funny thing is that now
# hdparm /dev/hdd
/dev/hdd:
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
HDIO_GETGEO failed: Invalid argument
And if I try to enable DMA again, I succeed, but when I try to use the
device, I get the temporary lockup, after which it reverts DMA to off,
and starts working (but too slow for me).
Apparently the DVD reads OK (I was able to rip my DVD and watch it from
my hard drive), but is quite useless for playback without DMA.
Any hints?
Regards,
Andro
Reply to: