aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man4/cx.4
blob: 4a9455eefdfcda6567f21448670977f575cb3fa0 (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
.\"
.\"	%Id: cx.4,v 1.4 1997/06/23 04:02:37 steve Exp %
.\" jpman %Id: cx.4,v 1.3 2000/08/10 13:49:49 horikawa Stab %
.\"
.Dd December 12, 1994
.Dt CX 4 i386
.Os FreeBSD
.Sh 名称
.Nm cx ,
.Nm if_cx
.Nd 同期/非同期 Cronyx-Sigma アダプタドライバ
.Sh 設定
.Cd "device cx0 at isa? port 0x240 irq 15 drq 7"
.Cd "device cx1 at isa? port 0x260 irq 12 drq 6"
.Cd pseudo-device sppp
.Pp
i/o ベースアドレスは、ボード上のジャンパで設定されます。
DMA チャネルと割り込みリクエスト番号は、
アダプタ初期化時にソフトウェアで設定されます。
通常の値は以下の通りです。
.Pp
.Bl -tag -compact -width Port
.It Port
0x240, 0x260, 0x280, 0x300, 0x320, 0x380
.It IRQ
3, 5, 7, 10, 11, 12, 15
.It DMA
5, 6, 7
.Sh 解説
Cronyx-Sigma ドライバはモデル 100,
400, 500, 401, 404, 410, 440, 703, 801, 810, 840 をサポートします。
モデルが異なると、チャネルのセットが異なります。
.Pp
.Bl -tag -compact -width Cronyx-Sigma-999
.It モデル
チャネル
.It Cronyx-Sigma-100
0
.It Cronyx-Sigma-400
4, 5, 6, 7
.It Cronyx-Sigma-500       
0, 4, 5, 6, 7
.It Cronyx-Sigma-401       
0, 1, 2, 3
.It Cronyx-Sigma-404       
0, 1, 2, 3
.It Cronyx-Sigma-410       
0, 1, 2, 3
.It Cronyx-Sigma-440       
0, 1, 2, 3
.It Cronyx-Sigma-703       
0, 1, 2, 4, 5, 6, 7
.It Cronyx-Sigma-801       
0, 1, 2, 3, 4, 5, 6, 7
.It Cronyx-Sigma-810       
0, 1, 2, 3, 4, 5, 6, 7
.It Cronyx-Sigma-840       
0, 1, 2, 3, 4, 5, 6, 7
.El
.Pp
ふたつのアダプタは、ボード間接続用の短い専用ケーブルで接続することができます。
ふたつの接続されたアダプタは、同じ IRQ と DMA チャネルを使用し、
ドライバから見ればひとつの 16 チャネルマルチプレクサとして動作します。
接続されたボードの片方が ``マスタ'' に、もう一方が ``スレーブ'' になります。
.Pp
スレーブになったボードのチャネルは、
ドライバによって 8 から始まる番号が割り当てられます。
たとえばモデル 100 と モデル 500 を接続すると、
0, 8, 12, 13, 14, 15 番のチャネル番号が割り当てられます。
.Pp
RS-232C インタフェースをもつチャネルは、
同期モードと非同期モードのどちらでも動作することが可能
(cxconfig ユーティリティによってソフトウェア的に選択します) であり、
そのため ``ユニバーサルチャネル'' と呼ばれます。
.Pp
Cronyx-Sigma アダプタ用のデバイス型特殊ファイル
.Pa /dev/*
は、
.Xr MAKEDEV 8
によっ作られます。
たとえば、以下のように作ります:
.Bd -literal
cd /dev
sh MAKEDEV cronyx ttyx0 ttyx1 ttyy0
.El
.Sh 非同期ドライバ
.Pp
非同期チャネルのデバイスファイルには次のような名前が付けられます:
.Pa /dev/ttyx# 
- はアダプタ cx0 に、
.Pa /dev/ttyy# 
- はアダプタ cx1 に、
.Pa /dev/ttyz# 
- はアダプタ cx2 に付けられます。
ここで # は 0-9-a-f の、16 進数でのチャネル番号です。
.Pp
ドライバは以下の標準 ioctl を受け付けます (
.Xr ioctl
を参照):
.Pp
.Bl -tag -width TIOCXXXXX -compact
.It Dv TIOCSBRK
BREAK を送信開始します。
.It Dv TIOCCBRK
BREAK の送信を停止します。
.It Dv TIOCSDTR
DTR 信号をセットします (DTR := 1)。
DTR 信号は最初の open(2) で必ずセットされ、
.Dv TIOCCDTR ,
.Dv TIOCSDTR , 
.Dv TIOCMSET , 
.Dv TIOCMBIS , 
.Dv TIOCMBIC 
の ioctl により変更可能です。
.It TIOCCDTR
DTR 信号をクリアします (DTR := 0)。
.It TIOCMSET
DTR 信号と RTS 信号に、指定した値をセットします (<DTR:RTS> := data)。
DTR 信号と RTS 信号は、
ioctl システムコールの引数中の
.Dv TIOCM_DTR 
と
.Dv TIOCM_RTS
のビットにより制御可能です。
.It TIOCMBIS
DTR 信号と RTS 信号をセットします (<DTR:RTS> |= data)。
DTR 信号と RTS 信号は、
ioctl システムコールの引数中の
.Dv TIOCM_DTR 
と
.Dv TIOCM_RTS
のビットにより制御可能です。
.It TIOCMBIC
DTR 信号と RTS 信号をクリアします (<DTR:RTS> &= ~data)。
DTR 信号と RTS 信号は、
ioctl システムコールの引数中の
.Dv TIOCM_DTR
と
.Dv TIOCM_RTS
のビットにより制御可能です。
.It TIOCMGET
ライン上のモデム信号の状態を判定します。
呼び出しのあと、引数のデータは下記のビットを保持しています:
.Pp
.Bl -tag -width TIOCM_XXX -compact
.It TIOCM_LE 
常にセット (ラインイネーブル状態)
.It TIOCM_DSR 
データセットレディ信号 (DSR) 受信済
.It TIOCM_CTS 
送信可能信号 (CTS) 受信済
.It TIOCM_CD  
データキャリア検出信号 (CD) 受信済
.It TIOCM_DTR 
データ端末レディ (DTR) 信号送信済
.It TIOCM_RTS 
送信要求 (RTS) 送信済
.El
.El
.Sh 同期ドライバ
.Pp
同期チャネルとユニバーサルチャネルは、
.Xr cxconfig 8
ユーティリティによって同期モードに設定すると、
ネットワークインタフェース ``cx#''
(# は 0 から 47 までのチャネル番号) としてアクセス可能です。
すべての標準的なネットワークインタフェースパラメータは、
.Xr ifconfig 8
によって設定可能です。
また
.Xr cxconfig 8
コマンドは、拡張されたチャネルオプションの変更や、
上位レベルのソフトウェアプロトコル
(PpP や Cisco HDLC など) の設定に使用されます。
.Pp
ユニバーサルチャネルは同期モードでも非同期モードでも使用することができます。
デフォルトでは非同期モードに設定されており、モードは
.Xr cxconfig 8
ユーティリティによって変更可能です。
チャネルがビジー状態 (非同期チャネルがオープン状態の場合や、
ネットワークインタフェースが動作中 (up) の場合)
の間、モードはブロックされます。
.Sh 同期ポイントツーポイントプロトコル
.Pp
Cronyx-Sigma ドライバは、組み込みの同期ポイントツーポイントプロトコル
(sppp) を使用します。
本プロトコルには、PpP/HDLC や Cisco/HDLC、keepalive パケットによる
自動的なコネクションロス検出もサポートしています。
sppp プロトコルセットは独立したモジュールとして実装され、
他の同期シリアルチャネルのドライバによって使用することも可能です。
BSD/386 (BSDI) 用の
ドライバでは、OS 側で実装されている一般的な同期プロトコルのセットも使用
可能です。外部プロトコルセットは、``cxconfig ext'' コマンド
(
.Xr cxconfig 8
を参照) によって選択可能です。
.Sh チャネルオプションの管理
.Pp
.Xr cxconfig 8
ユーティリティは、チャネルオプションを設定するのに使用されます。
チャネルオプションは、通常、オペレーティングシステムが起動する際に (たとえば
.Pa /etc/rc
ファイルなどで) 設定されます。
すべての場合において、
すべてのオプションが意味を持つとは限らないことに注意してください。
また、
オプションの設定によっては、
チャネルもしくはアダプタ全体のハングアップの原因になります。
.Pp
実際のチャネルオプションの制御機能は、
デバイス型特殊ファイル /dev/cronyx に対する
いくつかの ioctl を経由する形で実装されており、以下の ioctl が使用できます。
.Pp
.Bl -tag -width CXIOCXXXXXXX -compact
.It CXIOCGETMODE
チャネルオプションの値を取得します。
.It CXIOCSETMODE
チャネルオプションの値を設定します。
.El
.Pp
ioctl コールのデータ引数は以下のオプション構造体のアドレスを持ちます:
.Bd -literal
typedef struct {
    unsigned char board;   /* アダプタ番号であり、0..2 */
    unsigned char channel; /* チャネル番号であり、0..15 */
    unsigned char type;    /* チャネルタイプ (読み込み専用) */
    unsigned char iftype;  /* chan0 インタフェース */
    unsigned long rxbaud;  /* 受信速度 */
    unsigned long txbaud;  /* 転送速度 */
    cx_chan_mode_t mode;   /* チャネルモード */
    cx_chan_opt_t opt;     /* 共通のチャネルオプション */
    cx_opt_async_t aopt;   /* 非同期モードオプション */
    cx_opt_hdlc_t hopt;    /* hdlc モードオプション */
    cx_opt_bisync_t bopt;  /* bisync モードオプション */
    cx_opt_x21_t xopt;     /* x.21 モードオプション */
    cx_soft_opt_t sopt;    /* ソフトウェアオプションと状態フラグ */
} cx_options_t;            /* ユーザが設定可能なオプション */
.Ed
.Pp
.Bl -tag -width rxbaudxxx
.It Fa board
0..2 の、アダプタ番号
.It Fa channel
0..15 の、チャネル番号
.It Fa type
チャネルのタイプ (読み取り専用の引数)
.It Fa iftype
0 番 (と 8 番) チャネルのインタフェースタイプ。 0 - RS-232, 1 - RS-449/V.35。
.It Fa rxbaud
受信ボーレート
.It Fa txbaud
送信ボーレート
.It Fa mode
チャネルモード: 非同期/HDLC/Bisync/X.21
.It Fa opt
共通のチャネルオプション
.It Fa aopt
非同期モードオプション
.It Fa hopt
HDLC モードオプション
.It Fa bopt
Bisync モードオプション
.It Fa xopt
X.21 モードオプション
.It Fa sopt
ソフトウェアプロトコルオプション
.El
.Sh 関連ファイル
.Bl -tag -width /dev/cxXXXX -compact
.It Pa /dev/cx??
非同期チャネル
.It Pa /dev/cronyx
チャネルオプション管理用のデバイス型特殊ファイル
.El
.Pp
ドライバを含んでいるソースファイルは以下の通りです:
.Pp
.Bl -tag -width /dev/cxXXXX -compact
.It Pa /sys/i386/isa/cronyx.c
.It Pa /sys/i386/isa/cx.c
.It Pa /sys/i386/isa/if_cx.c
.It Pa /sys/i386/isa/cronyx.h
.It Pa /sys/i386/isa/cxreg.h
.It Pa /sys/net/if_spppsubr.c
.It Pa /sys/net/if_sppp.h
.El
.Sh 関連項目
.Xr cxconfig 8 ,
.Xr ifconfig 8