Re: UDMA issues under 2.2.3

Mark Lord (mlord@pobox.com)
Wed, 24 Mar 1999 08:23:30 -0500


"Nicholas J. Leon" wrote:
> On Tue, 23 Mar 1999, Mark Lord wrote:
>
> # You need to run this command immediately: "man hdparm"
>
> Ok. It says basically what its always said. With additions for UDMA stuff.
..
> How does "hdparm -d /dev/hda" fit into that?

The CONFIG_IDEDMA_AUTO option basically trys to do "hdparm -d1" at boot.

> # > hdparm -X66 /dev/hda
> # >
> # > my system will crash within seconds.

>From the manpage, read carefully:
...
-X Set the IDE transfer mode for newer (E)IDE/ATA2
...
needless and risky. On drives which support alter-
nate transfer modes, -X can be used to switch the
mode of the drive only. Prior to changing the
transfer mode, the IDE interface should be jumpered
or programmed (see -p flag) for the new mode set-
ting to prevent loss and/or corruption of data.
Use this with extreme caution! For the PIO (Pro-
...
-p Attempt to reprogram the IDE interface chipset for
the specified PIO mode, or attempt to auto-tune for
the "best" PIO mode supported by the drive. This
feature is supported in the kernel for only a few
"known" chipsets, and even then the support is iffy
at best. Some IDE chipsets are unable to alter the
...

> # You should not be playing with those options.
> # Or at least do "man hdparm" first, and read the output thoroughly.
...
> 1. Why does hdparm report all my drives in UDMA mode2 when I have it
> disabled in BIOS and have CONFIG_IDEDMA_AUTO disabled?

Because CONFIG_IDEDMA_AUTO does not reprogram the drives;
it just selects the default values for the equivalent of "hdparm -d".

> 1.1 Is it the default
> on the drives THEMSELVES?

Yes, sort of.

> 1.2 Then what effect does BIOS have on this? None?

The BIOS usually selects that setting prior to booting,
and the BIOS is supposed to program the IDE interface to match it.

> 2. If the drives are infact in UDMA mode2, why does hdparm -X66 crash my
> system. Does that command not say to put the drives in UDMA mode2?

Re-read the manpage.
> 3. How does one disable UDMA but keep DMA enabled? For example, if I just
> wanted to use DMA multiword mode 2? According to man,
> hdparm -X34 /dev/hda
> should do it. But if I do that, my system locks up immediately with a
> "can't get DMA for /dev/hda" or somesuch. Shouldn't my drive support
> mword2 if it supports UDMA mode 2? (btw...

Re-read the manpage. In short, changing the drive timing alone is not enough.
The other end of the cable must also be adjusted: the IDE interface chipset.

> G'day! <i didn't think i got a pleasant answer>

Don't worry, you won't get any more.

-- 
mlord@pobox.com

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/