[CentOS] Kernel Errors Present

Thu Jan 13 19:03:08 UTC 2011
Keith Roberts <keith at karsites.net>

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]
-----------------------------------------------------------------