aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man4/cy.4
blob: 0e42c0e112de6702774c0c1b4ad8e8c082b09f35 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Systems Programming Group of the University of Utah Computer
.\" Science Department.
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"     This product includes software developed by the University of
.\"     California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     from: @(#)dca.4 5.2 (Berkeley) 3/27/91
.\" jpman %Id: cy.4,v 1.3 2000/05/09 22:59:06 yt-kage Stab %
.\"     from: com.4,v 1.1 1993/08/06 11:19:07 cgd Exp
.\"     from: sio.4,v 1.16 1995/06/26 06:05:30 bde Exp $
.\"     %Id: cy.4,v 1.9 1998/10/22 14:51:19 bde Exp %
.\"
.Dd October 10, 1995
.Dt CY 4 i386
.Os FreeBSD
.Sh 名称
.Nm cy
.Nd Cyclades Cyclom-Y シリアルドライバ
.Sh 書式
.Cd "device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000"
.Cd "device cy1 at isa? tty irq 11 iomem 0xd6000 iosiz 0x2000"
.Pp
マイナ番号:
.Pp
.Bd -literal
0b\fIMMMMMMMMMMMMMMMMxxxxxxxxOLIMMMMM\fR
                          call\fBO\fRut
                           \fBL\fRock
                            \fBI\fRnitial
  \fBMMMMMMMMMMMMMMMM           MMMMMM\fRinor
.Ed
.Sh 解説
.Nm cy
ドライバは Cyclades の Cyclom-Y ボード に載っている
Cirrus Logic CD1400 ベースの
.Tn EIA
.Tn RS-232C
.Pf ( Tn CCITT
.Tn V.24 )
通信インタフェース (ポート) をサポートします。
それぞれの CD1440 は 4 つのポートを提供します。
Cyclom-Y ボードにはさまざまな数の CD1400 を搭載したモデルがあります。
このドライバは 1 つのボードあたり最大 8 つまでの CD1440 (32 ポート) を
サポートしています。
.Pp
回線の入出力は以下の速度のいずれかを回線ごとに設定可能です:
50, 75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400, 4800, 9600,
19200, 38400, 57600, 115200 bps。
それ以降、最大 150000 までの速度は、termios インタフェースではサポート
されていますが、sgttyb 互換インタフェースではサポートされていません。
CD1440 は 115200 bps 以上の速度を効率よく扱えるほどの速さは
ありません。
1 つの回線だと 115200 bps より心持ち速く送信することができますが、
4 つの回線を双方向で同時に使用する場合は、CD1440 では
約 90000 bps が限界になります。
.\" XXX the following should be true for all serial drivers and
.\" should not be repeated in the man pages for all serial drivers.
.\" It was copied from sio.4.  The only change was s/sio/cy/g.
.Pp
.Nm cy
ドライバによって制御されるシリアルポートは `着呼' と `発呼' のどちらにでも
使用できます。
それぞれのポートに対し、着呼デバイスと発呼デバイスが存在します。
発呼デバイスのマイナ番号は対応する着呼ポートのものより 128 だけ大きい番号が
ついています。
一般的には、着呼デバイスを使います。
着呼デバイスをオープン途中のプロセスは、通常は、キャリアが来るまで、かつ、
発呼デバイスが活動状態でなくなるまで待たされます。
発呼デバイスを使用することで、着呼デバイスでキャリア待ちしている
プロセスの隙をついてポートを使用することができます。
発呼デバイスをオープンしようとするプロセスはキャリア待ちをしません。
かつ、発呼デバイスをオープンしようとするプロセスは、キャリア待ち
している他のプロセスをより深いスリープ状態にします。これにより、
発呼セッションで両プロセスが衝突することはなくなります。
一般的なポートで動作し、かつ、キャリア待ちせずにポートを
オープンする必要があると仮定しているプログラムで発呼デバイスを
扱うことは誤用であり、全く馬鹿げたことです。
.Pp
また
.Nm cy
ドライバは、発呼と着呼それぞれのデータデバイスに対して、
初期状態の制御とロック状態の制御をサポートします。
初期状態デバイスのマイナ番号は対応するデータデバイスより 32 だけ大きい番号が
ついています。
ロック状態デバイスのマイナ番号は対応するデータデバイスより 64 だけ大きい番号が
ついています。
データデバイスにおける termios の設定は、初めてオープンする際に対応する
初期状態デバイスより複製され、以前にオープンされていたときの状態からは
継承されません。
.Xr stty 1
を初期状態デバイスに対して通常のやりかたで実行することにより、
あなたの望む設定に適した初期 termios 状態をプログラムできます。
.Pp
ロック termios の状態は、データデバイスの termios 状態の変更を
不可能にするフラグとして
振舞います。例えば CRTSCTS のようなフラグ変数をロックするには、
ロック状態デバイスにおいて
.Em "stty crtscts"
とします。
速度や特殊文字の設定をロックするには、
ロック状態デバイスの対応する値を 0 でない値に設定するとよいです。
.Pp
外部デバイスを正しく結線して正しいプログラムで通信している限りは、
ほぼどのような初期状態であっても、ほとんどロックしなくても動作します。
そうでない場合は、デフォルトの初期状態を変更し、その状態にロックを掛ける
ことで、うまく動くようになることもあるかもしれません。
特に、バグありのプログラムが (POSIX) 標準でないフラグを変更されない
ようにするために、標準でないフラグの初期状態を接続されたデバイスに
合うように設定し、ロックしてやる必要があるかもしれません。
例えば、常時 RTS/CTS ハンドシェイクをサポートするデバイスでは、CRTSCTS は
オンのままロックしておく必要があります。また、全くサポートしないデバイスに
対してはオフでロックしておく必要があります。
CLOCAL はキャリアをサポートしないデバイスに対してはオンにロックするべきです。
HUPCL は何らかの理由で切断したくない場合にはオフにロックするべきです。
一般的に、何かが間違った状態でロックすると、とても悪いことが起こります。
複数の設定をサポートするデバイスにはロックを行なうべきではありません。
着呼ポートでの CLOCAL フラグは、ある種のセキュリティホールを避けるために
オフにロックしておくべきですが、着呼ポートを何か他の用途に使う
場合には、この設定を getty で行なうべきです。
.Sh 関連ファイル
.\" XXX more cloning: s/d/c/g and add a ? for the card number.
.Bl -tag -width /dev/ttyic?? -compact
.It Pa /dev/ttyc??
着呼ポート
.It Pa /dev/ttyic??
.It Pa /dev/ttylc??
対応する着呼初期状態とロック状態デバイス
.Pp
.\" XXX more cloning: s/a/c/g.  No consistency :-(.
.It Pa /dev/cuac??
発呼ポート
.It Pa /dev/cuaic??
.It Pa /dev/cualc??
対応する発呼初期状態とロック状態デバイス
.El
.Pp
.Bl -tag -width /etc/rc.serial -compact
.It Pa /etc/rc.serial
初期状態とロック状態デバイス設定の例
.El
.Pp
これらのデバイス名の1つめの疑問符はカード番号 (0 と 65535 を含めた間の
10 進数) の略です。
2つめの疑問符はポート番号 ([0-9a-v]の間の文字) の略です。
.Sh 診断
.Bl -diag
.\" XXX back to s/sio/cy/g.
.It cy%d: silo overflow.
割り込みハンドラに問題があります。
.El
.Bl -diag
.It cy%d: interrupt-level buffer overflow.
ドライバのボトムハーフに問題があります。
.El
.Bl -diag
.It cy%d: tty-level buffer overflow.
アプリケーションに問題があります。
モジュールが処理し切れない速さで入力が行なわれ、一部の入力は失われてしまいました。
.El
.\" .Bl -diag
.\" .It sio%d: reduced fifo trigger level to %d.
.\" Attempting to avoid further silo overflows.
.\" .El
.Sh 関連項目
.Xr stty 1 ,
.Xr termios 4 ,
.Xr tty 4 ,
.Xr comcontrol 8 ,
.Xr pstat 8
.Sh 歴史
.Nm
ドライバは
.Nm sio
ドライバと NetBSD の
.Nm
ドライバより派生し、現在開発継続中です。
.Sh バグ
BREAK はまだ実装されていません。
.Pp
シリアルコンソールはまだ実装されていません。
.Pp
遅いシステム下での高ボーレートやポートの多過ぎるシステム、あるいは
高負荷状態のシステムで crtscts が動かない状況下では、
データの脱落が起きるかもしれません。
.Pp
コンパイル時にしか設定できないフラグが多過ぎます。
CD1440 には NS16550 に比べて若干少ない fifo しかないので 
(16 でなく 12 バイト)、NS16550 よりも多くの仮想 DMA を必要とします。
デフォルトの設定は一般的には実効で約 30% の相対コストの時に最適化されていま
す。これらのコンパイル時定義は効率を良くするために変更されるかもしれません:
.Pp
RxFifoThreshold: デフォルトは 6; 486DX-33 では、この値では 8 ポートが
互いに通信できるのは 115200 bps であり、11 にした場合、8 ポートが互いに
通信できるのは 57600 bps です。閾値を低くするのは、
.Tn FreeBSD
のためではなく、実際には 115200 bps を維持できない CD1400 によるものです。
.Pp
PollMode: Cyclom-16Y に必要です。Cyclom-8Y では、相対的にみて 10-20%
効率が犠牲になります
(RxFifoThreshold を低くすればもっと増えます)。
.Pp
SOFT_HOTCHAR: RxFifoThreshold に小さな値を与えた場合には、
SLIP や PPP を 8 ポートにおいて 115200 bps で使用する時にオーバランを
防ぐために必要です。相対的にみて、5% 効率が犠牲になります。