summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/ata.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/ata.4 3.html')
-rw-r--r--static/freebsd/man4/ata.4 3.html225
1 files changed, 225 insertions, 0 deletions
diff --git a/static/freebsd/man4/ata.4 3.html b/static/freebsd/man4/ata.4 3.html
new file mode 100644
index 00000000..04d8646b
--- /dev/null
+++ b/static/freebsd/man4/ata.4 3.html
@@ -0,0 +1,225 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">ATA(4)</td>
+ <td class="head-vol">Device Drivers Manual</td>
+ <td class="head-rtitle">ATA(4)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">ata</code> &#x2014; <span class="Nd">generic
+ ATA/SATA controller driver</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<p class="Pp">To compile this driver into the kernel, place the following lines
+ in your kernel configuration file:</p>
+<div class="Bd Pp Bd-indent"><code class="Cd">device scbus</code>
+<br/>
+<code class="Cd">device ata</code></div>
+<p class="Pp">Alternatively, to load the driver as set of modules at boot time,
+ place some of the following lines in <a class="Xr">loader.conf(5)</a>:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre>ata_load=&quot;YES&quot;
+
+ataisa_load=&quot;YES&quot;
+atapci_load=&quot;YES&quot;
+
+ataacard_load=&quot;YES&quot;
+ataacerlabs_load=&quot;YES&quot;
+ataamd_load=&quot;YES&quot;
+ataati_load=&quot;YES&quot;
+atacenatek_load=&quot;YES&quot;
+atacypress_load=&quot;YES&quot;
+atacyrix_load=&quot;YES&quot;
+atahighpoint_load=&quot;YES&quot;
+ataintel_load=&quot;YES&quot;
+ataite_load=&quot;YES&quot;
+atajmicron_load=&quot;YES&quot;
+atamarvell_load=&quot;YES&quot;
+atamicron_load=&quot;YES&quot;
+atanational_load=&quot;YES&quot;
+atanetcell_load=&quot;YES&quot;
+atanvidia_load=&quot;YES&quot;
+atapromise_load=&quot;YES&quot;
+ataserverworks_load=&quot;YES&quot;
+atasiliconimage_load=&quot;YES&quot;
+atasis_load=&quot;YES&quot;
+atavia_load=&quot;YES&quot;</pre>
+</div>
+<p class="Pp">The first line is for the common hardware independent code, and is
+ a prerequisite for the other modules. The next three lines are generic
+ bus-specific drivers. The rest are vendor-specific PCI drivers.</p>
+<p class="Pp">The following tunables are settable from the
+ <a class="Xr">loader(8)</a>:</p>
+<dl class="Bl-ohang">
+ <dt id="hw.ata.ata_dma_check_80pin"><var class="Va">hw.ata.ata_dma_check_80pin</var></dt>
+ <dd>set to 0 to disable the 80pin cable check (the default is 1, check the
+ cable).</dd>
+ <dt id="hint.atapci.X.msi"><var class="Va">hint.atapci.X.msi</var></dt>
+ <dd>set to 1 to allow Message Signalled Interrupts (MSI) to be used by the
+ specified PCI ATA controller, if supported.</dd>
+ <dt id="hint.ata.X.devX.mode"><var class="Va">hint.ata.X.devX.mode</var></dt>
+ <dd>limits the initial ATA mode for the specified device on the specified
+ channel.</dd>
+ <dt id="hint.ata.X.mode"><var class="Va">hint.ata.X.mode</var></dt>
+ <dd>limits the initial ATA mode for every device on the specified
+ channel.</dd>
+ <dt id="hint.ata.X.pm_level"><var class="Va">hint.ata.X.pm_level</var></dt>
+ <dd>controls SATA interface Power Management for the specified channel,
+ allowing some power savings at the cost of additional command latency.
+ Possible values:
+ <p class="Pp"></p>
+ <div class="Bd-indent">
+ <dl class="Bl-tag Bl-compact">
+ <dt>0</dt>
+ <dd>Interface Power Management is disabled. This is the default
+ value.</dd>
+ <dt>1</dt>
+ <dd>The device is allowed to initiate a PM state change; the host is
+ passive.</dd>
+ </dl>
+ </div>
+ </dd>
+ <dt id="hint.ata."><var class="Va">hint.ata.</var><var class="Ar">X</var><var class="Va">.dev</var><var class="Ar">X</var><var class="Va">.sata_rev</var></dt>
+ <dd>limits the initial SATA revision (speed) for the specified device on the
+ specified channel. Values 1, 2 and 3 are respectively 1.5, 3 and
+ 6Gbps.</dd>
+ <dt id="hint.ata.~2"><var class="Va">hint.ata.</var><var class="Ar">X</var><var class="Va">.sata_rev</var></dt>
+ <dd>Same, but for every device on the specified channel.</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp">The <code class="Nm">ata</code> driver gives the
+ <a class="Xr">CAM(4)</a> subsystem access to the ATA (IDE) and SATA ports of
+ many generic controllers. Depending on the controller, each PATA (IDE) port
+ or each one or two SATA ports are represented to CAM as a separate bus with
+ one or two targets. Most of the bus-management details are handled by the
+ ATA/SATA-specific transport of CAM. Connected ATA disks are handled by the
+ ATA protocol disk peripheral driver <a class="Xr">ada(4)</a>. ATAPI devices
+ are handled by the SCSI protocol peripheral drivers <a class="Xr">cd(4)</a>,
+ <a class="Xr">da(4)</a>, <a class="Xr">sa(4)</a>, etc.</p>
+<p class="Pp">This driver supports ATA, and for the most of controllers, ATAPI
+ devices. Command queuing and SATA port multipliers are not supported. Device
+ hot-plug and SATA interface power management is supported only on some
+ controllers.</p>
+<p class="Pp">The <code class="Nm">ata</code> driver can change the transfer
+ mode when the system is up and running. See the
+ <code class="Cm">negotiate</code> subcommand of
+ <a class="Xr">camcontrol(8)</a>.</p>
+<p class="Pp" id="DMA">The <code class="Nm">ata</code> driver sets the maximum
+ transfer mode supported by the hardware as default. However, the
+ <code class="Nm">ata</code> driver sometimes warns:
+ &#x201C;<a class="permalink" href="#DMA"><b class="Sy">DMA limited to
+ UDMA33, non-ATA66 cable or device</b></a>&#x201D;. This means that the
+ <code class="Nm">ata</code> driver has detected that the required 80
+ conductor cable is not present or could not be detected properly, or that
+ one of the devices on the channel only accepts up to UDMA2/ATA33. The
+ <var class="Va">hw.ata.ata_dma_check_80pin</var> tunable can be set to 0 to
+ disable this check.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HARDWARE"><a class="permalink" href="#HARDWARE">HARDWARE</a></h1>
+<p class="Pp">The <code class="Nm">ata</code> driver supports the IDE interface
+ on the following ATA/SATA controllers:</p>
+<p class="Pp"></p>
+<dl class="Bl-tag Bl-compact">
+ <dt>Acard:</dt>
+ <dd>ATP850P, ATP860A, ATP860R, ATP865A, ATP865R.</dd>
+ <dt>ALI:</dt>
+ <dd>M5228, M5229, M5281, M5283, M5287, M5288, M5289.</dd>
+ <dt>AMD:</dt>
+ <dd>AMD756, AMD766, AMD768, AMD8111, CS5536.</dd>
+ <dt>ATI:</dt>
+ <dd>IXP200, IXP300, IXP400, IXP600, IXP700, IXP800.</dd>
+ <dt>CMD:</dt>
+ <dd>CMD646, CMD646U2, CMD648, CMD649.</dd>
+ <dt>Cypress:</dt>
+ <dd>Cypress 82C693.</dd>
+ <dt>Cyrix:</dt>
+ <dd>Cyrix 5530.</dd>
+ <dt>HighPoint:</dt>
+ <dd>HPT302, HPT366, HPT368, HPT370, HPT371, HPT372, HPT372N, HPT374.</dd>
+ <dt>Intel:</dt>
+ <dd>6300ESB, 31244, PIIX, PIIX3, PIIX4, ESB2, ICH, ICH0, ICH2, ICH3, ICH4,
+ ICH5, ICH6, ICH7, ICH8, ICH9, ICH10, SCH, PCH.</dd>
+ <dt>ITE:</dt>
+ <dd>IT8211F, IT8212F, IT8213F.</dd>
+ <dt>JMicron:</dt>
+ <dd>JMB360, JMB361, JMB363, JMB365, JMB366, JMB368.</dd>
+ <dt>Marvell</dt>
+ <dd>88SE6101, 88SE6102, 88SE6111, 88SE6121, 88SE6141, 88SE6145.</dd>
+ <dt>National:</dt>
+ <dd>SC1100.</dd>
+ <dt>NetCell:</dt>
+ <dd>NC3000, NC5000.</dd>
+ <dt>nVidia:</dt>
+ <dd>nForce, nForce2, nForce2 MCP, nForce3, nForce3 MCP, nForce3 Pro, nForce4,
+ MCP51, MCP55, MCP61, MCP65, MCP67, MCP73, MCP77, MCP79, MCP89.</dd>
+ <dt>Promise:</dt>
+ <dd>PDC20246, PDC20262, PDC20263, PDC20265, PDC20267, PDC20268, PDC20269,
+ PDC20270, PDC20271, PDC20275, PDC20276, PDC20277, PDC20318, PDC20319,
+ PDC20371, PDC20375, PDC20376, PDC20377, PDC20378, PDC20379, PDC20571,
+ PDC20575, PDC20579, PDC20580, PDC20617, PDC20618, PDC20619, PDC20620,
+ PDC20621, PDC20622, PDC40518, PDC40519, PDC40718, PDC40719.</dd>
+ <dt>ServerWorks:</dt>
+ <dd>HT1000, ROSB4, CSB5, CSB6, K2, Frodo4, Frodo8.</dd>
+ <dt>Silicon Image:</dt>
+ <dd>SiI0680, SiI3112, SiI3114, SiI3512.</dd>
+ <dt>SiS:</dt>
+ <dd>SIS180, SIS181, SIS182, SIS5513, SIS530, SIS540, SIS550, SIS620, SIS630,
+ SIS630S, SIS633, SIS635, SIS730, SIS733, SIS735, SIS745, SIS961, SIS962,
+ SIS963, SIS964, SIS965.</dd>
+ <dt>VIA:</dt>
+ <dd>VT6410, VT6420, VT6421, VT82C586, VT82C586B, VT82C596, VT82C596B,
+ VT82C686, VT82C686A, VT82C686B, VT8231, VT8233, VT8233A, VT8233C, VT8235,
+ VT8237, VT8237A, VT8237S, VT8251, CX700, VX800, VX855, VX900.</dd>
+</dl>
+<p class="Pp">Some of above chips can be configured for AHCI mode. In such case
+ they are supported by <a class="Xr">ahci(4)</a> driver instead.</p>
+<p class="Pp">Unknown ATA chipsets are supported in PIO modes, and if the
+ standard busmaster DMA registers are present and contain valid setup, DMA is
+ also enabled, although the max mode is limited to UDMA33, as it is not known
+ what the chipset can do and how to program it.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="NOTES"><a class="permalink" href="#NOTES">NOTES</a></h1>
+<p class="Pp">Please remember that in order to use UDMA4/ATA66 and above modes
+ you <a class="permalink" href="#must"><i class="Em" id="must">must</i></a>
+ use 80 conductor cables. Please assure that ribbon cables are no longer than
+ 45cm. In case of rounded ATA cables, the length depends on the quality of
+ the cables. SATA cables can be up to 1m long according to the specification.
+ External SATA cables can be 2m long and more, but not all controllers work
+ well on long cables, especially at high speeds.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+ ALSO</a></h1>
+<p class="Pp"><a class="Xr">ada(4)</a>, <a class="Xr">ahci(4)</a>,
+ <a class="Xr">cam(4)</a>, <a class="Xr">cd(4)</a>, <a class="Xr">mvs(4)</a>,
+ <a class="Xr">siis(4)</a>, <a class="Xr">camcontrol(8)</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
+<p class="Pp">The <code class="Nm">ata</code> driver first appeared in
+ <span class="Ux">FreeBSD 4.0</span>. It was turned into a
+ <a class="Xr">CAM(4)</a> interface module in <span class="Ux">FreeBSD
+ 9.0</span>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
+<p class="Pp"><span class="An">Alexander Motin</span>
+ &lt;<a class="Mt" href="mailto:mav@FreeBSD.org">mav@FreeBSD.org</a>&gt;
+ <br/>
+ <span class="An">S&#x00F8;ren Schmidt</span>
+ &lt;<a class="Mt" href="mailto:sos@FreeBSD.org">sos@FreeBSD.org</a>&gt;</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">March 23, 2015</td>
+ <td class="foot-os">FreeBSD 15.0</td>
+ </tr>
+</table>