日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
SIO(4) FreeBSD カーネルインタフェースマニュアル SIO(4) 名称 sio -- 高速 (fast) 割り込み駆動非同期シリアル通信インタフェース 書式 標準 ISA ポートのために: device sio /boot/device.hints 中で: hint.sio.0.at="isa" hint.sio.0.port="0x3f8" hint.sio.0.flags="0x10" hint.sio.0.irq="4" hint.sio.1.at="isa" hint.sio.1.port="0x2f8" hint.sio.1.flags="0x0" hint.sio.1.irq="3" 4 ポートの AST 互換マルチポートカードのために: options COM_MULTIPORT device sio /boot/device.hints 中で: hint.sio.4.at="isa" hint.sio.4.port="0x2a0" hint.sio.4.flags="0x701" hint.sio.5.at="isa" hint.sio.5.port="0x2a8" hint.sio.5.flags="0x701" hint.sio.6.at="isa" hint.sio.6.port="0x2b0" hint.sio.6.flags="0x701" hint.sio.7.at="isa" hint.sio.7.port="0x2b8" hint.sio.7.flags="0x701" hint.sio.7.irq="12" 8 ポートの Boca Board 互換マルチポートカードのために: options COM_MULTIPORT device sio /boot/device.hints 中で: hint.sio.4.at="isa" hint.sio.4.port="0x100" hint.sio.4.flags="0xb05" ... hint.sio.11.at="isa" hint.sio.11.port="0x138" hint.sio.11.flags="0xb05" hint.sio.11.irq="12" 6 ポートの Netmos Nm9845 マルチポートカードのために: options COM_MULTIPORT device sio /boot/device.hints 中で: hint.sio.4.at="isa" hint.sio.4.port="0xb000" hint.sio.4.flags="0x901" hint.sio.5.at="isa" hint.sio.5.port="0xb400" hint.sio.5.flags="0x901" hint.sio.6.at="isa" hint.sio.6.port="0xb800" hint.sio.6.flags="0x901" hint.sio.7.at="isa" hint.sio.7.port="0xbc00" hint.sio.7.flags="0x901" hint.sio.8.at="isa" hint.sio.8.port="0xc000" hint.sio.8.flags="0x901" hint.sio.9.at="isa" hint.sio.9.port="0xac00" hint.sio.9.flags="0x901" hint.sio.9.irq="12" Hayes ESP カードのために: options COM_ESP device sio ... 単一ポート PCI と PCCARD カードのために: device sio これらのカードのために /boot/device.hints に要求される行は、ありま せん。 割り込みを共有する 2 ポートの PCI カードのために: device sio options COM_MULTIPORT /boot/device.hints 中で: hint.sio.2.flags="0x201" hint.sio.3.flags="0x201" flags の意味は、次の通りです: 0x00001 共有 IRQ 0x00002 FIFO を無効にする 0x00004 AST/4 互換の IRQ 制御レジスタなし 0x00008 失われた出力割り込みから早く復旧する 0x00010 デバイスは、潜在的システムコンソールです 0x00020 デバイスは、強制的にシステムコンソールになります 0x00040 デバイスは、低レベル IO のために予約されます (例えば、リ モートカーネルデバッグのため) 0x00080 リモートカーネルデバッグのために、このポートを使用します 0x0??00 マスタポートのマイナ番号 0x10000 DCD の代わりの CTS 上の PPS タイムスタンプ 0x20000 デバイスは、16650A タイプ (拡張 FIFO) チップを使用すると 仮定されます 解説 sio ドライバは、NS8250-、NS16450-、NS16550 と NS16550A ベースの EIA RS-232C (CCITT V.24) 通信インタフェースのサポートを行ないます。NS8250 と NS16450 には、単一文字のバッファがあり、NS16550A には、16 文字の FIFO 入 出力バッファがあります。 各行の入出力は、次のボーレートの 1 つに設定されます。50, 75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600 または 115200。利用者のハードウェアは、ボーレートの選択を制限するかもしれませ ん。 ドライバは、`マルチポート' カードをサポートします。マルチポートカードは、 グループごとに 1 つの割り込み要求 (Interrupt Request; IRQ) 回線を共有する ポートの 1 つ以上のグループです。異なったカードの共有された IRQ は、サ ポートされません。しばしば、4 つのポートは、1 つの IRQ を共有します。いく つかの 8 ポートのカードは、4 つのポートの 2 つのグループがあり、したがっ て、2 つの IRQ を使用します。いくつかのカードによって、最初の 2 つのシリ アルポートは、(DOS PC 標準ごとのように) ポートごとに個別の IRQ があるよう にすることができます。 いくつかのカードには、各グループのために IRQ 制御レジスタがあります。いく つかのカードは、そのようなレジスタに関連する特別な初期化を必要とします。 AST/4 互換の IRQ 制御レジスタだけがサポートされます。いくつかのカードに は、各グループのために IRQ ステータスレジスタがあります。ドライバは、ま だ、そのようなレジスタを必要とせず、使用しません。動作するために、1 つの グループのための制御レジスタとステータスレジスタは、もしあるなら、グルー プのポートのスクラッチレジスタ (レジスタ 7) にマップしなければなりませ ん。そのようなポートは、マスタポートと呼ばれます。 ドライバは、コントローラベースの PCI モデムをサポートします。3Com FaxMo dem PCI と Advantec 56k Voice Messaging PCI FaxModem は、サポートされてい る唯一のカードです。コントローラベースではない WinModems、softmodems、hfc モデムとあらゆる他のモデムは、サポートされていません。 flags キーワードは、16550A UART で FIFO を無効にするためにカーネル設定 ファイルのそれぞれの device sio 行で使用されます (構文を参照)。FIFO を無 効にすることは、めったに必要ないはずです。 flags キーワードは、IRQ 共有グループの一部である、すべてのポートのために 使用されなければなりません。 1 ビットは、IRQ 共有を指定します。別のビット は、ポートが AST/4 互換の初期化を必要としないかどうかを指定します。グルー プのためのマスタポートに対応するデバイスのマイナ番号は、高位バイトのビッ トフィールドとしてエンコード (コード化) されます。同じマスタポートは、グ ループのすべてのポートを指定されなければなりません。 irq は、他のポートではなく、マスタポートと IRQ 共有グループの一部でない ポートのために与えられなければなりません。 構文では、flags 0x701 は、8 番目のポート (sio7) がマスタポートであり、 ポートが共有された IRQ と AST/4 互換 IRQ 制御レジスタと共にマルチポート カード上にあることを意味します。 flags 0xb05 は、12 番目のポート (sio11) がマスタポートであり、ポートが共 有された IRQ とともにマルチポートカード上にあり、特別の IRQ 制御レジスタ がないことを意味します。 どのポートがマスタポートであるかは、カードのタイプに依存します。利用者の カードのハードウェア文書を調べてください。IRQ ステータスレジスタは、決し て使用されず、IRQ 制御レジスタは、AST/4 互換カードのためだけで使用され、 いくつかのカードは、制御/ステータスレジスタをグループのいずれかのポートに マップするので、グループのあらゆるポートは、時々マスタポートの代役になり ます。上位互換性のために IRQ ステータスレジスタを含むポートと一貫性のため にできるだけ上位のポートを選択します。 sio ドライバによって制御されたシリアルポートは、`着呼' と `発呼' の両方で 使用することができます。ポートごとに、着呼デバイスと発呼デバイスがありま す。発呼デバイスのマイナ番号は、対応する着呼ポートのものより 128 大きく なっています。着呼デバイスは、汎用です。それをオープンするプロセスは、通 常キャリアと発呼デバイスが活動停止になるのを待ちます。発呼デバイスは、着 呼デバイスでキャリアを待っているプロセスからポートを奪うために使用されま す。それをオープンするプロセスは、キャリアを待たず、発呼セッションと衝突 しないように、着呼デバイスでキャリアを待っている任意のプロセスを深いス リープ状態にします。発呼デバイスは、一般的なポート上で動作し、待たないで ポートをオープンする必要があると想定される操作プログラムで誤用されます が、そうすることはまったく愚かです。 また、sio ドライバは、着呼と発呼 "データ" デバイスごとに初期状態とロック 状態の制御をサポートします。データデバイスの termios 設定は、最初にオープ ンで初期状態デバイスに対応するものからコピーされ、以前のオープンから継承 されません。利用者のセットアップに適した初期の termios 状態をプログラムす るために初期状態のデバイスで通常の方法で stty(1) を使用します。 ロック termios 状態は、termios 状態の変更を無効にするフラグとして動作しま す。例えば、CRTSCTS のようなフラグ変数をロックするために、ロック状態デバ イスで stty crtscts を使用します。速度と特殊文字は、ロック状態デバイスに 対応する値を任意の 0 でない値に設定することによってロックされます。例え ば、115200 に速度をロックするために、初期状態のデバイスで ``stty 115200'' を、ロック状態のデバイスで ``stty 1'' を使用します。 正しく接続された外部デバイスと対話する正しいプログラムは、ほとんど任意の 初期状態で、ほとんどロックせずに動作しますが、他のセットアップは、ある種 のデフォルトの初期状態を変更し、状態をロックすることによって利益を得るか もしれません。特に、(POSIX) の標準のフラグでない初期状態は、アタッチされ たデバイスを適切に設定されるべきであり、バグのあるプログラムをそれらの変 更から防ぐためにロックされる必要があります。例えば、CRTSCTS は、RTS/CTS ハンドシェイクをサポートするデバイスを常にロックすべきであり、それをサ ポートしないデバイスは、常にロックするべきではありません。CLOCAL は、キャ リアをサポートしないデバイスをロックするべきです。HUPCL は、利用者がある 理由でハングアップしたくないなら、ロックを外されます。一般的に、何か間 違った状態にロックされるなら、非常に悪いことが起こります、そして、2 つ以 上の設定をサポートするデバイスをロックするべきではありません。着呼ポート の CLOCAL フラグは、特定のセキュリティホールを避けるためにログインのロッ クを外すべきですが、着呼ポートが他の何かに使用されているなら、これは、 getty によって行われる必要があります。 関連ファイル /dev/ttyd? 着呼ポートのため /dev/ttyd?.init /dev/ttyd?.lock 対応する着呼の初期状態とロック状態のデバイス /dev/cuad? 発呼ポートのため /dev/cuad?.init /dev/cuad?.lock 対応する発呼の初期状態とロック状態のデバイス /etc/rc.d/serial 初期状態とロック状態のデバイスを設定する例 デバイス番号は、10 ポート以上をサポートすることができるように、集合 [0-9a-v] から作成されます。 診断 sio%d: silo overflow. 割り込みハンドラの問題。 sio%d: interrupt-level buffer overflow. ドライバのボトムハーフ (下半分) の問題。 sio%d: tty-level buffer overflow. アプリケーションの問題。与えられたモ ジュールが処理することができるより速く入力が到着し、いくつかは、失われま した。 関連項目 stty(1), termios(4), tty(4), comcontrol(8) 歴史 sio ドライバは、HP9000/300 dca(4) ドライバから派生され、現在、開発中で す。 バグ 遅いシステムで非常に高いボーレートで、またはあらゆるシステムであまりに多 くのポートがある、または、crtsct を使用できないとき負荷の高いシステムで、 データの損失が起こるかもしれません。NS16550A の使用は、システムの負荷を減 少させて、データの損失を避けることに役立ちます。 普通の NS16550 は、お薦めできません。これらは、機能しない FIFO ハードウェ アがあるチップの初期の実装です。 さまざまなシリアルポートの位置を定義する定数は、DOS からの持ち越されたも のです。示されているように、16 進数のアドレスを、明確にするために代わりに 使用することができ、使用するべきです。 AST/4 で、カードのディップスイッチを割り込み共有を使用するように設定する べきでないことに注意してください。AST/4 のような割り込み共有は、複数の AST/4 カードが同じシステムにインストールされているときだけ使用されます。 sio ドライバは、1 つの IRQ で 2 つ以上の AST/4 をサポートしません。 構文の例は、ベンダ特有すぎます。 FreeBSD 11.4 August 30, 2006 FreeBSD 11.4