PN(4)

名称
pn - Lite-On 82c168/82c169 PNIC ファストイーサネットデバイスドライバ

書式
device pn0

解説
pn ドライバは Lite-On 82c168、82c169 ファストイーサネットコントローラチップを 使用した PCI イーサネットアダプタ及び組み込みコントローラをサポートします。 これらの中には、LinkSys LNE100TX、 Bay Networks Netgear FA310TX リビジョン D1、 Matrox Networks FastNIC 10/100、また D-Link や Trendware をはじめとする、 いくつかのファストイーサネットカードが含まれます。

バスマスタ DMA を使用する Lite-On チップは、 DEC の 'tulip' と似た動作をするように設計されています。 以前 DEC 21x4x デバイスを使用して設計していたたくさんのベンダが現在では PNIC を代わりに使用しています。 このチップは内蔵トランシーバと MII バス経由の外部トランシーバの 両方をサポートしています。 Lite-On チップは EEPROM や MII アクセスが追加されましたが、 DEC 21x4x コントローラとレジスタ互換であるように設計されています。 PNIC コントローラは 10Mbps、100Mbps のそれぞれで全二重、半二重の双方を サポートします。

pn ドライバは以下のメディアタイプをサポートします。

autoselect
    メディアタイプとオプションの自動選択を許可します。ユーザは /etc/rc.conf ファイルにメディアオプションを追加することにより、手動で自動選択されたモードを 変更することができます。

10baseT/UTP
    10Mbps 動作に設定します。さらに、 mediaopt オプションは full-duplex と half-duplex のモードを設定するのに使えます。

100baseTX
    100Mbps (ファストイーサネット) 動作に設定します。 mediaopt またオプションは、 full-duplex もしくは half-duplex モードで動作するように設定することもできます。

pn ドライバは以下のメディアオプションをサポートします。

full-duplex
    強制的に半二重モードでの動作にします。

half-duplex
    強制的に半二重モードでの動作にします。

メディアタイプ 100baseTX は、 アダプタによってサポートされている場合にのみ使用可能だということに 注意してください。 このデバイスの設定に関するより情報については、 ifconfig(8) も参照してください。

診断

pn%d: couldn't map memory 致命的な初期化エラーが発生しました。

pn%d: couldn't map interrupt 致命的な初期化エラーが発生しました。

pn%d: watchdog timeout デバイスがネットワークへの応答を停止したか、 ネットワークへの接続 (ケーブル) に問題があります。

pn%d: no memory for rx list ドライバが受信呼出しのためのメモリバッファを確保できませんでした。

pn%d: no memory for tx list ドライバが、送信のためのバッファを確保できなかったか、 送信バッファのメモリチェーンが壊れました。

pn%d: chip is in D3 power state -- setting to D0 このメッセージはパワーマネジメントをサポートしたカードでのみ発生します。 オペレーティングシステムによっては、シャットダウンの際にコントローラを 省電力モードにするものがあり、PCI BIOS によっては、 チップの設定をする前にこのモードからチップを戻すことができません。 コントローラは D3 状態ですべての PCI コンフィギュレーションを失うため、BIOS がその時にフルパワーモードにセット することができなければ正しい設定を行うことはできません。 ドライバはこの状況を検出して D0 (フルパワー) 状態に持っていこうとしますが、 これではドライバを通常の作動状態に復帰させることはできないでしょう。 もしこのメッセージが起動時に表示されて、 ドライバがデバイスをネットワークインタフェースとして認識することが できなければ、 デバイスが正しく設定されるように二度目の再起動を行う必要があります。

この状況は他の OS を使用していて再起動した (warm booting) ときにだけ発生することに注意してください。もし電源を切ってから、最初に FreeBSD を起動すれば、 カードは正しく設定されるでしょう。

関連項目
arp(4), netintro(4), ifconfig(8)

歴史
pn デバイスドライバは FreeBSD 3.0 ではじめて登場しました。

作者
pn ドライバは Bill Paul <wpaul@ctr.columbia.edu> によって開発されました。

バグ
pn ドライバは現在のところ、 MII バス経由の PNIC コントローラに接続されている外部トランシーバをもつ カードしかサポートしていません。 これは 作者が内蔵トランシーバをテストするためのボードを入手できなかったためです。 現在出回っている PNIC の実装のほとんどは外部 PHY を使用しており、 したがってこのことは深刻な問題ではないでしょう。 ハードウェアが入手できるようになれば、 内蔵トランシーバをサポートするコードが追加されるかもしれません。