EN JA
SK(4)
SK(4) FreeBSD Kernel Interfaces Manual SK(4)

名称

skSysKonnect SK-984x と SK-982x PCI ギガビットイーサネットアダプタドライバ

書式

このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:

device miibus
device sk

もう一つの方法として、ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:

if_sk_load="YES"

解説

sk ドライバは、SysKonnect SK-984x と SK-982x シリーズ PCI ギガビットイーサネットアダプタのサポートを行ないます。

SysKonnect アダプタは、2 つの主要な構成要素から成ります: XaQti Corp. の XMAC II ギガビット MAC と SysKonnect GEnesis コントローラ ASIC です。 XMAC は、ギガビット MAC と PHY サポートを行ないますが、 GEnesis は、PCI バスへのインタフェース、DMA サポート、パケットバッファリング、アービトレイション (調停) を提供します。 GEnesis は、デュアル (2 つの) ポート NIC の設定を許可して、同時に最大 2 つの XMAC を制御することができます。

SK-982x 1000baseT アダプタは、また XMAC の内部の PHY の代わりに使用される Broadcom BCM5400 1000baseTX PHY を含んでいます。 Broadcom PHY は、GMII ポートを通して XMAC に接続されます。

sk ドライバは、デュアルポート SysKonnect アダプタを設定するので、各 XMAC は、別個の論理的なネットワークインタフェースとして扱われます。両方のポートは、互いとは無関係に操作することができて、別個のネットワークと接続することができます。 SysKonnect ドライバソフトウェアは、現在、フェイルオーバ (障害迂回) の目的のためにデュアルポートアダプタ上の 2 番目のポートを使用するだけです: プライマリポート上のリンクが失敗すると、SysKonnect ドライバは、自動的にトラフィックを 2 番目のポートに切り換えます。

Marvell Semiconductor 88E100* ギガビット PHY もサポートされています。

XaQti XMAC II は、自動ネゴシエーションで全二重と半二重オペレーションをサポートします。 XMAC は、無制限のフレームサイズもサポートします。ジャンボフレームは、インタフェース MTU 設定によってサポートを行ないます。ジャンボフレームを受信し送信するためのアダプタを設定する ifconfig(8) ユーティリティで 1500 バイトより大きい MTU を選択します。ジャンボフレームの使用によって、ファイル転送やデータストリーミングなどの特定のタスクのための性能を大いに向上させることができます。

sk ドライバは、次のメディアタイプをサポートします:

autoselect
メディアタイプとオプションの自動選択を有効にします。ユーザは、 /etc/rc.conf ファイルにメディアオプションを加えることによって、手動で自動選択モードを無効にできます。
1000baseTX
ツイストペア上の 1000baseTX オペレーションを設定します。これは、1000baseT ポートがある SK-982x シリーズアダプタでのみ利用可能です。 全二重 または 半二重 モードの両方がサポートされます。
1000baseSX
1000Mbps (ギガビットイーサネット) オペレーションを設定します。 全二重 または 半二重 モードの両方がサポートされます。

sk ドライバは、次のメディアオプションをサポートします:

full-duplex
全二重オペレーションを強制的に設定します。
half-duplex
半二重オペレーションを強制的に設定します。

このデバイスの設定についてのより詳しい情報については、 ifconfig(8) を参照してください。

ハードウェア

sk ドライバによってサポートされたアダプタは、次を含みます:

  • 3Com 3C940 シングルポート, 1000baseT アダプタ
  • 3Com 3C2000-T シングルポート, 1000baseT アダプタ
  • Belkin F5D5005 シングルポート, 1000baseT アダプタ
  • D-Link DGE-530T シングルポート, 1000baseT アダプタ
  • Linksys (revision 2) シングルポート, 1000baseT アダプタ
  • SK-9521 SK-NET GE-T シングルポート, 1000baseT アダプタ
  • SK-9821 SK-NET GE-T シングルポート, 1000baseT アダプタ
  • SK-9822 SK-NET GE-T デュアルポート, 1000baseT アダプタ
  • SK-9841 SK-NET GE-LX シングルポート, シングルモードファイバアダプタ
  • SK-9842 SK-NET GE-LX デュアルポート, シングルモードファイバアダプタ
  • SK-9843 SK-NET GE-SX シングルポート, マルチモードファイバアダプタ
  • SK-9844 SK-NET GE-SX デュアルポート, マルチモードファイバアダプタ
  • SMC 9452TX シングルポート, 1000baseT アダプタ

ローダ調整変数

カーネルをブートする前に loader(8) プロンプトで、または loader.conf(5) に格納して調整変数を設定することができます。
hw.skc.jumbo_disable
ジャンボフレームのサポートを無効にします。より少ないメモリがあるシステムは、メモリを節約するために 0 以外の値に設定することができます。デフォルト値は、0 です。

SYSCTL 変数

次の変数は、 sysctl(8) 変数と loader(8) 調整変数の両方として利用可能です:
dev.skc.%d.int_mod
この変数は、割り込みモデレーションを制御します。受け付けられる範囲は、10 から 10000 です。デフォルト値は、100 マイクロ秒です。インタフェースは、効力を生じる変更の前に、再びダウンしてアップしていなければなりません。

診断

sk%d: couldn't map memory
致命的な初期化エラーが発生しました。
sk%d: couldn't map ports
致命的な初期化エラーが発生しました。
sk%d: couldn't map interrupt
致命的な初期化エラーが発生しました。
sk%d: no memory for softc struct!
ドライバは、初期化の間、デバイス毎のインスタンス情報のためのメモリの割り付けに失敗しました。
sk%d: failed to enable memory mapping!
ドライバは、PCI 共有メモリマッピングの初期化に失敗しました。カードがバスマスタスロットにないなら、これは起こるかもしれません。
sk%d: no memory for jumbo buffers!
ドライバは、初期化の間、ジャンボフレームのためのメモリの割り付けに失敗しました。
sk%d: watchdog timeout
デバイスは、ネットワークに応答することを停止しているか、またはネットワーク接続 (ケーブル) に問題があります。

歴史

sk デバイスドライバは、 FreeBSD 3.0 ではじめて登場しました。

作者

sk ドライバは、 Bill Paul <wpaul@ctr.columbia.edu>によって書かれました。
August 29, 2012 FreeBSD