CX(4) FreeBSD/i386 カーネルインタフェースマニュアル CX(4)
名称
cx, if_cx − 同期/非同期 Cronyx-Sigma アダプタドライバ |
設定
device cx0 at isa? port 0x240 irq 15 drq 7 device cx1 at isa? port 0x260 irq 12 drq 6 pseudo-device sppp i/o ベースアドレスは、ボード上のジャンパで設定されます。 DMA チャネルと割 り込みリクエスト番号は、アダプタ初期化時にソフトウェアで設定されます。通 常の値は以下の通りです。 |
Port
0x240, 0x260, 0x280, 0x300, 0x320, 0x380 解説 |
Cronyx-Sigma ドライバはモデル 100, 400, 500, 401, 404, 410, 440, 703, 801, 810, 840 をサポートします。モデルが異なると、チャネルのセットが異な ります。 |
モデル
チャネル ふたつのアダプタは、ボード間接続用の短い専用ケーブルで接続することができ ます。ふたつの接続されたアダプタは、同じ IRQ と DMA チャネルを使用し、ド ライバから見ればひとつの 16 チャネルマルチプレクサとして動作します。接続 されたボードの片方が ‘‘マスタ’’ に、もう一方が ‘‘スレーブ’’ になります。 スレーブになったボードのチャネルは、ドライバによって 8 から始まる番号が割 り当てられます。たとえばモデル 100 と モデル 500 を接続すると、 0, 8, 12, 13, 14, 15 番のチャネル番号が割り当てられます。 RS-232C インタフェースをもつチャネルは、同期モードと非同期モードのどちら でも動作することが可能 (cxconfig ユーティリティによってソフトウェア的に選 択します) であり、そのため ‘‘ユニバーサルチャネル’’ と呼ばれます。 Cronyx-Sigma アダプタ用のデバイス型特殊ファイル /dev/* は、 MAKEDEV(8) に よって作られます。たとえば、以下のように作ります: cd /dev 非同期ドライバ |
非同期チャネルのデバイスファイルには次のような名前が付けられます: /dev/ttyx# - はアダプタ cx0 に、 /dev/ttyy# - はアダプタ cx1 に、 /dev/ttyz# - はアダプタ cx2 に付けられます。ここで # は 0-9-a-f の、16 進 数でのチャネル番号です。 ドライバは以下の標準 ioctl を受け付けます ( ioctl を参照): |
TIOCSBRK
BREAK を送信開始します。 TIOCM_LE 同期ドライバ |
同期チャネルとユニバーサルチャネルは、 cxconfig(8) ユーティリティによって 同期モードに設定すると、ネットワークインタフェース ‘‘cx#’’ (# は 0 から 47 までのチャネル番号) としてアクセス可能です。すべての標準的なネットワー クインタフェースパラメータは、 ifconfig(8) によって設定可能です。また cxconfig(8) コマンドは、拡張されたチャネルオプションの変更や、上位レベル のソフトウェアプロトコル (PpP や Cisco HDLC など) の設定に使用されます。 ユニバーサルチャネルは同期モードでも非同期モードでも使用することができま す。デフォルトでは非同期モードに設定されており、モードは cxconfig(8) ユー ティリティによって変更可能です。チャネルがビジー状態 (非同期チャネルが オープン状態の場合や、ネットワークインタフェースが動作中 (up) の場合) の 間、モードはブロックされます。 |
同期ポイントツーポイントプロトコル
Cronyx-Sigma ドライバは、組み込みの同期ポイントツーポイントプロトコル (sppp) を使用します。本プロトコルには、PpP/HDLC や Cisco/HDLC、keepalive パケットによる自動的なコネクションロス検出もサポートしています。 sppp プ ロトコルセットは独立したモジュールとして実装され、他の同期シリアルチャネ ルのドライバによって使用することも可能です。 BSD/386 (BSDI) 用のドライバ では、OS 側で実装されている一般的な同期プロトコルのセットも使用可能です。 外部プロトコルセットは、‘‘cxconfig ext’’ コマンド ( cxconfig(8) を参照) によって選択可能です。 |
チャネルオプションの管理
cxconfig(8) ユーティリティは、チャネルオプションを設定するのに使用されま す。チャネルオプションは、通常、オペレーティングシステムが起動する際に ( たとえば /etc/rc ファイルなどで) 設定されます。すべての場合において、すべ てのオプションが意味を持つとは限らないことに注意してください。また、オプ ションの設定によっては、チャネルもしくはアダプタ全体のハングアップの原因 になります。 実際のチャネルオプションの制御機能は、デバイス型特殊ファイル /dev/cronyx に対するいくつかの ioctl を経由する形で実装されており、以下の ioctl が使 用できます。 |
CXIOCGETMODE
チャネルオプションの値を取得します。 ioctl コールのデータ引数は以下のオプション構造体のアドレスを持ちます: typedef struct { |
board
0..2 の、アダプタ番号 channel type iftype rxbaud txbaud mode opt aopt hopt bopt xopt sopt 関連ファイル |
/dev/cx??
非同期チャネル ドライバを含んでいるソースファイルは以下の通りです: /sys/i386/isa/cronyx.c 関連項目 |
FreeBSD December 12, 1994 FreeBSD |