aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man4/dgb.4
blob: 12a05e7e621b3d566b0c0fbe487c1956025c2fb4 (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
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
.\" 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
.\" $FreeBSD$
.\"	from: com.4,v 1.1 1993/08/06 11:19:07 cgd Exp
.\"	from: sio.4,v 1.15 1994/12/06 20:14:30 bde Exp
.\"	%Id: dgb.4,v 1.7 1997/03/03 18:47:38 bde Exp %
.\"
.\" WORD: alternate pinout      結線交換 [man-jp-reviewer 1629-1631]
.Dd Oct 13, 1995
.Dt DGB 4 i386
.Os FreeBSD
.Sh 名称
.Nm dgb
.Nd DigiBoard インテリジェントシリアルカードドライバ
.Sh 書式
.Cd "options" \&"NDGBPORTS=8\&"
.\" ↓閉じ " を追加 (send-pr docs/14684 HEAD RELENG_3 に適用済)
.Cd "device dgb0 at isa? tty port 0x220 iomem 0xfc0000 iosiz ? flags 0x0"
値は全部ただの例です。
.Pp
\fBNDGBPORTS\fR オプションは、システムにインストールされている
全てのカード上のポート数の合計を定義します。
数が定義されていない場合は計算によって求められます:
.br
    デフォルトの \fBNDGBPORTS\fR = 記述された DigiBoard カードの数 * 16
もしこの数字が実際のポート数よりも小さかった場合、
システムは先頭から \fBNDGBPORTS\fR 番目のポートまでしか
使うことができません。
もしこの数字が実際のポート数よりも大きかった場合、
全てのポートを使用できますが、若干のメモリが無駄になります。
.Pp
\fBflags\fR の意味:
.br
\fB0x0001\fR 結線交換 (DCD と DSR の線を交換) を使用します。
.br
\fB0x0002\fR PC/Xe の 8K ウィンドウモードを使用しません。
.Pp
デバイス番号:
.br
0b\fICC\fRmmmmmmmm\fIOLIPPPPP\fR
.br
  \fBCC\fRard number
.br
    mmmmmmmm\fRajor number
.br
            call\fBO\fRut
.br
             \fBL\fRock
.br
              \fBI\fRnitial
.br
               \fBPPPPP\fRort number
.Sh 解説
.Nm dgb
ドライバは
.Tn EIA
.Tn RS-232C
.Pf ( Tn CCITT
.Tn V.24 )
標準に準拠し、非同期インタフェースを備えた
DigiBoard PC/Xe シリーズと PC/Xi シリーズの
インテリジェントシリアルマルチポートカードをサポートします。
.Pp
各ラインの入出力は以下のボーレートのどれか一つに設定できます;
50, 75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400, 4800, 9600,
19200, 38400, 57600, 更に新しいカードのバージョンでは 115200。
.Pp
ドライバは割り込みを使わず、``ポーリングベース''で動きます。
このことはドライバが DigiBoard カードの生成する割り込みでなく、
クロック割り込みを使用することを意味しており、
カードの状態を 1 秒あたり 25 回チェックします。
この方法は実用的です。なぜなら、
DigiBoard カードは大きな入出力バッファ (ポートあたり 1 KByte 以上) と、
注意の必要なポートを効率良く見つけられるハードウェアを
持っているからです。
このポリシを用いることでみられる問題点は、SLIP や PPP のレスポンスが
遅くなるということだけです。
.Pp
カーネル設定ファイルの各行には
.Xr sio 4
ドライバのようにポートを記述するのではなく、カードを記述します。
.Pp
.Em flags
キーワードをカーネル設定ファイルの各
.Em "device dgb"
行で用いると、インタフェースの結線を変更したり、PC/Xe カードで
8 K メモリウィンドウ互換モード (64K メモリウィンドウ) を使用したり
できます。8K メモリウィンドウを使用すると、入出力バッファが小さくなる
というわけではないことに注意してください。ただ、全てのバッファが
同じメモリアドレスにマップされ、必要に応じて切り替わるというだけの
ことです。
.Pp
.Em port
値はカードのジャンパで設定された
.Em port
値と同じでなければなりません。
PC/Xi カードでは 
.Em iomem
値についても同じことがいえます。この値は、カードのジャンパで
設定されたメモリアドレスと同じでなければなりません。
.\"Some documentation gives the address as a ``paragraph'' or ``segment'';
.\"you can get the value of address by adding the digit "0" at end of
.\"paragraph value, e.g., 0xfc000 -> 0xfc0000.
PC/Xe カードではジャンパをこの目的で使う必要はありません。
実のところ、そのような機能を持ったジャンパは存在しません。
カーネル設定ファイルの 
.Em iomem
に使用したいアドレスを書くだけで良いのです。カードは、そのアドレスを
使うようにプログラムされます。
.Pp
インストールされた DigiBoard はみな、
同じメモリアドレス範囲 (他のカードのためのメモリや物理メモリを除く) を
使用します。大容量メモリ (256K や 512K またおそらく 128K でも) を
持った DigiBoard は最初の 1 メガバイト以外のメモリアドレスにマップ
されなければなりません。
コンピュータが 15 メガバイト以上のメモリを持っていた場合、
最初の 1 メガバイトのアドレス空間以外には、DigiBoard をマップできる
空間は存在しません。
この場合コンピュータの総メモリ量を減らす必要があるかもしれません。
しかし多くのマシンではより良い方法を提供しています。
そうしたマシンでは、BIOS 設定を用いて、16 番目のメガバイト
(アドレス 0xF00000 - 0xFFFFFF) を ``無効'' にすることができます。
この設定により、DigiBoard のアドレス空間をこの ``穴'' に設定することが
できるようになります。
.\" 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 changes were s/sio/dgb/g.
.Pp
.Nm dgb
ドライバによって制御されるシリアルポートは `着呼' と `発呼' のどちらにでも
使用できます。
それぞれのポートに対し、着呼デバイスと発呼デバイスが存在します。
発呼デバイスのマイナ番号には、対応する着呼ポートのものより 128 だけ
大きい番号がついています。
一般的な用途には、着呼デバイスを使います。
着呼デバイスをオープン途中のプロセスは、通常はキャリアを待ち、また
発呼デバイスが活動状態でなくなるまで待ちます。
発呼デバイスを使用することで、着呼デバイスでキャリア待ちしている
プロセスの隙をついてポートを使用することができます。
発呼デバイスをオープンしようとするプロセスはキャリア待ちをしません。
かつ、発呼デバイスをオープンしようとするプロセスは、着呼デバイス上でキャリア待ち
している他のプロセスをより深いスリープ状態にします。これにより、
発呼セッションで両プロセスが衝突することはなくなります。
発呼デバイスを一般的なポートと同じだがキャリア待ちをせずにオー
プンする必要がある、と考えて操作するプログラムがありますが、
そのような発呼デバイスの使い方は誤用であり、全く馬鹿げています。
.Pp
また
.Nm dgb
ドライバは、発呼と着呼それぞれのデータデバイスに対する
初期状態制御デバイスとロック状態制御デバイスをサポートします。
初期状態デバイスのマイナ番号には、対応するデータデバイスより 32 だけ大きい番号が
ついています。
ロック状態デバイスのマイナ番号には、対応するデータデバイスより 64 だけ大きい番号が
ついています。
データデバイスにおける termios の設定は、初めてオープンする際に対応する
初期状態デバイスより複製され、直前にオープンされていたときの状態からは
継承されません。
初期状態デバイスに対して普段通りの方法で
.Xr stty 1
を
使用することで、
あなたの望む設定に適した初期 termios 状態をプログラムできます。
.Pp
ロック termios の状態は、データデバイスの termios 状態の変更を
不可能にするフラグとして
振舞います。例えば CRTSCTS のようなフラグ変数をロックするには、
ロック状態デバイスで
.Em "stty crtscts"
を実行します。
速度や特殊文字の設定をロックするには、
ロック状態デバイス上の対応する値を 0 でない値に設定するとよいです。
.Pp
外部デバイスを正しく結線して正しいプログラムで通信している限りは、
.\" XXX change next line in other man pages too, and rewrite this paragraph.
ほぼどのような初期状態であっても、ロックなしで動作します。
そうでない場合は、デフォルトの初期状態を変更し、その状態にロックを掛ける
ことで、うまく動くようになることもあるかもしれません。
特に、(POSIX) 標準でないフラグの初期状態は、
接続されたデバイスに合うように設定すべきであり、
バグのあるプログラムがこれらのフラグを変更しないように、
ロックする必要があるかもしれません。
例えば、常時 RTS/CTS ハンドシェイクをサポートするデバイスでは、CRTSCTS は
オンの状態でロックしておく必要があります。また、全くサポートしないデバイスに
対しては、オフの状態でロックしておくべきです。
CLOCAL は、キャリアをサポートしないデバイスに対してはオンの状態でロックするべきです。
HUPCL は、何らかの理由で切断したくない場合にはオフの状態でロックするべきです。
一般的に、何かが間違った状態でロックすると、とても悪いことが起こります。
また、複数の設定をサポートするデバイスに対してはロックを行なうべきではありません。
着呼ポートでの CLOCAL フラグは、login のある種のセキュリティホールを
避けるためにオフの状態にロックしておくべきですが、着呼ポートを何か他の用途に
使う場合には、この設定を getty で行なうべきです。
.Sh 関連ファイル
.Bl -tag -width /dev/ttyiD?? -compact
.It Pa /dev/ttyD??
着呼ポート
.It Pa /dev/ttyiD??
.It Pa /dev/ttylD??
対応する着呼初期状態デバイスとロック状態デバイス
.Pp
.It Pa /dev/cuaD??
発呼ポート
.It Pa /dev/cuaiD??
.It Pa /dev/cualD??
対応する発呼初期状態デバイスとロック状態デバイス
.El
.Pp
.Bl -tag -width /etc/rc.serial -compact
.It Pa /etc/rc.serial
初期状態とロック状態デバイス設定の例
.El
.Pp
これらのデバイス名の 1 つめの疑問符はカード番号 (0 から 65535 まで
10 進数。0 および 65535 を含みます) の略です。
2 つめの疑問符はポート番号 ([0-9a-v]の間の文字) の略です。
.Sh 診断
ソースファイル dgb.c の先頭にある DEBUG を定義することにより、
拡張された診断を得ることができます。
.Bl -diag
.It dgb\fIX\fB: warning: address \fIN\fB truncated to \fIM\fB
PC/Xe 用の 8K ウィンドウのメモリアドレスが正しく配置されていないか
(8K 境界に配置されるべきです)、最初の 1 メガバイトの範囲外です。
.El
.Bl -diag
.It dgb\fIX\fB: 1st reset failed
カードの I/O ポートへのアクセスに問題があります。おそらく
カーネル設定ファイルにおいて、間違った \fBport\fR 値が指定されています。
.El
.Bl -diag
.It dgb\fIX\fB: 2nd reset failed
ハードウェアに問題があります。
.El
.Bl -diag
.It dgb\fIX\fB: \fIN\fB[st,nd,rd,th] memory test failed
カードのメモリへのアクセスに問題があります。おそらく
カーネル設定ファイルにおいて、間違った \fBiomem\fR 値が指定されています。
.El
.Bl -diag
.It dgb\fIX\fB: BIOS start failed
オンボード BIOS の起動に問題があります。おそらく DigiBoard の
メモリアドレスが、何か他のデバイスあるいは RAM と重なっています。
.El
.Bl -diag
.It dgb\fIX\fB: BIOS download failed
オンボード BIOS に問題があります。おそらく DigiBoard の
メモリアドレスが、何か他のデバイスあるいは RAM と重なっています。
.El
.Bl -diag
.It dgb\fIX\fB: FEP code download failed
フロントエンドプロセッサのマイクロ OS のダウンロードに問題があります。
おそらく DigiBoard の
メモリアドレスが、何か他のデバイスあるいは RAM と重なっています。
.El
.Bl -diag
.It dgb\fIX\fB: FEP/OS start failed
フロントエンドプロセッサのマイクロ OS の起動に問題があります。
おそらく DigiBoard の
メモリアドレスが、何か他のデバイスあるいは RAM と重なっています。
.El
.Bl -diag
.It dgb\fIX\fB: too many ports
この DigiBoard は、自分が 32 より多くのポートを持っていると報告してきました。
おそらくハードウェアの問題があるか、 DigiBoard の
メモリアドレスが、何か他のデバイスあるいは RAM と重なっています。
.El
.Bl -diag
.It dgb\fIX\fB: only \fIN\fB ports are usable
NDGBPORTS パラメータが小さすぎるため、このカードには \fIN\fR ポート
分の空間しか割り当てられません。
.El
.Bl -diag
.It dgb\fIX\fB: port \fIY\fB is broken
オンボードの診断プログラムが、指定されたポートにハードウェア上の問題が
あると報告しました。
.El
.Bl -diag
.It dgb\fIX\fB: polling of disabled board stopped
ドライバのポーリングロジックに内部的な問題が生じました。
.El
.Bl -diag
.It dgb\fIX\fB: event queue's head or tail is wrong!
ドライバかハードウェアに内部的な問題が生じました。
.El
.Bl -diag
.It dgb\fIX\fB: port \fIY\fB: got event on nonexisting port
物理的に存在するポートの状態に何らかの変化がありましたが、
設定が正しくないため使用できません。
.El
.Bl -diag
.It dgb\fIX\fB: port \fIY\fB: event \fIN\fB mstat \fIM\fB lstat \fIK\fB
ドライバはカードから得体の知れないイベントを受けとりました。
おそらくイベントリストが拡張された新しいカードを使用しているか、
それ以外の何かハードウェア上の問題です。
.El
.Bl -diag
.It dgb\fIX\fB: port \fIY\fB: overrun
入力バッファが一杯になりました。
ドライバのポーリングロジックに問題があります。
.El
.Bl -diag
.It dgb\fIX\fB: port \fIY\fB: FEP command on disabled port
ドライバに内部的な問題が生じました。
.El
.Bl -diag
.It dgb\fIX\fB: port \fIY\fB: timeout on FEP command
ハードウェアに問題があります。
.Sh 関連項目
.Xr stty 1 ,
.Xr termios 4 ,
.Xr tty 4 ,
.Xr MAKEDEV 8 ,
.Xr comcontrol 8
.\" XXX add next line to many other drivers.
.Sh 歴史
.Nm
ドライバは
.Xr sio 4
ドライバと
.Tn Linux 
の DigiBoard ドライバに由来しており、現在開発継続中です。
.Sh バグ
BREAK 送信の実装は完全ではありません。
どのような場合でも 1/4 秒の固定長で BREAK を送信します。
.Pp
.Xr select 2
の実装にバグがありました。
この問題は現在は修正されていますが、まだ広範囲なテストはされていません。
.Pp
ditty コマンドはありません。その機能の多く (結線交換、
115200 ボーへの速度向上など) はドライバ自身に実装されています。
それ以外のいくつかの機能は欠けています。