On Thu, 13 Jan 2011, Tsuyoshi Nagata wrote: > To: CentOS mailing list <centos at centos.org> > From: Tsuyoshi Nagata <nagata3333333 at jp.fujitsu.com> > Subject: Re: [CentOS] Kernel Errors Present > > Hi Keith > (2011/01/13 6:39), Keith Roberts wrote: >> hde: dma_intr: error=0x84 { DriveStat ...: 12 Time(s) >> hde: dma_intr: status=0x51 { DriveReady SeekComplete > The first error is data transmitting error. Your HARD DRIVE have > a data transmitting error or malfunction on transmitting path without > disk. > (The trouble is on memory, chip set, IDE-cable, HDD-Circuit(DMA). HDD > dish is OK.) > DMA I/O was designed with 2 separated unit (control-unit and data-unit) > The trouble is on control-unit part. > > Vivard/smartctl only explains your data-unit is OK. Well it seems likely it's because the drive is on a 40-wire cable. But the kernel wants to do UDMA at 100 MB/s. The ITE8212 PCI controller card spots the 40 wire cable, and sets the transfer mode down from UDMA5 (100 MB/s) to UDMA2, 33MB/s I have found this in /var/log/messages: *snip* Jan 13 18:35:16 karsites kernel: hde: 78165360 sectors (40020 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) Jan 13 18:35:16 karsites kernel: hde: cache flushes not supported Jan 13 18:35:16 karsites kernel: hde: hde1 hde2 < hde5 hde6 hde7 > *snip* Jan 13 18:35:16 karsites kernel: hde: dma_intr: status=0x51 { DriveReady SeekComplete Error } Jan 13 18:35:16 karsites kernel: hde: dma_intr: error=0x84 { DriveStatusError BadCRC } Jan 13 18:35:16 karsites kernel: ide: failed opcode was: unknown Jan 13 18:35:16 karsites kernel: hde: dma_intr: status=0x51 { DriveReady SeekComplete Error } Jan 13 18:35:16 karsites kernel: hde: dma_intr: error=0x84 { DriveStatusError BadCRC } Jan 13 18:35:16 karsites kernel: ide: failed opcode was: unknown Jan 13 18:35:16 karsites kernel: hde: dma_intr: status=0x51 { DriveReady SeekComplete Error } Jan 13 18:35:16 karsites kernel: hde: dma_intr: error=0x84 { DriveStatusError BadCRC } Jan 13 18:35:16 karsites kernel: ide: failed opcode was: unknown Jan 13 18:35:16 karsites kernel: hde: dma_intr: status=0x51 { DriveReady SeekComplete Error } Jan 13 18:35:16 karsites kernel: hde: dma_intr: error=0x84 { DriveStatusError BadCRC } Jan 13 18:35:16 karsites kernel: ide: failed opcode was: unknown Jan 13 18:35:16 karsites kernel: ide2: reset: success *snip* Is the kernel probing the drive directly, and using the drive maximum UDMA rate, instead of getting this from the ITE8212 PCI card? I have been reading up about hdparm, and set the drives UDMA mode in /etc/init.d/rc.local with; [root at karsites ~]# hdparm -d1 -Xudma2 /dev/hde /dev/hde: setting using_dma to 1 (on) setting xfermode to 66 (UltraDMA mode2) using_dma = 1 (on) Is that why the ide2 reset was successfull? I shall monitor this and see if I get those errors again. Also, using hdparm from the command line, allows me to test the data transfer rates, with or without DMA enabled. Looks good, and I guess I will find some 80 conductor IDE cables for all my IDE drives, and enable UDMA to get the maximum transfer rate. 40 wire IDE cables are not worth the hassle any more, now UDMA is so stable. Kind Regards, Keith Roberts ----------------------------------------------------------------- Websites: http://www.karsites.net http://www.php-debuggers.net http://www.raised-from-the-dead.org.uk All email addresses are challenge-response protected with TMDA [http://tmda.net] -----------------------------------------------------------------