私は最近、非常に手頃な価格でMellanox ConnectX-2 10GBit NIC 2個を購入しました。私はこれを認識するためにpfSenseボックスを取得しようとしています。 BIOSは問題なくネットワークカードを認識します。しかし、pfSenseは確かにそうではありません。まったく現れませんでした。
ドライバーを直接インストールするか、少なくとも魔法のピーナッツバターをどこかに投げ込むと、この問題を解決できると聞きました。悲しいことに、私が持っている唯一の証拠はFreeNASに関するこの記事。しかし、私のインストールではうまくいきません。私も見つけたNAS4Freeに関する投稿ただし、記事に記載されているISOまたはそのISOに基づくBSDバージョンが見つかりません。 NAS4Freeのウェブサイトで何かを逃したかもしれませんが、そこにはありません。
いくつかのスナップショットと現在の2.2.6公式バージョンを試してみました。不運。
誰もが正しい方向に私を指すことができますか?
答え1
編集&FreeNAS-9.10-STABLE-201605240427 注意!
最近最新FreeNAS-9.10-STABLE-201605240427
バージョンにアップグレードしましたが、再起動時にmlxenモジュールを参照するカーネルパニックが発生しました。私の[制限された知識]推測では、mlxドライバがFreeBSDビルドに含まれているので、これらの手順はもはや必要ありません。
したがって、カーネルパニックが発生した場合:
- 再起動し、GRUBプロンプトで「e」を押して起動設定を編集します。
- その後、単純なエディタが開き、
mlx
ドライバの読み込みを参照する行を見つけます#
。 F10
開始するには、続行を押します。- システム調整可能からモジュールローダステートメントを削除します。
@LildirtのソリューションはFreeNAS(FreeNAS-9.10-STABLE-201605021851)でも動作します。簡単に言うと、FreeNASとESXiを実行している他のサーバー間でiSCSIを実行できるように、2枚のカードパックと直接接続ケーブルに50ドルを費やしました。 ESXiタグは大丈夫です。 OPのpfsenseのように、FreeBSDはそれが何であるかわかりません。
私のステップの違いは次のとおりです。
- 作業するFreeBSD刑務所を作成しました。
- gcc インストール済み (
pkg install gcc
) - 上記のtar(
wget http://www.mellanox.com/downloads/Drivers/MLNX_OFED_FREEBSD_V2.1.6.tar.gz
)をダウンロードしました。 - 解凍する
- makefileを含むディレクトリに移動します(
mlx4
そして毎回mlxen
)。 make && make install
これは次の場所にインストールされます。/boot/kernel
刑務所の根について(したがって、私の場合、実際のパスはです/mnt/zfspoolname/jails/mytempjail/boot/kernel
。)(また、毎回2つのモジュールについて)- 今、2つの.koファイル(モジュール)をFreeNASにコピーします
/boot/kernel
(刑務所から出る必要があることを覚えておいてください、それは不可能な音です)。 - FreeNAS Web UIを介してモジュールローダーステートメントを追加します(システム - >調整可能 - >調整可能追加)。
/boot/loader.conf.local
- FreeNASの再起動
- これで、私の名前の付いた新しいネットワークインターフェイスを追加できます。
mlxen0
答え2
大丈夫。これを把握するのに時間がかかりました。
Mellanoxは本質的にこのカードのすべてのサポートを停止したことがわかりました。しかし、すべてが失われるわけではありません。以前のバージョンのConnectX-3を使用して実際にNICを使用できます(またはダウンロードしたドライバのリリースノートに記載されています)。ドライバのウェブページを見つけることができますここ、実際のドライバのダウンロードが正しいです。ここ。ConnectX-3 -> Archive Versions -> 2.1 -> FreeBSD -> All -> All
実際のドライバサイトの下にあります。
幸い、ドライバのインストール方法についての説明が付属しています。 pfSenseは適切なコンパイル環境を提供しないため、コンパイルのために別々のマシンを設定する必要があります。 FreeBSD 10.3をインストールしました(ソースコードが付属しています。これはインストーラのオプションです。)私のpfSenseバージョンが使用しているのと同じバージョンの仮想マシンにあります。 pfSense ボックスで使用されるのと同じバージョンの FreeBSD を使用します。そうしないと、問題が発生する可能性があります。
を使用してgccをインストールしましたpkg install gcc
。残念ながら、現時点ではMellanoxのホームページからダウンロードした上記のドライバを実際に使用することはできません。ただし、FreeBSDはまだドライバをサポートしていますが、デフォルトでは有効になっていません。ドライバのビルド時にエラーが検出された場合、コンパイルする必要がある2つのモジュールを見つけることができます/usr/src/sys/modules
。 2つの興味のあるディレクトリがあるでしょmlxen
うmlx4
。Makefile
両方のディレクトリに1つあります。make && make install
他のドライバーと同じ一般的な手順を実行します。必要なモジュールが削除されます/boot/kernel
。モジュール名はとmlx4.ko
ですmlxen.ko
。これら2つのモジュールをpfSenseボックス(同じディレクトリ:)にコピーします/boot/kernel
。その後、ファイルに次の2行を追加できます/boot/loader.conf
。
mlx4_load="YES"
mlxen_load="YES"
ファイルを保存し、pfSense システムを再起動します。
私にとっては、NICが表示され、LANインターフェイスとして設定できるようになりました。