サイトアイコン Boot macOS

10G BASE-T PCIe Ethernetカードを使う

10GbpsのPCIe Ethernetカードを使ってみました。iMac Pro (2017) で使われているAquantia AQC107というチップを搭載したカードです。ドライバーが元々のmacOSに含まれているのでkext不要で動きます。同じチップ搭載でも、簡単なパッチが必要な製品と、OOBで動く製品があるようです。

ASUSの10Gbps Ethernetカード

フォーラムで教えていただいたMorgonautさんのビデオで、ASUSの10 Gbps EthernetカードがCatalinaでOOB動作すると紹介されてました。

紹介されているのは、ASUS 10Gネットワ​​ークアダプタ PCI-e x 4 カード XG-C100C という製品です。以下のように、送料込みで1.1万円くらいです。

このカードを、実はかなり前に買ったのですが、macOSで動かなくてお蔵入りになってました。「OOBで動くようになっていたのか」と思い、発掘して(なかなか見つかりませんでした)試してみました。結論から言うと、OOBでは動きませんでしたが、パッチを当てて動くようになりました。

Aquantiaチップ用パッチ(Big Sur版)

Aquantiaの10Gbps EthernetカードのためのBig Sur版のパッチが以下で紹介されていました。これを使いました。動かした環境はZ390 + 9900K + OpenCore 0.6.4 + Big Sur 11.1です。

Kext to patch = com.apple.driver.AppleEthernetAquantiaAqtionFind: D4TAAgAAReplace: Zg8fRAAAFor Opencore config using PListEdit Pro for example, open config.plist and under Kernel-Patch. Create a new entry Comment AQC 107...
How to fix Aquantia 10 Gb Ethernet for Big Sur - tonymacx86.com

AppleEthernetAquantiaAqtion.kextを以下のように書き換えれば良いようです。このkextは、

Kext: com.apple.driver.AppleEthernetAquantiaAqtion
Find: D4TAAgAA (16進数: 0f 84 c0 02 00 00 )
Replace: Zg8fRAAA (16進数: 66 0f 1f 44 00 00 )

このkextの実態は以下の場所にあります。

/System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleEthernetAquantiaAqtion.kext

テキストエディタで作業するなら、OpenCoreのconfig.plistのKernel, Patchの項目に、次のdictを足せば良いです。

<dict>
  <key>Comment</key>
  <string>ASUS XG-C100C (Aquantia AQtion AQC-107)</string>
  <key>Count</key><integer>1</integer>
  <key>Enabled</key><true/>
  <key>Find</key>
  <data>YnVpbHQtaW4=</data>
  <key>Identifier</key>
  <string>com.apple.driver.AppleEthernetAquantiaAqtion</string>
  <key>Replace</key>
  <data>YmJiYmJiYmI=</data>
</dict>

PlistEDPlusで作業するなら、以下のようにします。

このように追記したconfig.plistを保存して再起動したところ、10G bps Ethernetカードが動きました。今のところ特に不具合はありません。

iperf3で動作試験

Morgonautさんのビデオではiperf3というツールで速度測定してました。これはLinuxなどで一般的な測定ツールのようで、Homebrewからbrew install iperf3コマンドでインストールできました。iperf3コマンドを2台のコンピュータで動かし、それぞれをサーバーとクライアントにして、通信速度を計測するツールです。

今回、ASUSの10Gbpsカードを取り付けたのがZ390マザーボードです。測定の相方は、ASUS ROG STRIX Z490-GのマザーボードにmacOS Big Surをインストールしたコンピュータです。このマザーボードには2.5 GbpsのIntel I225-Vが搭載されています。1Gbps超えのハブを持っていないので、ASUSの10GbpsカードとZ490をEthernetケーブル(CAT 6Aで十分らしいです)で直結しました。

Z390 (Aquantia 10Gbps) <-----> (Intel 2.5Gbps) Z490

それぞれのマシンに手作業で適当なアドレスを割り当てておきます。まずは、Z490マシンでiperf3をサーバーモードで動かしました。

iperf3 -s

一方、10Gbpsカードが載ったZ390マシンでは、サーバアドレスを指定して、クライアントモードでiperf3を動かしました。

iperf3 -c 192.168.x.x

その結果、両方に同じ測定結果が表示されます。クライアント側の表示を以下に示します。

% iperf3 -c 192.168.x.x
Connecting to host 192.168.x.x, port 5201
[  5] local 192.168.x.x port 49648 connected to 192.168.x.x port 5201
[ ID] Interval           Transfer     Bitrate
[  5]  0.00-1.00   sec   244 MBytes  2.05 Gbits/sec
[  5]  1.00-2.00   sec   246 MBytes  2.06 Gbits/sec
[  5]  2.00-3.00   sec   247 MBytes  2.07 Gbits/sec
[  5]  3.00-4.00   sec   244 MBytes  2.05 Gbits/sec
[  5]  4.00-5.00   sec   247 MBytes  2.07 Gbits/sec
[  5]  5.00-6.00   sec   245 MBytes  2.05 Gbits/sec
[  5]  6.00-7.00   sec   247 MBytes  2.07 Gbits/sec
[  5]  7.00-8.00   sec   245 MBytes  2.05 Gbits/sec
[  5]  8.00-9.00   sec   250 MBytes  2.10 Gbits/sec
[  5]  9.00-10.00  sec   249 MBytes  2.09 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]  0.00-10.00  sec  2.41 GBytes  2.07 Gbits/sec        sender
[  5]  0.00-10.00  sec  2.41 GBytes  2.07 Gbits/sec        receiver
iperf Done.

結果は2.07Gbpsと、2G以上の速度が出ていました。片方が2.5 Gbpsなので、それ以上は出ません。ネットの転送には色々オーバーヘッドがあるので、これくらい出ていれば十分だと思いました。また、今まで相方がいなかったので不明だったのですが、Z490の2.5Gオンボード有線LANが性能通りの速度で動いていることも確認できました。

OOBの10Gbpsカード

同じAquantiaのチップ搭載カードでも、Sonnet Presto Solo 10GBASE-T Ethernet PCIeカードならばOOBで動くようです。以下のAmazonの販売ページにも、macOS対応と書かれてます。ASUSのカードより3,000円ほど高価です。今回はたまたま手元にASUSのカードがあったのでそれを試しましたが、この価格差ならば、パッチが不要なSonnetカードの方が良いと思います。

モバイルバージョンを終了