MX(4)

名称
mx - Macronix 98713/98715/98725 ファストイーサネットデバイスドライバ

書式
device mx0

解説
mx ドライバは Macronix 98713, 98713A, 98715, 98715A, 98725 ファストイーサネットコントローラチップを搭載した PCI イーサネットアダプタ やそれが組み込まれたコントローラをサポートします。NDC Communications SOHOware SFA110, SVEC PN102-TX ファストイーサネットカード などを含みます。

Macronix のチップはバスマスタ DMA を用い、DEC 'tulip' 互換として デザインされています。オリジナルの 98713 は 外部 PHY をコントロール するための MII バス を用いていますが、98713A より上位のチップは NWAY をサポートした内部トランシーバを用いています。Macronix のチップは DEC 21x4x コントローラとレジスタ互換であると公表されています。Macronix コントローラはすべて、10, 100 Mbps を全二重または半二重通信でサポート します。

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

autoselect
    メディアタイプとオプションの自動選択を有効にします。 ユーザは、 /etc/rc.conf ファイルにメディアオプションを加えることによって、 自動選択されたモードを手動で上書き可能です。

10baseT/UTP
    10Mbps に設定します。 mediaopt オプションも full-duplex または half-duplex モードを選択するために使用可能です。

100baseTX
    100Mbps (ファストイーサネット) に設定します。 mediaopt オプションも full-duplex または half-duplex モードを選択するために使用可能です。

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

full-duplex
    全二重通信に設定します。

half-duplex
    半二重通信に設定します。

メディアタイプ 100baseTX はアダプタがサポートしている場合にのみ可能です。 このデバイスの設定に関するさらなる情報は ifconfig(8) を参照してください。

診断

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

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

mx%d: watchdog timeout デバイスがネットワークに反応しなくなったか、 ネットワークとの接続 (ケーブル) に問題があります。

mx%d: no memory for rx list ドライバはレシーバリング用の mbuf の確保に失敗しました。

mx%d: no memory for tx list パッドバッファを確保、または mbuf チェインをクラスタに 縮めるときに、トランスミッタリング用の mbuf の確保に失敗しました。

mx%d: chip is in D3 power state -- setting to D0 パワーマネージメントをサポートするアダプタにのみ、このメッセージが出ま す。シャットダウン時にコントローラをローパワーモードにするオペレーティング システムがあり、チップ設定前にこの状態を解除しない PCI BIOS があります。 D3 状態において、コントローラは PCI の設定すべてを失うので、BIOS がそのときにフルパワーモードに設定しなおさなければ、正しく設定すること はできません。ドライバはこの状態を検出し、アダプタを D0 (フルパワー) 状態に設定しなおそうとしますが、ドライバを完全に操作できる状態にするの には至らないかもしれません。ブート時にこのメッセージが現れ、ドライバが ネットワークインタフェースとしてデバイスをアタッチすることに失敗するの なら、デバイスを適切に設定するために 2 度目のウォームブートを行う必要が あります。

他のオペレーティングシステムからウォームブートするときのみに、この状態は 起こります。 FreeBSD のブート前にシステムの電源を切れば、カードが正常に設定されます。

関連項目
arp(4), netintro(4), ifconfig(8) Macronix 98713/A, 98715/A, 98725 データシート, http://www.macronix.com. Macronix 98713/A, 98715/A アプリケーションノート, http://www.macronix.com.

歴史
mx デバイスドライバは FreeBSD 3.0 に初めて現れました。

作者
mx ドライバは Bill Paul <wpaul@ctr.columbia.edu> が書きました。

バグ
Macronix アプリケーションノートによると、チップを通常動作に設定するに は、ドライバはあるマジックナンバを CSR16 レジスタに書き込む必要があります。 そのマジックナンバはアプリケーションノートに書いてありますが、ビット の正確な意味は書いてありません。

98713A は 10Mbps 全二重通信モードに問題があるようです。 トランスミッタは動作しますが、レシーバは全体のパフォーマンスを著しく下 げるような不明なエラーを大量に出す傾向にあります。 98715A にはこの問題がありません。98713A のそれ以外のすべてのモードでは 正しく動作するようです。