Merge from vendor branch FILE:
[dragonfly.git] / sbin / natacontrol / natacontrol.8
1 .\"
2 .\" Copyright (c) 2000,2001,2002 Søren Schmidt <sos@FreeBSD.org>
3 .\" All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\"    notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\"    notice, this list of conditions and the following disclaimer in the
12 .\"    documentation and/or other materials provided with the distribution.
13 .\"
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 .\" SUCH DAMAGE.
25 .\"
26 .\" $FreeBSD: src/sbin/atacontrol/atacontrol.8,v 1.28 2005/11/18 10:32:09 ru Exp $
27 .\" $DragonFly: src/sbin/natacontrol/natacontrol.8,v 1.1 2006/12/05 21:32:21 tgen Exp $
28 .\"
29 .Dd December 5, 2006
30 .Dt NATACONTROL 8
31 .Os
32 .Sh NAME
33 .Nm natacontrol
34 .Nd NATA device driver control program
35 .Sh SYNOPSIS
36 .Nm
37 .Aq Ar command
38 .Ar args
39 .Pp
40 .Nm
41 .Ic attach
42 .Ar channel
43 .Nm
44 .Ic detach
45 .Ar channel
46 .Nm
47 .Ic reinit
48 .Ar channel
49 .Nm
50 .Ic create
51 .Ar type Oo Ar interleave Oc Ar disk0 ... diskN
52 .Nm
53 .Ic delete
54 .Ar raid
55 .Nm
56 .Ic addspare
57 .Ar raid disk
58 .Nm
59 .Ic rebuild
60 .Ar raid
61 .Nm
62 .Ic status
63 .Ar raid
64 .Nm
65 .Ic mode
66 .Ar device
67 .Nm
68 .Ic info
69 .Ar channel
70 .Nm
71 .Ic cap
72 .Ar device
73 .Nm
74 .Ic list
75 .Sh DESCRIPTION
76 The
77 .Nm
78 utility is a control program that provides the user access and control to the
79 .Fx
80 .Xr nata 4
81 subsystem.
82 .Pp
83 The
84 .Nm
85 utility
86 can cause severe system crashes and loss of data if used improperly.
87 Please
88 exercise caution when using this command!
89 .Pp
90 The
91 .Ar channel
92 argument is the ATA channel device (e.g., ata0) on which to operate.
93 The following commands are supported:
94 .Bl -tag -width "rebuild"
95 .It Ic attach
96 Attach an ATA
97 .Ar channel .
98 Devices on the channel are probed and attached as
99 is done on boot.
100 .It Ic detach
101 Detach an ATA
102 .Ar channel .
103 Devices on the channel are removed from the kernel,
104 and all outstanding transfers etc.\& are returned back to the system marked
105 as failed.
106 .It Ic reinit
107 Reinitialize an ATA
108 .Ar channel .
109 Both devices on the channel are reset and
110 initialized to the parameters the ATA driver has stored internally.
111 Devices that have gone bad and no longer respond to the probe, or devices
112 that have physically been removed, are removed from the kernel.
113 Likewise are devices that show up during a reset, probed and attached.
114 .It Ic create
115 Create a
116 .Ar type
117 ATA RAID.
118 The type can be
119 .Cm RAID0
120 (stripe),
121 .Cm RAID1
122 (mirror),
123 .Cm RAID0+1 ,
124 .Cm SPAN
125 or
126 .Cm JBOD .
127 In case the RAID has a
128 .Cm RAID0
129 component,
130 the
131 .Ar interleave
132 must be specified in number of sectors.
133 The RAID will be created
134 of the individual disks named
135 .Bk -words
136 .Ar disk0 ... diskN .
137 .Ek
138 .Pp
139 Although the NATA driver allows for creating an ATA RAID on disks with any
140 controller, there are restrictions.
141 It is only possible to boot on
142 an array if it is either located on a
143 .Dq real
144 ATA RAID controller like
145 the Promise or Highpoint controllers, or if the RAID declared is of
146 .Cm RAID1
147 or
148 .Cm SPAN
149 type; in case of a
150 .Cm SPAN ,
151 the partition to boot must
152 reside on the first disk in the SPAN.
153 .It Ic delete
154 Delete a RAID array on a RAID capable ATA controller.
155 .It Ic addspare
156 Add a spare disk to an existing RAID.
157 .It Ic rebuild
158 Rebuild a RAID1 array on a RAID capable ATA controller.
159 .It Ic status
160 Get the status of an ATA RAID.
161 .It Ic mode
162 Without the mode argument, the current transfer modes of the
163 device are printed.
164 If the mode argument is given, the NATA driver
165 is asked to change the transfer mode to the one given.
166 The NATA driver
167 will reject modes that are not supported by the hardware.
168 Modes are given like
169 .Dq Li PIO3 ,
170 .Dq Li udma2 ,
171 .Dq Li udma100 ,
172 case does not matter.
173 .Pp
174 Currently supported modes are:
175 .Cm PIO0 , PIO1 , PIO2 , PIO3 , PIO4 ,
176 .Cm WDMA2 ,
177 .Cm UDMA2
178 (alias
179 .Cm UDMA33 ) ,
180 .Cm UDMA4
181 (alias
182 .Cm UDMA66 ) ,
183 .Cm UDMA5
184 (alias
185 .Cm UDMA100 )
186 and
187 .Cm UDMA6
188 (alias
189 .Cm UDMA133 ) .
190 The device name and manufacture/version strings are shown.
191 .It Ic cap
192 Show detailed info about the device on
193 .Ar device .
194 .It Ic info
195 Show info about the attached devices on the
196 .Ar channel .
197 .It Ic list
198 Show info about all attached devices on all active controllers.
199 .El
200 .Sh EXAMPLES
201 To get information on devices attached to a channel,
202 use the command line:
203 .Pp
204 .Dl "natacontrol info ata0"
205 .Pp
206 To see the devices' current access modes, use the command line:
207 .Pp
208 .Dl "natacontrol mode ad0"
209 .Pp
210 which results in the modes of the devices being displayed as a string
211 like this:
212 .Pp
213 .Dl "current mode = UDMA100"
214 .Pp
215 You can set the mode with
216 .Nm
217 and a string like the above,
218 for example:
219 .Pp
220 .Dl "natacontrol mode ad0 PIO4"
221 .Pp
222 The new modes are set as soon as the
223 .Nm
224 command returns.
225 .Sh SEE ALSO
226 .Xr nata 4
227 .Sh HISTORY
228 The
229 .Nm
230 utility first appeared in
231 .Fx 4.6 .
232 .Sh AUTHORS
233 .An -nosplit
234 The
235 .Nm
236 utility was written by
237 .An S\(/oren Schmidt
238 .Aq sos@FreeBSD.org .
239 .Pp
240 This manual page was written by
241 .An S\(/oren Schmidt
242 .Aq sos@FreeBSD.org .