This document is intended to explain how to use Ultra-DMA aka Ultra-ATA aka Ultra33 and Ultra66 hard drives and interfaces with Linux. In many cases there is no difficulty in using them, but some tweaking can increase performance. In other cases, you need to go to extraordinary lengths simply to access your hard drives.
The information in this is document is, to the best of my knowledge, correct, and should work. However, there may be typos, there may be mysterious transmission errors, and there may be strange incompatibilities within your own system that prevent the techniques described herein from working properly. So... before you go fiddling around with you hard drive, BACK UP ANY DATA YOU WANT TO KEEP! If you are not already performing regular backups, please start doing so for your own good.
Michel Aubry - UDMA-enabled VIA-related patch for <=2.0.33 & more info, grand unified UDMA patch for 2.0.34+
Andrew Balsa - Provided some general UDMA info and the udma-generic patch for Intel TX, SiS, and VP1 on <=2.0.33; also the grand unified UDMA patch for 2.0.34+
Maxime Baudin - French translation
Bokonon - ``Controller'' vs. ``interface''
John G. - VIA VP2 patch for <=2.0.33 & info
Martin Gaitan - Promise Ultra33 ide0/ide1 installation workaround
Andre M. Hedrick - current Linux IDE subsystem maintainer
Håvard Tautra Knutsen - Norwegian translation
Norman Jacobowitz - Bugged me to add info on the VP3
John Levon - Info on TX Pro mobos
Peter Monta - Info on using two Ultra33 cards
Masayoshi Nakano - Japanese translation
Gadi Oxman - The Promise Ultra33 patch for <=2.0.34 & finding the secret numbers for the workaround
Andy Pearce - Suggested adding info on the additional device files for hde-h
Andrei Pitis - LILO patch
Brion Vibber - The document itself
v3.01, 6 December 2001: Relicensed under GNU Free Documentation License; no content changes.
v3.0, 9 November 1999: Finally found time to update some key changes such as the relocation of the IDE patch archive to the Kernel.org archives... pesky school! Updated all sunsite links to new metalab.unc.edu or www.linuxdoc.org
v2.1, 27 May 1999: Corrects some minor omissions and errors from 2.0 and adds information on the Promise Ultra66 and 2.2/2.3 kernels.
v2.0, 7 August 1998: Major updates and almost total restructuring of the document into onboard (motherboard) and offboard (add-in cards) interfaces; the Grand Unified UDMA patch(a part of the Jumbo patch) for 2.0.35. Put credits in alphabetical order by last name. Changed ``controller'' to ``interface'' in many cases to be more technically correct. Added info on enabling/disabling UDMA, the blacklist, and more!
v1.45, 6 July 1998: Minor updates - Red Hat 5.1 and 2.0.34 patch for Promise Ultra33, LILO patch for booting off of PCI interfaces such as the Promise Ultra33
v1.41, 3 May 1998: Fixed a couple of typos, added translators to credits.
v1.4, 28 April 1998: UDMA-Generic patch, some more general info. Copying section added.
v1.3, 5 March 1998: VIA VP3 info, better patching instructions, pointer to more recent Promise patch.
v1.2, 27 January 1998: Additional Promise workaround info.
v1.1, 21 January 1998: New info about VIA chipset, installing around the Promise Ultra33, and enabling Bus Master & UDMA transfer modes.
v1.0, 19 January 1998: More or less complete, first version done in SGML.
Copyright (c) 1998-2001 Brion L. Vibber
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being "Introduction and Disclaimer", with no Front-Cover Texts, and with no Back-Cover Texts.
You should have received a copy of the GNU Free Documentation License along with this document; if you did not, you may find it at http://www.gnu.org/copyleft/fdl.html.