2004-01-14 18:11:47

by Jan Mynarik

[permalink] [raw]
Subject: [2.6,2.4] HPT366 (on Abit BP6) + Seagate 7000.7 + DMA = kernel halted

Hi,

I have problem with HPT366 and Seagate and trying to switch on DMA.

My configuration
- my hardware: Abit BP6 with HPT366 IDE controller, Seagate Barracuda
7000.7 HDD (80 GB)
- kernels tried: 2.4.22, 2.4.23, 2.6.0-test9, 2.6.0, 2.6.1-rc3

My problem is that HPT366 linux driver doesn't like DMA. When I try to
set DMA by hdparm, after several seconds the HDD led gets on and remains
on for another amount of seconds, then I got

hde: dma_timer_expiry (.. = 0x21)

and after a while

hde: DMA timeout error

then kernel is halted and I need to reset my PC.

This error is clearly reproducible (with or without SMP, various kernel
versions, overclocking or not, ACPI on and off) but I don't get any oops
(probably because of disk problem).

DMA can't be set during kernel boot, HPT366 driver refuses to set DMA
on. It must be done using hdparm.

After some investigations I realized that the problem could be in the
combination of HPT366 and Seagate disk. In the source code of
HighPoint's driver
(http://www.highpoint-tech.com/hpt3xx-opensource-v131.tgz - link is in
kernel's drivers/ide/pci/hpt366.c) I can see some procedure used to fix
some seagate disk initialization problem which is not present (after a
quick look) in hpt366.c in kernel. I think that's the problem because I
haven't found any reported problem and I think that BP6 is still widely
used.

Windows are working well and I haven't time to try HighPoint's own
driver.

I can provide you with my exact configuration and logs later, I'm not
near affected computer now.

Does anyone else has the same problem?
Any other ideas?

Regards,

Jan "Pogo" Mynarik

--
Jan Mynarik <[email protected]>


2004-01-15 14:59:55

by Thomas Zehetbauer

[permalink] [raw]
Subject: Re: [2.6,2.4] HPT366 (on Abit BP6) + Seagate 7000.7 + DMA = kernel halted

Must be a problem with the harddisk; I do also have a Abit BP6 board
with two WD800JB which work fine on the HPT366 controller. Maybe you
should try to connect them to one of the PIIX4 IDE channels. Btw: I do
have CONFIG_IDEDMA_PCI_AUTO enabled so I do not even need to use hdparm
to enable DMA.

However I am myself not so sure if I should use the HPT366 or the PIIX4
controller as I got better cache read throughput (hdparm -T) with the
PIIX4 controller and could avoid sharing an interrupt. Maybe someone
here is willing to share some piece of advice?

Tom

--
T h o m a s Z e h e t b a u e r ( TZ251 )
PGP encrypted mail preferred - KeyID 96FFCB89
mail [email protected]

We are tied to the ocean. And we go back to the sea, whether it is to sail or
to watch it we are going back from whence we came. - John F. Kennedy


Attachments:
signature.asc (481.00 B)
This is a digitally signed message part

2004-01-15 16:29:39

by Jan Mynarik

[permalink] [raw]
Subject: Re: [2.6,2.4] HPT366 (on Abit BP6) + Seagate 7000.7 + DMA = kernel halted

On Thu, 2004-01-15 at 15:59, Thomas Zehetbauer wrote:
> Must be a problem with the harddisk; I do also have a Abit BP6 board
> with two WD800JB which work fine on the HPT366 controller. Maybe you
> should try to connect them to one of the PIIX4 IDE channels. Btw: I do
> have CONFIG_IDEDMA_PCI_AUTO enabled so I do not even need to use hdparm
> to enable DMA.
>

It supports my idea that linux kernel driver miss some 'special'
initialization for Seagate disk. But I need to try HighPoint's own
driver first, hopefully during weekend.

I also know that's not problem of AUTO DMA, I tried it and it didn't
change anything. During boot driver reports that my disk can do only
PIO.

However I am myself not so sure if I should use the HPT366 or the PIIX4
> controller as I got better cache read throughput (hdparm -T) with the
> PIIX4 controller and could avoid sharing an interrupt. Maybe someone
> here is willing to share some piece of advice?
>

The problem with faster controller is a bit funny. I suppose that the
HPT366 controller is there because of its ability to run UDMA66, so that
it should be faster.

Anyway, thanks for your comments.

Pogo

--
Jan Mynarik <[email protected]>