UTOPIA(4) | FreeBSD Kernel Interfaces Manual | UTOPIA(4) |
名称
utopia — ATM PHY チップのためのドライバモジュール書式
このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:
device utopia
もう一つの方法として、ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:
utopia_load="YES"
解説
このモジュールは一様な機能性を提供するために PMC-Sierra S/Uni と IDT77105/IDT77155 チップを使用するカード用のすべての ATM ドライバによって使用されます。モジュールは、割り込みまたはポーリングモードのいずれかモニタする状態、メディアオプション操作、およびチップレジスタをアクセスするアプリケーションを実装しています。ドライバは hw.atm.< iface> . ツリーの下でアクセス可能ないくつかの sysctls を実装しています。ここで、 iface は ATM インタフェースの名前です:
- phy_regs
- この sysctl を読むとき、レジスタ 0 で始まるすべてのアクセス可能なチップレジスタを含んで 8 ビット符号なし整数の配列が返されます。 sysctl に 3 つの 8 ビット符号なし整数を書き込むことによって、レジスタに書くことができます: レジスタ番号、新しい値、とビットマスクです。値のビット値をマスクしている対応するビットのレジスタ中のすべてのビットを変更します。すべてのレジスタが書き込み可能でないことに注意してください。
- phy_loopback
-
いくつかのループバックモードの 1 つにインタフェースを入れるのを許します。すべてのモードとすべてモードの組み合わせがすべてのチップでサポートされているわけではありません。可能なモードは次の通りです:
- UTP_LOOP_NONE (0x00)
- ループバックがない、通常の操作。
- UTP_LOOP_TIME (0x01)
- タイミングソースループバックです。これが設定されるとき、送信機のクロックは受信機のクロックから生じます。
- UTP_LOOP_DIAG (0x02)
- 診断ループバックです。このモードで、受信機の入力は送信機の出力に接続されます。受信機は送られるすべてを取り戻します。送信機は普通に動作します。
- UTP_LOOP_LINE (0x04)
- シリアルラインループバックです。これはライン受信機をライン送信機に接続します。チップはそれが受信するすべてのセルの後部に送信します。 (訳注: 意味不明) 受信機は普通に動作します。
- UTP_LOOP_PARAL (0x08)
- パラレル診断ループバックです。これはパラレル/シリアルコンバータの間の受信機にすべての送信されたセルをフィードバックします。送信機は普通に動作します。
- UTP_LOOP_TWIST (0x10)
- ツイストペア診断ループバックです。高速の受信データを高速の送信データに接続します。すべての受信データが返送されます。受信機は普通に動作します。
- UTP_LOOP_PATH (0x20)
- 診断パスループバックです。これは単にパスオーバヘッドプロセッサとバイト mux の間の受信機入力を送信機出力に接続します。送信機は普通に動作します。
- phy_type
-
これは phy チップの検出されたタイプです。現在、次のチップがサポートされています:
- UTP_TYPE_UNKNOWN (0)
- モジュールは PHY チップのタイプを決定することができませんでした。
- UTP_TYPE_SUNI_LITE (1)
- PMC-5346 (S/Uni-Lite)
- UTP_TYPE_SUNI_ULTRA (2)
- PMC-5350 (S/Uni-Ultra)
- UTP_TYPE_SUNI_622 (3)
- PMC-5355 (S/Uni-622)
- UTP_TYPE_IDT77105 (4)
- IDT77105 (25.6MBit UTP インタフェース)
- UTP_TYPE_IDT77155 (5)
- IDT77155 (155MBit インタフェース)
- phy_name
- これは PHY チップのタイプを説明する文字列です。
- phy_stats
-
物理的ないくつかの ATM レイヤ (層) の統計値です。これらは通常チップによって提供された統計値です。データは次の構造体で返されます:
struct utopia_stats1 { uint32_t version; /* この構造体のバージョン */ uint32_t fill; uint64_t rx_sbip; /* 受信セクション BIP エラー */ uint64_t rx_lbip; /* 受信回線 BIP エラー */ uint64_t rx_lfebe; /* 受信回線遠端ブロックエラー */ uint64_t rx_pbip; /* 受信パス BIP エラー */ uint64_t rx_pfebe; /* 受信パス遠端ブロックエラー */ uint64_t rx_cells; /* 受信されたセル */ uint64_t rx_corr; /* 修正可能セルエラー */ uint64_t rx_uncorr; /* 修正不可能セルエラー */ uint64_t rx_symerr; /* シンボルエラー */ uint64_t tx_cells; /* 送信されたセル */ };
現在のバージョンは 1 です。統計値はチップから 1 秒に一度更新されます。カウンタがオーバフローすれば、0 に折り返します。すべてのカウンタがすべての PHY チップで重要ではないことに注意してください。統計値は、任意の新しい値 (値は無視されます) を書き込むことによってクリアされます。
utopia モジュールはまた ifmedia システムとインタフェースをとります。モジュールは、キャリヤの現在の状態を報告し、キャリヤ状態が変化するとき、警告メッセージを発行します。物理的なメディア自体は変更できませんが、いくつかのメディアオプションは変更できます:
- SDH
- PHY が Sonet/SDH チップであるなら、このフラグはインタフェースを SDH モードに切り換えます。このオプションが設定されていないなら (デフォルト)、インタフェースは Sonet モードになります。
- noscramb
- PHY が Sonet/SDH チップであるなら、スクランブルは無効にします。これはデバッグ目的に役に立つかもしれません。
- unassigned
- 送信する他のセルがないとき、通常、インタフェースはアイドル状態のセルを表示します。これはデフォルトのセルタイプを割り当てられなかったセルに変更します。これが公共ネットワークでインタワーキングに必要であるかもしれません。
作者
<harti@FreeBSD.org>November 22, 2006 | FreeBSD |