From owner-man-jp-reviewer@jp.freebsd.org  Sat May  8 18:43:53 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id SAA02827;
	Sat, 8 May 1999 18:43:53 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from mail.yk.rim.or.jp (root@mail.yk.rim.or.jp [202.247.130.37])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id SAA02822
	for <man-jp-reviewer@jp.freebsd.org>; Sat, 8 May 1999 18:43:53 +0900 (JST)
	(envelope-from k-horik@yk.rim.or.jp)
Received: from localhost (ppp908.yk.rim.or.jp [202.247.185.159])
	by mail.yk.rim.or.jp (8.8.8/3.6W-RIMNET-98-06-09) with ESMTP id SAA21547
	for <man-jp-reviewer@jp.freebsd.org>; Sat, 8 May 1999 18:43:49 +0900 (JST)
To: man-jp-reviewer@jp.freebsd.org
X-Mailer: Mew version 1.93 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
	boundary="--Next_Part(Sat_May__8_17:49:40_1999_597)--"
Content-Transfer-Encoding: 7bit
Message-Id: <19990508184240Z.k-horik@yk.rim.or.jp>
Date: Sat, 08 May 1999 18:42:40 +0900
From: Kazuo Horikawa <k-horik@yk.rim.or.jp>
X-Dispatcher: imput version 980905(IM100)
Lines: 550
Reply-To: man-jp-reviewer@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990430
X-Sequence: man-jp-reviewer 1367
Subject: [man-jp-reviewer 1367] RELENG_3's camcontrol.8 commited on 5/7
Errors-To: owner-man-jp-reviewer@jp.freebsd.org
Sender: owner-man-jp-reviewer@jp.freebsd.org
X-Originator: k-horik@yk.rim.or.jp

----Next_Part(Sat_May__8_17:49:40_1999_597)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

 $BKY@n$G$9!#(Bcamcontrol.8 $B$N:9J,$G$9!#(B

 $BIaCJ$N:9J,:n@.$O(B ftp://releng3.freebsd.org/pub/FreeBSD/snapshots/i386 
$B$r;HMQ$7$F$$$k$N$G$9$,!"(B5 $BF|$+$i99?7$5$l$F$$$J$$LOMM$J$N$G!":#2s$O(B 
commitlogs $B$+$iJQ99$r8!=P$7$F$$$^$9!#(B
 RELENG_3 $B$N99?7$G8+Mn$H$7$,$"$k$h$&$G$7$?$i65$($F$/$@$5$$!#(B


----Next_Part(Sat_May__8_17:49:40_1999_597)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Content-Description: camcontrol.8.diff Japanese
Content-Disposition: attachment; filename=camcontrol.8.jdiff

--- /mnt2/src/doc/ja/man/man8/camcontrol.8	Sat May  8 14:00:54 1999
+++ camcontrol.8	Sat May  8 16:28:01 1999
@@ -1,5 +1,5 @@
 .\"
-.\" Copyright (c) 1998 Kenneth D. Merry.
+.\" Copyright (c) 1998, 1999 Kenneth D. Merry.
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -25,10 +25,11 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\"	%Id: camcontrol.8,v 1.9.2.1 1999/05/04 12:01:54 kris Exp %
+.\"	%Id: camcontrol.8,v 1.9.2.2 1999/05/07 00:42:43 ken Exp %
 .\"
 .\" jpman %Id: camcontrol.8,v 1.4 1998/12/22 02:35:45 oku Stab %
 .\" WORD: defect list		$B%G%#%U%'%/%H%j%9%H(B[camcontrol.8]
+.\" WORD: tagged queing		$B%?%0IU$-%-%e!<%$%s%0(B
 .\"
 .Dd September 14, 1998
 .Dt CAMCONTROL 8
@@ -100,6 +101,24 @@
 .Op Fl S
 .Op Fl c
 .Aq all|off|bus Ns Op :target Ns Op :lun
+.Nm camcontrol
+tags
+.Op generic args
+.Op Fl N Ar tags
+.Op Fl q
+.Op Fl v
+.Nm camcontrol
+negotiate
+.Op generic args
+.Op Fl c
+.Op Fl D Ar enable|disable
+.Op Fl O Ar offset
+.Op Fl q
+.Op Fl R Ar syncrate
+.Op Fl T Ar enable|disable
+.Op Fl U
+.Op Fl W Ar bus_width
+.Op Fl v
 .Sh $B2r@b(B
 .Nm camcontrol
 $B$O!"%f!<%6$,(B
@@ -249,7 +268,7 @@
 $B$KJL$N%U%!%$%k$,;XDj$5$l$F$$$k>l9g$O$=$A$i$,M%@h$5$l$^$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
+.It Fl d
 $B%b!<%I%;%s%9$N$?$a$N%V%m%C%/5-=R;R$r6X;_$7$^$9!#(B
 .It Fl e
 $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
@@ -333,6 +352,149 @@
 $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
+.It tags
+"tagged openings" $B$N?t$r!"I=<($^$?$O@_Dj$7$^$9!#(B
+$B$3$NCM$O!"FCDj$N%G%P%$%9$KBP$7$FF1;~$K%-%e!<%$%s%02DG=$J(B
+$B%H%i%s%6%/%7%g%s?t$G$9!#(B
+$B%G%U%)%k%H$G$O!"%3%^%s%I8GM-$N0z?t$,L5$$$H(B ($B0lHLE*$J0z?t$N$_$r;XDj$9$k$H(B)$B!"(B
+.Sq tags
+$B%3%^%s%I$O!"(B
+$BBP>]$N%G%P%$%9$K%-%e!<%$%s%02DG=$J%H%i%s%6%/%7%g%s?t$N(B
+"soft" $B:GBgCM$rI=<($7$^$9!#(B
+$B$5$i$K>\:Y$J>pJs$rF@$k$K$O!"<!$K@bL@$9$k(B
+.Fl v
+$B0z?t$r;XDj$7$F$/$@$5$$!#(B
+.Bl -tag -width 0123456
+.It Fl N Ar tags
+$B;XDj$7$?%G%P%$%9$N%?%0?t$r@_Dj$7$^$9!#(B
+$B$3$NCM$O!"(B
+$B%+!<%M%kCf$NJJ$NI=(B (quirk table) $B$K$"$k:G>.CM$H:GBgCM$N4V$K$"$kI,MW$,$"$j$^$9!#(B
+$B%?%0IU$-%-%e!<%$%s%0$r%5%]!<%H$9$k$[$H$s$I$N%G%P%$%9$N%G%U%)%k%H$O!"(B
+$B:G>.CM$,(B 2 $B$G:GBgCM$,(B 255 $B$G$9!#(B
+$B;XDj$7$?%G%P%$%9$N:GBgCM$H:G>.CM$rD4$Y$k$K$O!"(B
+.Fl v
+$B%9%$%C%A$r;HMQ$7$^$9!#(B
+$B$3$N(B
+.Nm camcontrol
+$B%5%V%3%^%s%I$KBP$9$k(B
+.Fl v
+$B%9%$%C%A$N0UL#$O8e=R$7$^$9!#(B
+.It Fl q
+$B@E$+$K$J$j!"%?%0?t$rJs9p$7$^$;$s!#(B
+$B0lHLE*$K$O!"%?%0?t$r@_Dj$9$k$H$-$K;HMQ$7$^$9!#(B
+.It Fl v
+$B>iD9%U%i%0$O!"(B
+.Em tags
+$B0z?t$KBP$7$F$OFC<l$J5!G=$,$"$j$^$9!#(B
+$B$3$N%U%i%0$r;XDj$9$k$H(B
+.Nm camcontrol
+$B$O!"(BXPT_GDEV_TYPE CCB $B$N%?%0IU$-%-%e!<%$%s%04XO"%U%#!<%k%I$rI=<($7$^$9(B:
+.Bl -tag -width 0123456789012
+.It dev_openings
+$B;XDj$5$l$?%G%P%$%9$KBP$7$F%-%e!<%$%s%02DG=$J%H%i%s%6%/%7%g%s$NAm?t$G$9!#(B
+.It dev_active
+$B;XDj$5$l$?%G%P%$%9$KBP$7$F8=:_%-%e!<%$%s%0$5$l$F$$$k%H%i%s%6%/%7%g%s?t$G$9!#(B
+.It devq_openings
+$B%H%i%s%6%/%7%g%sMQ$N%+!<%M%k%-%e!<6u4V$G$9!#(B
+$BDL>o$3$N?t$O(B dev_openings $B$rH?1G$7$^$9!#(B
+$B%(%i!<%j%+%P%j;~$ONc30$G$"$j!"BP>]%G%P%$%9$N%-%e!<$OE`7k$5$l$k$+(B
+($B%G%P%$%9$O%3%^%s%I<u?.$r5v$5$l$^$;$s(B)$B!"(B 
+dev_openings $B$N?t$,8:$8$i$l$k$+!"%H%i%s%6%/%7%g%s$N:F<B9T$,9T$o$l$^$9!#(B
+.It devq_queued
+$B%+!<%M%k%-%e!<Fb$G%G%P%$%9$,6u$/$N$rBT$C$F$$$k%H%i%s%6%/%7%g%s?t$G$9!#(B
+$B%(%i!<%j%+%P%jCf$G$J$1$l$P!"DL>o$3$N?t$O(B 0 $B$G$9!#(B
+.It held
+held $B?t$O!"<~JUAuCV%I%i%$%P$,J];}$9$k(B CCB $B?t$G$9!#(B
+$B$3$N$h$&$J(B CCB $B$O!"CzEY40N;$7$?$b$N$G$"$k$+!"(B
+$B%G%P%$%9$K$h$C$F%5!<%S%9$r<u$1$k$?$a$KE>AwAX$KEO$5$l$h$&$H$7$F$$$k$b$N$G$9!#(B
+$BJ];}$5$l$F$$$k(B CCB $B$O!"BP>]$N%G%P%$%9$K6u$-$rM=Ls$7$^$9!#(B
+.It mintags
+$BF1;~$K%G%P%$%9$K%-%e!<%$%s%02DG=$J%H%i%s%6%/%7%g%s?t$N!"(B
+$B8=:_$N(B "hard" $B:G>.CM$G$9!#4{=P$N(B
+.Ar dev_openings
+$BCM$O$3$N?t$h$j>.$5$/$O$J$jF@$^$;$s!#(B
+.Ar mintags
+$B$N%G%U%)%k%HCM$O(B 2 $B$G$9$,!"(B
+$B%G%P%$%9$K$h$C$F$O$h$jBg$-$/$^$?$O$h$j>.$5$/@_Dj$5$lF@$^$9!#(B
+.It maxtags
+$BF1;~$K%G%P%$%9$K%-%e!<%$%s%02DG=$J%H%i%s%6%/%7%g%s?t$N!"(B
+$B8=:_$N(B "hard" $B:GBgCM$G$9!#4{=P$N(B
+.Ar dev_openings
+$B$O$3$NCM$h$jBg$-$/$O$J$jF@$^$;$s!#(B
+.Ar maxtags
+$B$N%G%U%)%k%HCM$O(B 255 $B$G$9$,!"(B
+$B%G%P%$%9$K$h$C$F$O$h$jBg$-$/$^$?$O$h$j>.$5$/@_Dj$5$lF@$^$9!#(B
+.El
+.El
+.It negotiate
+$BMM!9$JDL?.%Q%i%a!<%?$r!"I=<($^$?$O8r>D$7$^$9!#(B
+$B%3%s%H%m!<%i$K$h$C$F$O!"FCDj$NCM$N@_Dj$dJQ99$r%5%]!<%H$7$^$;$s!#(B
+$BNc$($P(B Adaptec 174x $B%3%s%H%m!<%i$O!"(B
+$B%G%P%$%9$NF14|%l!<%H$d%*%U%;%C%H$NJQ99$r%5%]!<%H$7$^$;$s!#(B
+$B$"$k%Q%i%a!<%?$N@_Dj$r%5%]!<%H$7$J$$$H%3%s%H%m!<%i$,<($9>l9g!"(B
+.Nm camcontrol
+$B$O$=$N%Q%i%a!<%?$N@_Dj$r;n$_$^$;$s!#(B
+$B%3%s%H%m!<%i$,%5%]!<%H$9$k$b$N$rD4$Y$k$K$O!"(B
+.Fl v
+$B%U%i%0$r;HMQ$7$^$9!#(B
+.Sq negotiate
+$B%3%^%s%I$G$N(B
+.Fl v
+$B%U%i%0$N0UL#$O8e=R$7$^$9!#(B
+$B$^$?!"%3%s%H%m!<%i%I%i%$%P$K$h$C$F$O!"(B
+$B2<0L$N%3%s%H%m!<%i$,$"$k8r>D%Q%i%a!<%?$NJQ99$r%5%]!<%H$7$F$$$k$K$b$+$+$o$i$:!"(B
+$B$=$N8r>D%Q%i%a!<%?$N@_Dj$r%5%]!<%H$7$^$;$s!#(B
+Advansys $B%o%$%I%3%s%H%m!<%i$N$h$&$K!"(B
+$B%3%s%H%m!<%i$NF14|8r>D$NM-8z$HL58z$r%5%]!<%H$7$F$$$k$K$b$+$+$o$i$:!"(B
+$BF14|8r>D%l!<%H$N@_Dj$r%5%]!<%H$7$J$$%3%s%H%m!<%i$,$"$j$^$9!#(B
+.Bl -tag -width 01234567890123456
+.It Fl a
+$B8r>D@_Dj$,$9$0$K8z2L$r;}$D$h$&$K$9$k$?$a!"(B
+$BBP>]%G%P%$%9$K(B Test Unit Ready $B%3%^%s%I$rAw$j$^$9!#(B
+.It Fl c
+$B8=:_$N8r>D@_Dj$r!"I=<($^$?$O@_Dj$7$^$9!#$3$l$,%G%U%)%k%H$G$9!#(B
+.It Fl D Ar enable|disable
+$B@ZCG(B (disconnection) $B$r!"M-8z$^$?$OL58z$K$7$^$9!#(B
+.It Fl O Ar offset
+$B%3%^%s%ICY1d%*%U%;%C%H$r@_Dj$7$^$9!#(B
+.It Fl q
+$B@E$+$K$J$j!"$J$K$bI=<($7$^$;$s!#(B
+$B0lHLE*$K$O!"%Q%i%a!<%?$r@_Dj$7$?$$$,>uBV>pJs$OITMW$G$"$k$H$-$KM-MQ$G$9!#(B
+.It Fl R Ar syncrate
+$B%G%P%$%9$NF14|%l!<%H$rJQ99$7$^$9!#(B
+$BF14|%l!<%H$O!"(BMHz $B$G;XDj$5$l$kIbF0>.?tE@CM$G$9!#(B
+$BNc$($P(B
+.Sq 20
+$B$H$7$F$O!"(B
+.Sq 20.000
+$B$,@5$7$$CM$G$9!#(B
+.It Fl T Ar enable|disable
+$B%G%P%$%9$N%?%0IU$-%-%e!<%$%s%0$r!"M-8z$^$?$OL58z$K$7$^$9!#(B
+.It Fl U
+$B%f!<%6$N8r>D@_Dj$r!"I=<($^$?$O@_Dj$7$^$9!#(B
+$B%G%U%)%k%H$G$O!"8=:_$N8r>D@_Dj$rI=<($^$?$O@_Dj$7$^$9!#(B
+.It Fl v
+$B>iD9%U%i%0$O!"(B
+.Sq negotiate
+$B%5%V%3%^%s%I$KBP$7$F$OFC<l$J0UL#$,$"$j$^$9!#(B
+$B$3$N%U%i%0$r;XDj$9$k$H(B
+.Nm camcontrol
+$B$O!"%3%s%H%m!<%i%G%P%$%9$KAw$C$?(B Path Inquiry (XPT_PATH_INQ) CCB $B$NFbMF$r(B
+$BI=<($7$^$9!#(B
+.It Fl W Ar bus_width
+$B%G%P%$%9$H8r>D$9$k%P%9I}$r;XDj$7$^$9!#(B
+$B%P%9I}$O%S%C%H?t$G;XDj$7$^$9!#(B
+$B;XDj2DG=$JCM$O!"(B8, 16, 32 $B$N$$$:$l$+$N%S%C%H?t$G$9!#(B
+$B@_Dj$,8z2L$r;}$D$?$a$K$O!"(B
+$B$=$N%P%9I}$r%3%s%H%m!<%i$,%5%]!<%H$9$kI,MW$,$"$j$^$9!#(B
+.El
+.Pp
+$B0lHLE*$K$O!"$"$k%G%P%$%9$NF14|%l!<%H$H%*%U%;%C%H@_Dj$,8z2L$r$"$i$o$9$N$O!"(B
+$B$=$N%G%P%$%9$KBP$7$F%3%^%s%I$,Aw$i$l$F$+$i$G$9!#(B
+$BA0=R$N(B
+.Fl a
+$B%9%$%C%A$O!"8r>D%Q%i%a!<%?$,8z2L$r$"$i$o$9$h$&$K$9$k$?$a!"(B
+$B<+F0E*$K(B Test Unit Ready $B$r%G%P%$%9$KAw$j$^$9!#(B
 .El
 .Sh $B4D6-JQ?t(B
 $BJQ?t(B
@@ -416,8 +578,60 @@
 .Pp
 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
+.Pp
+.Dl camcontrol tags -n da -u 5 -N 24
+.Pp
+da5 $B$NF1;~%H%i%s%6%/%7%g%s?t$r(B 24 $B$K@_Dj$7$^$9!#(B
+.Pp
+.Bd -literal -offset foobar
+camcontrol negotiate -n da -u 4 -T disable
+.Ed
+.Pp
+da4 $B$N%?%0IU$-%-%e!<%$%s%0$rL58z$K$7$^$9!#(B
+.Pp
+.Bd -literal -offset foobar
+camcontrol negotiate -n da -u 3 -R 20.000 -O 15 -a
+.Ed
+.Pp
+$BF14|%l!<%H(B 20MHz $B$H%*%U%;%C%H(B 15 $B$r!"(Bda3 $B$H8r>D$7$^$9!#(B
+$B$=$N8e(B Test Unit Ready $B%3%^%s%I$rAw$j!"@_Dj$,8z2L$r$"$i$o$9$h$&$K$7$^$9!#(B
+.Pp
+.Bd -literal -offset foobar
+camcontrol cmd -n da -u 3 -v -t 7200 -c "4 0 0 0 0 0"
+.Ed
+.Pp
+FORMAT UNIT (0x04) $B%3%^%s%I$r(B da3 $B$KAw$j$^$9!#(B
+$B$3$l$O!"%G%#%9%/$r%m!<%l%Y%k(B (low-level) $B%U%)!<%^%C%H$7$^$9!#(B
+$B%3%^%s%I<:GT;~$K$O%;%s%9>pJs$rI=<($7$^$9!#(B
+$B$^$?!"%?%$%`%"%&%H$r(B 2 $B;~4V(B (7200 $BIC(B) $B$K@_Dj$7$^$9!#(B
+.Pp
+.Em $B7Y9p(B! $B7Y9p(B! $B7Y9p(B!
+.Pp
+$B%G%#%9%/$r%m!<%l%Y%k%U%)!<%^%C%H$9$k$H!"(B
+$B%G%#%9%/>e$N!V$9$Y$F!W$N%G!<%?$rGK2u$7$^$9!#(B
+$B$3$N%3%^%s%I$rH/9T$9$k$H$-$K$O!"Hs>o$KCm0U$7$F$/$@$5$$!#(B
+$BK\Ev$O%m!<%l%Y%k%U%)!<%^%C%H$,ITMW$J%G%#%9%/$KBP$7!"(B
+$BB?$/$N%f!<%6$,%m!<%l%Y%k%U%)!<%^%C%H$r9T$C$F$$$^$9!#(B
+$B%m!<%l%Y%k%U%)!<%^%C%H$,I,MW$H$J$k>u67$O!"Hf3SE*>/$J$$$G$9!#(B
+$B%m!<%l%Y%k%U%)!<%^%C%H$,I,MW$H$J$kM}M3$N$R$H$D$O!"(B
+$B%G%#%9%/$NJ*M}%;%/%?$NBg$-$5$rJQ$($k$?$a$G$9!#(B
+$B%m!<%l%Y%k%U%)!<%^%C%H$,I,MW$H$J$kJL$NM}M3$O!"(B
+$B%G%#%9%/$X$NFI$_9~$_$^$?$O=q$-9~$_$NMW5a$KBP$7$F(B "medium format corrupted" 
+($B%a%G%#%"%U%)!<%^%C%H$,2u$l$F$$$k(B)
+$B%(%i!<$H$J$k>l9g$K!"$=$N%G%#%9%/$rI|3h$5$;$k$?$a$G$9!#(B
+.Pp
+$B%G%#%9%/$K$h$C$F$O!"(B
+$BB>$N%G%#%9%/$h$j$b%U%)!<%^%C%H$K;~4V$,$+$+$j$^$9!#(B
+$B%U%)!<%^%C%H$,40N;$9$k$?$a$K==J,$J%?%$%`%"%&%HCM$r!"(B
+$B%f!<%6$,;XDj$9$kI,MW$,$"$j$^$9!#(B
+$B%O!<%I%G%#%9%/$K$h$C$F$O!"Hs>o$KC;$$4|4V(B (5 $BJ,0J2<$NC10L(B)
+$B$G%U%)!<%^%C%HA`:n$,40N;$7$^$9!#(B
+$B$3$N$h$&$J>l9g$N$[$H$s$I$O!"(B
+FORMAT UNIT $B%3%^%s%I$r%I%i%$%V$,<B:]$K$O%5%]!<%H$r$7$F$$$J$$$?$a!"(B
+$B$9$J$o$A%3%^%s%I$r<u$1IU$1$F?tJ,BT$C$F$+$iLa$k$@$1$G$"$k$?$a$G$9!#(B
 .Sh $B4XO"9`L\(B
 .Xr cam 3 ,
+.Xr cam_cdbparse 3 ,
 .Xr pass 4 ,
 .Xr cam 9 ,
 .Xr xpt 9

----Next_Part(Sat_May__8_17:49:40_1999_597)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Description: camcontrol.8.diff English
Content-Disposition: attachment; filename=camcontrol.8.diff

===================================================================
RCS file: /home/ncvs/src/sbin/camcontrol/camcontrol.8,v
retrieving revision 1.9.2.1
retrieving revision 1.9.2.2
diff -p -u -r1.9.2.1 -r1.9.2.2
--- src/sbin/camcontrol/camcontrol.8	1999/05/04 12:01:54	1.9.2.1
+++ /home/ncvs/src/sbin/camcontrol/camcontrol.8	1999/05/07 00:42:43	1.9.2.2
@@ -1,5 +1,5 @@
 .\"
-.\" Copyright (c) 1998 Kenneth D. Merry.
+.\" Copyright (c) 1998, 1999 Kenneth D. Merry.
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\"	$Id: camcontrol.8,v 1.9.2.1 1999/05/04 12:01:54 kris Exp $
+.\"	$Id: camcontrol.8,v 1.9.2.2 1999/05/07 00:42:43 ken Exp $
 .\"
 .Dd September 14, 1998
 .Dt CAMCONTROL 8
@@ -97,6 +97,24 @@ debug
 .Op Fl S
 .Op Fl c
 .Aq all|off|bus Ns Op :target Ns Op :lun
+.Nm camcontrol
+tags
+.Op generic args
+.Op Fl N Ar tags
+.Op Fl q
+.Op Fl v
+.Nm camcontrol
+negotiate
+.Op generic args
+.Op Fl c
+.Op Fl D Ar enable|disable
+.Op Fl O Ar offset
+.Op Fl q
+.Op Fl R Ar syncrate
+.Op Fl T Ar enable|disable
+.Op Fl U
+.Op Fl W Ar bus_width
+.Op Fl v
 .Sh DESCRIPTION
 .Nm camcontrol
 is a utility designed to provide a way for users to access and control the
@@ -105,7 +123,7 @@ CAM subsystem.
 .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.
+expert users are encouraged to exercise caution when using this command.
 Novice users should stay away from this utility.
 .Pp
 .Nm camcontrol
@@ -239,7 +257,7 @@ This can be overridden by specifying a d
 .Ev SCSI_MODES
 environment variable.  The modepage command takes several arguments:
 .Bl -tag -width 012345678901
-.It Fl B
+.It Fl d
 Disable block descriptors for mode sense.
 .It Fl e
 This flag allows the user to edit values in the mode page.
@@ -314,6 +332,135 @@ Turn on debugging for the given bus, tar
 and lun are not specified, they are wildcarded.  (i.e., just specifying a
 bus turns on debugging printfs for all devices on that bus.)
 .El
+.It tags
+Show or set the number of "tagged openings" or simultaneous transactions
+we attempt to queue to a particular device.  By default, the
+.Sq tags
+command, with no command-specific arguments (i.e. only generic arguments)
+prints out the "soft" maximum number of transactions that can be queued to
+the device in question.  For more detailed information, use the
+.Fl v
+argument described below.
+.Bl -tag -width 0123456
+.It Fl N Ar tags
+Set the number of tags for the given device.  This must be between the
+minimum and maximum number set in the kernel quirk table.  The default for
+most devices that support tagged queueing is a minimum of 2 and a maximum
+of 255.  The minimum and maximum values for a given device may be
+determined by using the
+.Fl v
+switch.  The meaning of the
+.Fl v
+switch for this
+.Nm camcontrol
+subcommand is described below.
+.It Fl q
+Be quiet, and don't report the number of tags.  This is generally used when
+setting the number of tags.
+.It Fl v
+The verbose flag has special functionality for the
+.Em tags
+argument.  It causes
+.Nm camcontrol
+to print out the tagged queueing related fields of the XPT_GDEV_TYPE CCB:
+.Bl -tag -width 0123456789012
+.It dev_openings
+This is the amount of capacity for transactions queued to a given device.
+.It dev_active
+This is the number of transactions currently queued to a device.
+.It devq_openings
+This is the kernel queue space for transactions.  This count usually mirrors
+dev_openings except during error recovery operations when
+the device queue is frozen (device is not allowed to receive
+commands), the number of dev_openings is reduced, or transaction
+replay is occurring.
+.It devq_queued
+This is the number of transactions waiting in the kernel queue for capacity
+on the device.  This number is usually zero unless error recovery is in
+progress.
+.It held
+The held count is the number of CCBs held by peripheral drivers that have
+either just been completed or are about to be released to the transport
+layer for service by a device.  Held CCBs reserve capacity on a given
+device.
+.It mintags
+This is the current "hard" minimum number of transactions that can be
+queued to a device at once.  The
+.Ar dev_openings
+value above cannot go below this number.  The default value for
+.Ar mintags
+is 2, although it may be set higher or lower for various devices.
+.It maxtags
+This is the "hard" maximum number of transactions that can be queued to a
+device at one time.  The
+.Ar dev_openings
+value cannot go above this number.  The default value for
+.Ar maxtags
+is 255, although it may be set higher or lower for various devices.
+.El
+.El
+.It negotiate
+Show or negotiate various communication parameters.  Some controllers may
+not support setting or changing some of these values.  For instance, the
+Adaptec 174x controllers do not support changing a device's sync rate or
+offset.
+.Nm camcontrol
+will not attempt to set the parameter if the controller indicates that it
+does not support setting the parameter.  To find out what the controller
+supports, use the
+.Fl v
+flag.  The meaning of the
+.Fl v
+flag for the
+.Sq negotiate
+command is described below.  Also, some controller drivers don't support
+setting negotiation parameters, even if the underlying controller supports
+negotiation changes.  Some controllers, such as the Advansys wide
+controllers, support enabling and disabling synchronous negotiation for
+a device, but do not support setting the synchronous negotiation rate.
+.Bl -tag -width 01234567890123456
+.It Fl a
+Attempt to make the negotiation settings take effect immediately by sending
+a Test Unit Ready command to the device.
+.It Fl c
+Show or set current negotiation settings.  This is the default.
+.It Fl D Ar enable|disable
+Enable or disable disconnection.
+.It Fl O Ar offset
+Set the command delay offset.
+.It Fl q
+Be quiet, don't print anything.  This is generally useful when you want to
+set a parameter, but don't want any status information.
+.It Fl R Ar syncrate
+Change the synchronization rate for a device.  The sync rate is a floating
+point value specified in MHz.  So, for instance,
+.Sq 20.000
+is a legal value, as is
+.Sq 20 .
+.It Fl T Ar enable|disable
+Enable or disable tagged queueing for a device.
+.It Fl U
+Show or set user negotiation settings.  The default is to show or set
+current negotiation settings.
+.It Fl v
+The verbose switch has special meaning for the
+.Sq negotiate
+subcommand.  It causes
+.Nm camcontrol
+to print out the contents of a Path Inquiry (XPT_PATH_INQ) CCB sent to the
+controller driver.
+.It Fl W Ar bus_width
+Specify the bus width to negotiate with a device.  The bus width is
+specified in bits.  The only useful values to specify are 8, 16, and 32
+bits.  The controller must support the bus width in question in order for
+the setting to take effect.
+.El
+.Pp
+In general, sync rate and offset settings will not take effect for a
+device until a command has been sent to the device.  The
+.Fl a
+switch above will automatically send a Test Unit Ready to the device so
+negotiation parameters will take effect.
 .El
 .Sh ENVIRONMENT
 The
@@ -396,8 +543,53 @@ Rescan SCSI bus 0 for devices that have 
 .Pp
 Rescan SCSI bus 0, target 1, lun 0 to see if it has been added, removed, or
 changed.
+.Pp
+.Dl camcontrol tags -n da -u 5 -N 24
+.Pp
+Set the number of concurrent transactions for da5 to 24.
+.Pp
+.Bd -literal -offset foobar
+camcontrol negotiate -n da -u 4 -T disable
+.Ed
+.Pp
+Disable tagged queueing for da4.
+.Pp
+.Bd -literal -offset foobar
+camcontrol negotiate -n da -u 3 -R 20.000 -O 15 -a
+.Ed
+.Pp
+Negotiate a sync rate of 20MHz and an offset of 15 with da3.  Then send a
+Test Unit Ready command to make the settings take effect.
+.Pp
+.Bd -literal -offset foobar
+camcontrol cmd -n da -u 3 -v -t 7200 -c "4 0 0 0 0 0"
+.Ed
+.Pp
+Send the FORMAT UNIT (0x04) command to da3.  This will low-level format the
+disk.  Print sense information if the command fails, and set the timeout to
+two hours (or 7200 seconds).
+.Pp
+.Em WARNING! WARNING! WARNING!
+.Pp
+Low level formatting a disk will destroy ALL data on the disk.  Use
+extreme caution when issuing this command.  Many users low-level format
+disks that do not really need to be low-level formatted.  There are
+relatively few scenarios that call for low-level formatting a disk.
+One reason for
+low-level formatting a disk is if you want to change the physical sector
+size of the disk.  Another reason for low-level formatting a disk is to
+revive the disk if you are getting "medium format corrupted" errors from the
+disk in response to read and write requests.
+.Pp
+Some disks take longer than others to format.  Users should specify a
+timeout long enough to allow the format to complete.  Some hard disks
+will complete a format operation in a very short period of time (on the
+order of 5 minutes or less).  This is often because the drive doesn't
+really support the FORMAT UNIT command -- it just accepts the command,
+waits a few minutes and then returns it.
 .Sh SEE ALSO
 .Xr cam 3 ,
+.Xr cam_cdbparse 3 ,
 .Xr pass 4 ,
 .Xr cam 9 ,
 .Xr xpt 9

----Next_Part(Sat_May__8_17:49:40_1999_597)----
