From owner-man-jp-reviewer@jp.freebsd.org  Sun Nov 15 23:55:13 1998
Received: (from daemon@localhost)
	by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) id XAA05955;
	Sun, 15 Nov 1998 23:55:13 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from mail.nk.rim.or.jp (root@mail.nk.rim.or.jp [202.247.130.165])
	by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) with ESMTP id XAA05950
	for <man-jp-reviewer@jp.freebsd.org>; Sun, 15 Nov 1998 23:55:11 +0900 (JST)
	(envelope-from kuma@nk.rim.or.jp)
Received: from oasis.laurel.nk.rim.or.jp (ppp051.nk.rim.or.jp [202.247.176.51])
	by mail.nk.rim.or.jp (8.8.5/3.6W-RIMNET-98-06-09) with ESMTP id XAA29150
	for <man-jp-reviewer@jp.freebsd.org>; Sun, 15 Nov 1998 23:55:03 +0900 (JST)
Received: from oasis.laurel.nk.rim.or.jp by oasis.laurel.nk.rim.or.jp (8.8.8/3.3W6-mini980720)
	id RAA11140; Sun, 15 Nov 1998 17:51:32 +0900 (JST)
Message-Id: <199811150851.RAA11140@oasis.laurel.nk.rim.or.jp>
To: man-jp-reviewer@jp.freebsd.org
Date: Sun, 15 Nov 1998 17:51:32 +0900
From: Norihiro Kumagai <kuma@nk.rim.or.jp>
Reply-To: man-jp-reviewer@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+981115
X-Sequence: man-jp-reviewer 681
Subject: [man-jp-reviewer 681] camcontrol.8
Errors-To: owner-man-jp-reviewer@jp.freebsd.org
Sender: owner-man-jp-reviewer@jp.freebsd.org
X-Originator: kuma@nk.rim.or.jp

$B7'C+$G$9!#(B

camcontrol.8 $B=iLu$G$9!#(B
$B$H$/$KAjCL$9$Y$-E@$O$"$j$^$;$s!#(B
--
$B7'C+(B $BE5Bg(B

============================================================
--- camcontrol.8-org	Sat Oct 24 00:05:26 1998
+++ camcontrol.8	Sun Nov 15 17:43:24 1998
@@ -31,10 +31,10 @@
 .Dd September 14, 1998
 .Dt CAMCONTROL 8
 .Os FreeBSD 3.0
-.Sh NAME
+.Sh "$BL>>N(B"
 .Nm camcontrol
-.Nd CAM control program
-.Sh SYNOPSIS
+.Nd CAM $B%3%s%H%m!<%k%W%m%0%i%`(B
+.Sh "$B=q<0(B"
 .Nm camcontrol
 .Aq command
 .Op generic args
@@ -95,350 +95,368 @@
 .Op Fl S
 .Op Fl c
 .Aq all|off|bus Ns Op :target Ns Op :lun
-.Sh DESCRIPTION
+.Sh "$B2r@b(B"
 .Nm camcontrol
-is a utility designed to provide a way for users to access and control the
+$B$O!"%f!<%6$,(B
 .Tn FreeBSD
-CAM subsystem.
+CAM $B%5%V%7%9%F%`$K%"%/%;%9$7@)8f$G$-$k$h$&$K$9$kJ}K!$rDs6!$9$k(B
+$B$?$a$K@_7W$5$l$?%f!<%F%#%j%F%#$G$9!#(B
 .Pp
 .Nm camcontrol
-can cause a loss of data and/or system crashes if used improperly.  Even
-expert users are encouraged to excercise caution when using this command.
-Novice users should stay away from this utility.
+$B$rE,@Z$K;HMQ$7$J$$>l9g!"(B
+$B%G!<%?$NB;<:$d!"%7%9%F%`%/%i%C%7%e$K$D$J$,$k2DG=@-$,$"$j$^$9!#7P83(B
+$BK-IY$J%f!<%6$G$"$C$F$b!"$3$N%3%^%s%I$r;HMQ$9$k:]$K$OCm0U$rJ'$&$3$H$r(B
+$B$*4+$a$7$^$9!#AG?M$5$s$O$3$N%f!<%F%#%j%F%#$K6aIU$$$F$O$$$1$^$;$s!#(B
 .Pp
 .Nm camcontrol
-has a number of primary functions, most of which take some generic
-arguments:
+$B$O!"$$$/$D$+$N<g5!G=$r;}$C$F$$$^$9!#$=$NB?$/$O!"2<$K<($9(B
+$B6&DL$N0z?t(B(generic argument)$B$N$$$/$D$+$r<h$j$^$9!#(B
 .Bl -tag -width 01234567890123
 .It Fl C Ar count
-SCSI command retry count.  In order for this to work, error recovery
+SCSI $B%3%^%s%I$N%j%H%i%$%+%&%s%H!#$3$N5!G=$,F0:n$9$k$?$a$K$O!"%(%i!<%j%+%P%j(B
 .Po
 .Fl E
 .Pc
-must be turned on.
+$B$r%*%s$K$7$F$*$/I,MW$,$"$j$^$9!#(B
 .It Fl E
-Instruct the kernel to perform generic SCSI error recovery for the given
-command.  This is needed in order for the retry count
+$B%+!<%M%k$K!";XDj$7$?%3%^%s%I$N$?$a$NHFMQ$N(B SCSI $B%(%i!<%j%+%P%j$r?k9T(B
+$B$9$k$h$&;X<($r=P$7$^$9!#%j%H%i%$%+%&%s%H5!G=(B
 .Po
 .Fl C
 .Pc
-to be honored.  Other than retrying commands, the generic error recovery in
-the code will generally attempt to spin up drives that are not spinning.
-It may take some other actions, depending upon the sense code returned from
-the command.
+$B$rM-8z$K$9$k$?$a$K!"$3$l$,I,MW$G$9!#(B
+$B%3%^%s%I$N%j%H%i%$$NB>$K!"%3!<%ICf$K$"$kHFMQ$N%(%i!<%j%+%P%j$K$h$C$F!"(B
+$B2s$C$F$$$J$$(B HDD $B$r2sE>$5$;$k$h$&$J;n$_$,DL>o$J$5$l$^$9!#%3%^%s%I$,JV$9(B
+$B%;%s%9%3!<%I$K0MB8$7$F!"B>$NA`:n$,9T$J$o$l$k$3$H$b$"$j$^$9!#(B
 .It Fl n Ar dev_name
-Specify the device type to operate on.  The default is
-.Em da .
+$BA`:n$r9T$J$&%G%P%$%9%?%$%W$r;XDj$7$^$9!#%G%U%)%k%H$O!"(B
+.Em da
+$B$G$9!#(B
 .It Fl t Ar timeout
-SCSI command timeout in seconds.  This overrides the default timeout for
-any given command.
+SCSI $B%3%^%s%I$N%?%$%`%"%&%H$rICC10L$G;XDj$7$^$9!#;XDj$7$?%3%^%s%I$N$9$Y$F$K(B
+$B$*$$$F!"$3$l$G;XDj$9$kCM$O%G%U%)%k%H$N%?%$%`%"%&%H$h$jM%@h$5$l$^$9!#(B
 .It Fl u Ar unit_number
-Specify the device unit number.  The default is 0.
+$B%G%P%$%9%f%K%C%HHV9f$r;XDj$7$^$9!#%G%U%)%k%H$O(B 0 $B$G$9!#(B
 .It Fl v
-Be verbose, print out sense information for failed SCSI commands.
+$B>i@e$K$J$j$^$9!#(BSCSI $B%3%^%s%I$K<:GT$9$k$H%;%s%9>pJs$rI=<($7$^$9!#(B
 .El
 .Pp
-Primary command functions:
+$B<g%3%^%s%I5!G=$O<!$N$H$*$j$G$9!#(B
 .Bl -tag -width periphlist
 .It devlist
-List all physical devices (logical units) attached to the CAM subsystem.
-This also includes a list of peripheral drivers attached to each device.
-With the
+CAM $B%5%V%7%9%F%`$K@\B3$5$l$?<~JU%G%P%$%9(B ($BO@M}%f%K%C%H(B) $B$N$9$Y$F$N(B
+$B%j%9%H$rI=<($7$^$9!#$3$N%j%9%H$K$O3F%G%P%$%9$K@\B3$5$l$?<~JU%I%i%$%P$N(B
+$B0lMw$b4^$^$l$^$9!#(B
+$B0z?t(B
 .Fl v
-argument, SCSI bus number, adapter name and unit numbers are printed as
-well.
+$B$r;XDj$9$k$H!"(BSCSI $B%P%9HV9f!"%"%@%W%?L>!"%f%K%C%HHV9f$b$"$o$;$F(B
+$BI=<($5$l$^$9!#(B
 .It periphlist
-List all peripheral drivers attached to a given physical device (logical
-unit).
+$B;XDj$7$?J*M}%G%P%$%9(B ($BO@M}%f%K%C%H(B) $B$K@\B3$5$l$?<~JU%I%i%$%P$N$9$Y$F$N(B
+$B%j%9%H$rI=<($7$^$9!#(B
 .It tur
-Send the SCSI test unit ready (0x00) command to the given device.
+$B;XDj$7$?%G%P%$%9$K(B SCSI test unit ready (0x00) $B%3%^%s%I$rAw?.$7$^$9!#(B
 .Nm camcontrol
-will report whether the device is ready or not.
+$B$O!"$=$N%G%P%$%9$,%l%G%#$+$I$&$+$rJs9p$7$^$9!#(B
 .It inquiry
-Send a SCSI inquiry command (0x12) to a device.  By default,
+$B%G%P%$%9$K(B SCSI inquiry (0x12) $B%3%^%s%I$rAw?.$7$^$9!#%G%U%)%k%H$G$O!"(B
 .Nm camcontrol
-will print out the standard inquiry data, device serial number, and
-transfer rate information.  The user can specify that only certain types of
-inquiry data be printed:
+$BI8=`$N(B inquiry $B%G!<%?!"%G%P%$%9$N%7%j%"%kHV9f!"E>Aw%l!<%H>pJs$rI=<($7$^$9!#(B
+$BFCDj$N%?%$%W$N(B inquiry $B%G!<%?$@$1$rI=<($9$k$h$&$K;XDj$9$k$3$H$b$G$-$^$9!#(B
 .Bl -tag -width 1234
 .It Fl D
-Get the standard inquiry data.
+$BI8=`(B inquiry $B%G!<%?$rF@$^$9!#(B
 .It Fl S
-Print out the serial number.  If this flag is the only one specified,
+$B%7%j%"%kHV9f$rI=<($7$^$9!#$3$N%U%i%0$@$1$,;XDj$5$l$?>l9g!"(B
 .Nm camcontrol
-will not print out "Serial Number" before the value returned by the drive.
-This is to aid in script writing.
+$B$O!"%I%i%$%V$,JV$9CM$NA0$K(B "Serial Number" $B$rI=<($7$^$9!#$3$l$O(B
+$B%9%/%j%W%H$r=q$/:]$KLr$KN)$?$;$k$?$a$G$9!#(B
 .It Fl R
-Print out transfer rate information.
+$BE>Aw%l!<%H>pJs$rI=<($7$^$9!#(B
 .El
 .It start
-Send the SCSI Start/Stop Unit (0x1B) command to the given device with the
-start bit set.
+$B;XDj$7$?%G%P%$%9$K!"(Bstart $B%S%C%H$r%;%C%H$7$?(B SCSI Start/Stop Unit
+(0x1B) $B%3%^%s%I$rAw?.$7$^$9!#(B
 .It stop
-Send the SCSI Start/Stop Unit (0x1B) command to the given device with the
-start bit cleared.
+$B;XDj$7$?%G%P%$%9$K!"(Bstart $B%S%C%H$r%/%j%"$7$?(B SCSI Start/Stop Unit
+(0x1B) $B%3%^%s%I$rAw?.$7$^$9!#(B
 .It eject
-Send the SCSI Start/Stop Unit (0x1B) command to the given device with the
-start bit cleared and the eject bit set.
+$B;XDj$7$?%G%P%$%9$K!"(Bstart $B%S%C%H$r%/%j%"$7(B eject $B%S%C%H$r%;%C%H$7$?(B
+SCSI Start/Stop Unit (0x1B) $B%3%^%s%I$rAw?.$7$^$9!#(B
 .It rescan
-Tell the kernel to scan the given bus (XPT_SCAN_BUS), or bus:target:lun
-(XPT_SCAN_LUN) for new devices or devices that have gone away.  The user
-may only specify a bus to scan, or a lun.  Scanning all luns on a target
-isn't supported.
+$B%+!<%M%k$K;XDj$7$?%P%9(B (XPT_SCAN_BUS)$B!"$b$7$/$O(B bus:target:lun
+(XPT_SCAN_LUN) $B$r%9%-%c%s$5$;!"?75,$N%G%P%$%9$d30$5$l$?%G%P%$%9$r(B
+$BC5$5$;$^$9!#%f!<%6$,;XDj$G$-$k$N$O!"%9%-%c%s$9$k%P%9$b$7$/$O(B
+$BO@M}%f%K%C%HHV9f$@$1$G$9!#$"$k%?!<%2%C%H$N$9$Y$F$NO@M}%f%K%C%HHV9f$r(B
+$B%9%-%c%s$9$k$3$H$O%5%]!<%H$5$l$F$$$^$;$s!#(B
 .It defects
-Send the SCSI READ DEFECT DATA (10) command (0x37) to the given device, and
-print out any combination of: the total number of defects, the primary
-defect list (PLIST), and the grown defect list (GLIST).
+$B;XDj$7$?%G%P%$%9$K!"(BSCSI READ DEFECT DATA (10) $B%3%^%s%I(B (0x37) $B$rAw?.$7!"(B
+$B%G%U%'%/%HAm?t!"<g%G%U%'%/%H%j%9%H(B (PLIST)$B!"@.D9%G%U%'%/%H%j%9%H(B (GLIST)
+$B$rAH$_9g$o$;$FI=<($7$^$9!#(B
 .Bl -tag -width 01234567890
 .It Fl f Ar format
-The three format options are:
+$B7A<0%*%W%7%g%s$O0J2<$N(B 3 $B$D$G$9!#(B
 .Em block ,
-to print out the list as logical blocks,
+$B%j%9%H$rO@M}%V%m%C%/7A<0$GI=<($7$^$9!#(B
 .Em bfi ,
-to print out the list in bytes from index format, and
+$B%j%9%H$r%$%s%G%C%/%9$+$i$N%P%$%H?t$N7A<0$GI=<($7$^$9!#(B
 .Em phys ,
-to print out the list in physical sector format.  The format argument is
-required.  Most drives support the physical sector format.  Some drives
-support the logical block format.  Many drives, if they don't support the
-requested format, return the data in an alternate format, along with sense
-information indicating that the requested data format isn't supported.
-.Nm camcontrol
-attempts to detect this, and print out whatever format the drive returns.
-If the drive uses a non-standard sense code to report that it doesn't
-support the requested format,
+$B%j%9%H$rJ*M}%;%/%?7A<0$GI=<($7$^$9!#7A<00z?t$OI,?\$G$9!#$[$H$s$I$N%I%i%$%V(B
+$B$O!"J*M}%;%/%?7A<0$r%5%]!<%H$7$F$$$^$9!#0lIt$N%I%i%$%V$OO@M}%V%m%C%/7A<0$r(B
+$B%5%]!<%H$7$F$$$^$9!#;XDj$7$?7A<0$r%5%]!<%H$7$F$$$J$$>l9g!"B?$/$N%I%i%$%V$O!"(B
+$B;XDj$7$?%G!<%?7A<0$r%5%]!<%H$7$F$$$J$$$3$H$r<($9%;%s%9>pJs$H$H$b$K!"(B
+$BJL$N7A<0$G%G!<%?$rJV$7$^$9!#(B
+.Nm camcontrol
+$B$O!"$=$l$r8!CN$7$F(B
+$B%I%i%$%V$,JV$97A<0$J$i$I$N$h$&$J$b$N$G$bI=<($7$h$&$H$7$^$9!#%I%i%$%V$,(B
+$B;XDj$7$?7A<0$r%5%]!<%H$7$F$$$J$$$3$H$rJs9p$9$k:]$K!"HsI8=`$N%;%s%9%3!<%I$r(B
+$BMQ$$$?>l9g!"(B
 .Nm camcontrol
-will probably see the error as a failure to complete the request.
+$B$O!"$*$=$i$/$=$N%(%i!<$r%j%/%(%9%H40N;$K<:GT$7$?$H8+$J$9$G$7$g$&!#(B
 .It Fl G
-Print out the grown defect list.  This is a list of bad blocks that have
-been remapped since the disk left the factory.
+$B@.D9%G%U%'%/%H%j%9%H$rI=<($7$^$9!#$3$l$O!"9)>l$+$i$N=P2Y0J8e$K:F%^%C%W(B
+$B$5$l$?%P%C%I%V%m%C%/$N%j%9%H$G$9!#(B
 .It Fl P
-Print out the primary defect list.
+$B<g%G%U%'%/%H%j%9%H$rI=<($7$^$9!#(B
 .El
 .Pp
-If neither
 .Fl P
-nor
+$B$b(B
 .Fl G
-is specified,
+$B$b$I$A$i$b;XDj$7$F$$$J$$>l9g!"(B
 .Nm camcontrol
-will print out the number of defects given in the READ DEFECT DATA header
-returned from the drive.
+$B$O!"%I%i%$%V$+$iJV$5$l$?(B READ DEFECT DATA $B%X%C%@$+$iF@$i$l$k%G%U%'%/%H?t$r(B
+$BI=<($7$^$9!#(B
 .It modepage
-Allows the user to display and optionally edit a SCSI mode page.  The mode
-page formats are located in
-.Pa /usr/share/misc/scsi_modes .
-This can be overridden by specifying a different file in the
+SCSI $B%b!<%I%Z!<%8$rI=<($7$^$9!#$b$7$/$O!"%*%W%7%g%s;XDj$K$h$j(B
+$B%f!<%6$,%b!<%I%Z!<%8$rJT=8$G$-$k$h$&$K$7$^$9!#%b!<%I%Z!<%87A<0$O(B
+.Pa /usr/share/misc/scsi_modes
+$B$K$"$j$^$9!#(B
+$B4D6-JQ?t(B
 .Ev SCSI_MODES
-environment variable.  The modepage command takes several arguments:
+$B$GJL%U%!%$%k$r;XDj$9$k$3$H$K$h$j!"$3$N7A<0$r>e=q$-$9$k$3$H$,$G$-$^$9!#(B
+modepage $B%3%^%s%I$O0J2<$N$h$&$J$$$/$D$+$N0z?t$r<h$j$^$9!#(B
 .Bl -tag -width 012345678901
 .It Fl B
-Disable block descriptors for mode sense.
+$B%b!<%I%;%s%9$N$?$a$N%V%m%C%/5-=R;R$r6X;_$7$^$9!#(B
 .It Fl e
-This flag allows the user to edit values in the mode page.
+$B$3$N%U%i%0$r;XDj$9$k$3$H$G!"%f!<%6$O%b!<%I%Z!<%8Cf$NCM$rJT=8$9$k$3$H$,(B
+$B$G$-$^$9!#(B
 .It Fl m Ar mode_page
-This specifies the number of the mode page the user would like to view
-and/or edit.  This argument is mandatory.
+$B%f!<%6$,I=<((B/$BJT=8$7$?$$%b!<%I%Z!<%8HV9f$r;XDj$7$^$9!#$3$N0z?t$OI,?\$G$9!#(B
 .It Fl P page_ctl
-This allows the user to specify the page control field.  Possible values are:
+$B$3$N%U%i%0$r;XDj$9$k$3$H$G!"%f!<%6$O%Z!<%8@)8f%U%#!<%k%I$r;XDj$9$k$3$H$,(B
+$B$G$-$^$9!#;XDj2DG=$JCM$O!"(B
 .Bl -tag -width xxx -compact
 .It 0
-Current values
+$B8=:_$NCM(B,
 .It 1
-Changeable values
+$BJQ992DG=$JCM(B
 .It 2
-Default values
+$B%G%U%)%k%H$NCM(B
 .It 3
-Saved values
+$BJ]B8$5$l$?CM(B
 .El
 .El
 .It cmd
-Allows the user to send an arbitrary SCSI CDB to any device.  The cmd
-function requires the
+$BG$0U$N%G%P%$%9$KG$0U$N(B SCSI CDB $B$rAw?.$9$k$?$a$KMQ$$$k$3$H$,$G$-$^$9!#(B
+cmd $B5!G=$O!"(BCDB $B$r;XDj$9$k$?$a$N(B
 .Fl c
-argument to specify the CDB.  Other arguments are optional, depending on
-the command type.  The command and data specification syntax is documented
-in
-.Xr cam 3 .
-NOTE:  If the CDB specified causes data to be transfered to or from the
-SCSI device in question, you MUST specify either
+$B0z?t$,I,MW$G$9!#B>$N0z?t$O%*%W%7%g%s$G!"%3%^%s%I$N7?$K0MB8$7$^$9!#%3%^%s%I$H(B
+$B%G!<%?$r;XDj$9$kJ8K!$O!"(B
+.Xr cam 3
+$B$K5-=R$5$l$F$$$^$9!#(B
+$BCm0U(B: $B;XDj$7$?(B CDB $B$,!"(BSCSI $B%G%P%$%9$XAw?.$9$Y$-%G!<%?$+!"<u?.$9$Y$-(B
+$B%G!<%?$+$K5?Ld$,$"$k>l9g$O!"(B
 .Fl i
-or
-.Fl o .
+$B$^$?$O(B
+.Fl o
+$B$r;XDj$7$J$1$l$P$J$j$^$;$s!#(B
 .Bl -tag -width 01234567890123456
 .It Fl c Ar cmd Op args
-This specifies the SCSI CDB.  CDBs may be 6, 10, 12 or 16 bytes.
+$B$3$l$O(B SCSI CDB $B$r;XDj$7$^$9!#(BCDB $B$O(B 6, 10, 12, 16 $B%P%$%H$N$$$:$l$+(B
+$B$,2DG=$G$9!#(B
 .It Fl i Ar len Ar fmt
-This specifies the amount of data to read, and how it should be displayed.
-If the format is
-.Sq - ,
+$B$3$l$O!"FI$_9~$`%G!<%?$NNL$H!"$I$N$h$&$KI=<($9$k$+$H$r;XDj$7$^$9!#=q<0$,(B
+.Sq -
+$B$G$"$k>l9g!"(B
 .Ar len
-bytes of data will be read from the device and written to standard output.
+$B%P%$%H$N%G!<%?$,%G%P%$%9$+$iFI$_9~$^$l!"I8=`=PNO$K=q$-=P$5$l$^$9!#(B
 .It Fl o Ar len Ar fmt Op args
-This specifies the amount of data to be written to a device, and the data
-that is to be written.  If the format is
-.Sq - ,
+$B$3$l$O!"%G%P%$%9$K=q$-=P$9%G!<%?$NNL$H!"$I$N$h$&$KI=<($9$k$+$H$r;XDj$7$^$9!#(B
+$B=q<0$,(B
+.Sq -
+$B$G$"$k>l9g!"(B
 .Ar len
-bytes of data will be read from standard input and written to the device.
+$B%P%$%H$N%G!<%?$,I8=`F~NO$+$iFI$_9~$^$l%G%P%$%9$K=q$-=P$5$l$^$9!#(B
 .El
 .It debug
-Turn on CAM debugging printfs in the kernel.  This requires options CAMDEBUG 
-in your kernel config file.  WARNING:  enabling debugging printfs currently
-causes an EXTREME number of kernel printfs.  You may have difficulty
-turning off the debugging printfs once they start, since the kernel will be
-busy printing messages and unable to service other requests quickly.
-The debug function takes a number of arguments:
+$B%+!<%M%k$N(B CAM $B%G%P%C%0MQ(B printf $B$r%*%s$K$7$^$9!#%+!<%M%k$N@_Dj(B
+$B%U%!%$%k$K(B CAMDEBUG $B%*%W%7%g%s$,I,MW$G$9!#Cm0U(B: $B8=:_$N$H$3$m!"%G%P%C%0(B
+$BMQ(B printf $B$r;H$($k$h$&$K$9$k$H!"6K$a$FB??t$N%+!<%M%k(B printf $B$,@8$8$k(B
+$B$3$H$K$J$j$^$9!#(B
+$B0lEY%G%P%C%0MQ(B printf $B$r%9%?!<%H$5$;$F$7$^$&$H!"Dd;_$5$;$k$N$OFq$7$$(B
+$B$G$7$g$&!#$H$$$&$N$O!"%+!<%M%k$O%a%C%;!<%8$rI=<($9$k$N$KK;$7$/!"(B
+$BB>$N%j%/%(%9%H$r$9$0$K%5!<%S%9$9$k$3$H$,$G$-$J$$$+$i$G$9!#(B
+$B%G%P%C%05!G=$O$$$/$D$+$N0z?t$r<h$j$^$9!#(B
 .Bl -tag -width 012345678901234567
 .It Fl I
-Enable CAM_DEBUG_INFO printfs.
+CAM_DEBUG_INFO printf $B$rM-8z$K$7$^$9!#(B
 .It Fl T
-Enable CAM_DEBUG_TRACE printfs.
+CAM_DEBUG_TRACE printf $B$rM-8z$K$7$^$9!#(B
 .It Fl S
-Enable CAM_DEBUG_SUBTRACE printfs.
+CAM_DEBUG_SUBTRACE printf $B$rM-8z$K$7$^$9!#(B
 .It Fl c
-Enable CAM_DEBUG_CDB printfs.  This will cause the kernel to print out the
-SCSI CDBs sent to the specified device(s).
+CAM_DEBUG_CDB printf $B$rM-8z$K$7$^$9!#$3$l$K$h$j!"%+!<%M%k$,!";XDj$7$?(B
+$B%G%P%$%9$KAw?.$7$?(B SCSI CDB $B$rI=<($9$k$3$H$K$J$j$^$9!#(B
 .It all
-Enable debugging for all devices.
+$B$9$Y$F$N%G%P%$%9$K$D$$$F%G%P%C%0=PNO$rM-8z$K$7$^$9!#(B
 .It off
-Turn off debugging for all devices
+$B$9$Y$F$N%G%P%$%9$K$D$$$F%G%P%C%0=PNO$rL58z$K$7$^$9!#(B
 .It bus Ns Op :target Ns Op :lun
-Turn on debugging for the given bus, target or lun.  If the lun or target
-and lun are not specified, they are wildcarded.  (i.e., just specifying a
-bus turns on debugging printfs for all devices on that bus.)
+$B;XDj$7$?%P%9!"%?!<%2%C%H!"O@M}%f%K%C%HHV9f(B(lun)$B$K$D$$$F%G%P%C%0=PNO$r(B
+$BM-8z$K$7$^$9!#O@M}%f%K%C%HHV9f!"$b$7$/$O%?!<%2%C%H$HO@M}%f%K%C%HHV9f$,(B
+$B;XDj$5$l$J$$>l9g$O!"%o%$%k%I%+!<%I;XDj$5$l$?$b$N$H$7$F07$$$^$9!#(B($BNc$($P!"(B
+$B%P%9$@$1$r;XDj$9$k$H!"$=$N%P%9$N$9$Y$F$N%G%P%$%9$K$D$$$F%G%P%C%0MQ(B
+printf $B$,M-8z$K$J$j$^$9!#(B)
 .El
 .El
-.Sh ENVIRONMENT
-The
+.Sh "$B4D6-JQ?t(B"
+$BJQ?t(B
 .Ev SCSI_MODES
-variable allows the user to specify an alternate mode page format file.
+$B$K$h$C$F!"%f!<%6$OJL$N%b!<%I%Z!<%87A<0%U%!%$%k$r;XDj$7$^$9!#(B
 .Pp
-The
+$BJQ?t(B
 .Ev EDITOR
-variable determines which text editor 
+$B$K$h$C$F!"(B
 .Nm camcontrol
-starts when editing mode pages.
-.Sh FILES
+$B$O!"%b!<%I%Z!<%8JT=8$r9T$J$&:]$K(B
+$B$I$N%F%-%9%H%(%G%#%?$r5/F0$9$k$+$r7hDj$7$^$9!#(B
+.Sh "$B4XO"%U%!%$%k(B"
 .Bl -tag -width /usr/share/misc/scsi_modes -compact
 .It Pa /usr/share/misc/scsi_modes
-is the SCSI mode format database.
+SCSI $B%b!<%I7A<0%G!<%?%Y!<%9!#(B
 .It Pa /dev/xpt0 
-is the transport layer device.
+$B%H%i%s%9%]!<%HAX%G%P%$%9!#(B
 .It Pa /dev/pass*
-are the CAM application passthrough devices.
+CAM $B%"%W%j%1!<%7%g%s%Q%9%9%k!<%G%P%$%9!#(B
 .El
-.Sh EXAMPLES
+.Sh "$B;HMQNc(B"
 .Dl camcontrol eject -n cd -u 1 -v
 .Pp
-Eject the CD from cd1, and print SCSI sense information if the command
-fails.
+cd1 $B$+$i(B CD $B$r%$%8%'%/%H$7!"%3%^%s%I<B9T$K<:GT$7$?>l9g$O(B SCSI $B%;%s%9>pJs$r(B
+$B=PNO$7$^$9!#(B
 .Pp
 .Dl camcontrol tur
 .Pp
-Send the SCSI test unit ready command to da0.
+SCSI test unit ready $B%3%^%s%I$r(B da0 $B$KAw?.$7$^$9!#(B
 .Nm camcontrol
-will report whether the disk is ready, but will not display sense
-information if the command fails since the
+$B$O$=$N%G%#%9%/$,%l%G%#$+$I$&$+$rJs9p$7$^$9!#$7$+$7!"(B
 .Fl v
-switch was not specified.
+$B%9%$%C%A$,;XDj$5$l$F$$$J$$$?$a!"%3%^%s%I<B9T$K<:GT$7$F$b%;%s%9>pJs$r(B
+$BI=<($7$^$;$s!#(B
 .Pp
 .Bd -literal -offset foobar
 camcontrol tur -n da -u 1 -E -C 4 -t 50 -v
 .Ed
 .Pp
-Send a test unit ready command to da1.  Enable kernel error recovery.
-Specify a retry count of 4, and a timeout of 50 seconds.  Enable sense
-printing (with the
+SCSI test unit ready $B%3%^%s%I$r(B da1 $B$KAw?.$7$^$9!#%+!<%M%k%(%i!<%j%+%P(B
+$B%j$,M-8z$K$5$l$^$9!#%j%H%i%$%+%&%s%H$r(B 4 $B$K!"%?%$%`%"%&%H$r(B 50 $B$K(B
+$B@_Dj$7$^$9!#%3%^%s%I<B9T$K<:GT$7$?>l9g(B(
 .Fl v
-flag) if the command fails.  Since error recovery is turned on, the
-disk will be spun up if it is not currently spinning.
+$B%U%i%0$,$"$k$N$G(B)$B%;%s%9>pJs$,=PNO$5$l$^$9!#%(%i!<%j%+%P%j$,@_Dj$5$l$F(B
+$B$$$k$N$G!"%G%#%9%/$,2sE>$7$F$$$J$$>l9g$O2sE>$5$;$i$l$^$9!#(B
 .Nm camcontrol
-will report whether the disk is ready.
+$B$O%G%#%9%/$,%l%G%#$+$I$&$+$rJs9p$7$^$9!#(B
 .Bd -literal -offset foobar
 camcontrol cmd -n cd -u 1 -v -c "3C 00 00 00 00 00 00 00 0e 00" \e
 	-i 0xe "s1 i3 i1 i1 i1 i1 i1 i1 i1 i1 i1 i1"
 .Ed
 .Pp
-Issue a READ BUFFER command (0x3C) to cd1.  Display the buffer size of cd1,
-and display the first 10 bytes from the cache on cd1.  Display SCSI sense
-information if the command fails.
+READ BUFFER $B%3%^%s%I(B (0x3C) $B$r(B cd1 $B$KBP$7$FH/9T$7$^$9!#(Bcd1 $B$N%P%C%U%!%5%$%:$H(B
+cd1 $B$N%-%c%C%7%e$N:G=i$N(B 10 $B%P%$%H$rI=<($7$^$9!#%3%^%s%I<B9T$K<:GT$7$?>l9g(B
+SCSI $B%;%s%9>pJs$rI=<($7$^$9!#(B
 .Pp
 .Bd -literal -offset foobar
 camcontrol cmd -n cd -u u -v -c "3B 00 00 00 00 00 00 00 0e 00" \e
 	-o 14 "00 00 00 00 1 2 3 4 5 6 v v v v" 7 8 9 8
 .Ed
 .Pp
-Issue a WRITE BUFFER (0x3B) command to cd1.  Write out 10 bytes of data,
-not including the (reserved) 4 byte header.  Print out sense information if
-the command fails.  Be very careful with this command, improper use may
-cause data corruption.
+WRITE BUFFER $B%3%^%s%I(B (0x3B) $B$r(B cd1 $B$KBP$7$FH/9T$7$^$9!#(B($BM=Ls:Q$N(B) 4 $B%P%$%H(B
+$B%X%C%@$r4^$^$J$$%G!<%?(B 10 $B%P%$%H$r=q$-=P$7$^$9!#$3$N%3%^%s%I$K$O:Y?4$NCm0U$r(B
+$BJ'$C$F2<$5$$!#ITE,@Z$K;HMQ$7$?>l9g!"%G!<%?$,GK2u$5$l$k$+$b$7$l$^$;$s!#(B
 .Pp
 .Bd -literal -offset foobar
 camcontrol modepage -n da -u 3 -m 1 -e -P 3
 .Ed
 .Pp
-Edit mode page 1 (the Read-Write Error Recover page) for da3, and save the
-settings on the drive.  Mode page 1 contains a disk drive's auto read and
-write reallocation settings, among other things.
+da3 $B$N%b!<%I%Z!<%8(B 1 (Read-Write Error Recover $B%Z!<%8(B)$B$rJT=8$7!"JT=87k2L$r(B
+$B$=$N%I%i%$%V$K%;!<%V$7$^$9!#%b!<%I%Z!<%8(B 1 $B$K$O!"B>$N>pJs$K2C$($F!"(B
+$B%G%#%9%/%I%i%$%V$N<+F0%j!<%I$H=q$-9~$_:FG[CV@_Dj$,4^$^$l$^$9!#(B
 .Pp
 .Dl camcontrol rescan 0
 .Pp
-Rescan SCSI bus 0 for devices that have been added, removed or changed.
+SCSI $B%P%9(B 0 $B$r:F%9%-%c%s$7!"DI2C!":o=|!"JQ99$5$l$?%G%P%$%9$rC5$7$^$9!#(B
 .Pp
 .Dl camcontrol rescan 0:1:0
 .Pp
-Rescan SCSI bus 0, target 1, lun 0 to see if it has been added, removed, or
-changed.
-.Sh SEE ALSO
+SCSI $B%P%9(B 0, $B%?!<%2%C%H(B 1, $BO@M}%f%K%C%HHV9f(B 0 $B$r:F%9%-%c%s$7!"$=$N%G%P%$%9$,(B
+$BDI2C!":o=|!"JQ99$5$l$?$+$I$&$+$rD4$Y$^$9!#(B
+.Sh "$B4XO"9`L\(B"
 .Xr cam 3 ,
 .Xr pass 4 ,
 .Xr cam 9 ,
 .Xr xpt 9
-.Sh HISTORY
-The
+.Sh "$BNr;K(B"
 .Nm camcontrol
-command first appeared in
-.Fx 3.0 .
+$B$O!"(B
+.Fx 3.0
+$B$G:G=i$K8=$l$^$7$?!#(B
 .Pp
-The mode page editing code and arbitrary SCSI command code are based upon
-code in the old
+$B%b!<%I%Z!<%8JT=8$N%3!<%I$HG$0U$N(B SCSI $B%3%^%s%I$N%3!<%I$O!"(B
+Julian Ellischer $B$H(B Peter Dufault $B$,=q$$$?!"$+$D$F$N(B
 .Xr scsi 8
-utility and
+$B%f!<%F%#%j%F%#$H(B
 .Xr scsi 3
-library, written by Julian Ellischer and Peter Dufault.  The
+$B%i%$%V%i%j$N$b$N$K4p$E$$$F$$$^$9!#(B
 .Xr scsi 8
-program first appeared in 386BSD 0.1.2.4, and first appeared in 
+$B$,:G=i$K=P8=$7$?$N$O(B 386BSD $B$N(B 0.1.2.4 $B$G!"(B
 .Tn FreeBSD
-in
-.Fx 2.0.5 .
-.Sh AUTHORS
+$B$G:G=i$K=P8=$7$?$N$O!"(B
+.Fx 2.0.5
+$B$G$9!#(B
+.Sh "$B:n<T(B"
 .An Kenneth Merry Aq ken@FreeBSD.ORG
-.Sh BUGS
-Most of the man page cross references don't exist yet.  This will be fixed
-soon.
-.Pp
-The code that parses the generic command line arguments doesn't know that
-some of the subcommands take multiple arguments.  So if, for instance, you
-tried something like this:
+.Sh "$B%P%0(B"
+$B%^%K%e%"%k%Z!<%8$N%/%m%9%j%U%!%l%s%9$N$[$H$s$I$O$^$@B8:_$7$F$$$^$;$s!#(B
+$B$3$l$OAa$$$&$A$K=$@5$5$l$^$9!#(B
+.Pp
+$B%3%^%s%I9T0z?t$r2r<a$9$k%3!<%I$O!"$I$N%5%V%3%^%s%I$,J#?t$N0z?t$r<h$k$+$r(B
+$BCN$j$^$;$s!#$G$9$+$i!"$?$H$($P!"(B
 .Bd -literal -offset foobar
 camcontrol -n da -u 1 -c "00 00 00 00 00 v" 0x00 -v
 .Ed
 .Pp
-The sense information from the test unit ready command would not get
-printed out, since the first
-.Xr getopt 3
-call in 
-.Nm camcontrol
-bails out when it sees the second argument to
+$B$N$h$&$J$3$H$r;n$_$?>l9g!"(Btest unit ready $B%3%^%s%I$GF@$i$l$k%;%s%9>pJs$O(B
+$B=PNO$5$l$^$;$s!#$H$$$&$N$O!"(B
 .Fl c
+$B$N(B 2 $BHVL\$N0z?t(B
 .Po
 0x00
-.Pc ,
-above.  Fixing this behavior would take some gross code, or changes to the
+.Pc
+$B$r8+$?;~E@$G!"(B
+.Nm camcontrol
+$B$N:G=i$N(B
+.Xr getopt 3
+$B8F$S=P$7$,(B
+$B=*$C$F$7$^$&$?$a$G$9!#(B
+$B$3$NF0:n$r=$@5$9$k$K$O!"%3!<%I$r>/!9=q$-49$($k$+!"(B
 .Xr getopt 3
-interface.  The best way to circumvent this problem is to always make sure
-to specify generic
+$B%$%s%?%U%'!<%9$rJQ99$9$k$+$N$I$A$i$+$,I,MW$G$7$g$&!#(B
+$B$3$NLdBj$r$3$J$9$b$C$H$bNI$$J}K!$O!"3N<B$K!"$$$D$b(B
 .Nm camcontrol
-arguments before any command-specific arguments.
+$B6&DL$N0z?t$r;XDj$7$F$+$i%3%^%s%I8GM-$N0z?t$r;XDj$9$k$h$&$K$9$k$3$H$G$9!#(B
 .Pp
-It might be nice to add a way to allow users to specify devices by
-bus/target/lun or by device string (e.g. "da1").
+$B%G%P%$%9$r;XDj$9$k$K:]$7$F!"(Bbus/target/lun $B$+!"%G%P%$%9L>(B ($B$?$H$($P(B 
+"da1" $B$J$I$N(B)$B$G;XDj$G$-$k$h$&$K$J$k$HAG@2$i$7$$$N$G$9$,!"$"$$$K$/(B
+$B$=$&$J$C$F$$$^$;$s!#(B
