|Intelnet|25Gb超高速網絡原生驅動

配置:Mellanox MCX4121A 25G雙口網卡

前言

社長使用10Gb光纖網絡也有好一陣了,蘋果M系列產品也下放10Gb電口的網卡,但同時在 Ventura 系統中,同樣下放支持25\40\100\200\400的超高速網路驅動。對一般USER來說的確用不到這麼高的網速。畢竟黑果使用PC主機板內建的2.5Gb網卡真的很個用。

當然使用 10Gb 光口網卡本身也是目前CP值較高的選擇。光是購買光口交換機也是一筆高昂的數字。但對一些自營工作室、中小企業來說,若是常常需要大量的數據做傳輸?萬兆網卡也是下一代的主要目標!

測試用的黑果配置

配置:

  • CPU:i9-10900
  • Motherboard:GA Z490 ELITE AX
  • RAM:美光DDR4-3200 32GB X2
  • GPU:SAPPHIRE NITRO+ RX 5700XT 8G GDDR6
  • AUDIO:ALC1220-VB
  • LAN: Realtek® 2.5GbE LAN chip (2.5 Gbit/1 Gbit/100 Mbit)
  • HD:WD BK SN750 500GB
  • BT\WiFI:FV-T919 BCM94360CD

工作:

  • USB3.0 & USB2.0 正常
  • 板載聲卡&2.5G網卡 OK(自動調適,更改版本)
  • 核顯加速&獨立顯卡 OK
  • CPU電源 OK
  • Continuity (Use Camera / Handoff / iPhone calls / SMS messaging / AirDrop)
  • Sleep/Wake
  • Audio
  • WiFi / Bluetooth OK
  • Power Management (CPU frequency/power setting by OS)

參考文獻

社長長期地關注如何在 Hackintosh 主機上安裝10Gb網卡的相關訊息,並且已實現在家也可以架設10Gb的局網,提供相關教學分享。然而在最近發現國外論壇 Macrumors 的討論串當中,已有人想要嘗試架設25Gb 以上的光纖網卡,運行在 macOS 上面。

2020\3\6 日誌:

有人已注意到 ATTO FastFrame NQ41 和 NQ42 卡片本質上是重新包裝的 Mellanox ConnectX-3 CX353A 和 CX354A 卡片。 ATTO 在其網站上提供了二進制固件文件,因此使通用的 Mellanox CX3 卡片工作的方法很簡單,只需使用 ATTO 的二進制文件進行固件交叉刷寫即可。這個過程使用 Mellanox 的固件工具包是簡單的。

以下是步驟:

  1. 從以下網址下載 Mellanox 固件工具:https://www.mellanox.com/products/adapter-software/firmware-tools
  2. 從以下網址下載 ATTO NQ41/NQ42 固件:https://www.atto.com/downloads/174/driver/29300356
  3. 執行以下命令:
mst start;

#NQ41 - 單口卡
flint --allow_psid_change -d /dev/mst/mt4099_pci_cr0 -i flsbundle_nq41_2017_09_05.bin burn;

# NQ42 - 雙口卡
flint --allow_psid_change -d /dev/mst/mt4099_pci_cr0 -i flsbundle_nq42_2017_09_05.bin burn;
  1. 將裝置放入 Mac 並安裝 ATTO 的 FastFrame macOS 驅動程式。

我還沒有親自測試過這個方法,但應該沒問題。我經常將戴爾品牌的 Mellanox 卡片交叉刷寫回原廠 Mellanox 固件而沒有問題。雖然我目前沒有足夠長的 QSFP 電纜來連接我的 Mac,但我會盡快將我的一個卡片刷寫一下,然後再回報情況。

我們可以在淘寶上找到這些網卡,尋找的零件號是 CX353A-FCBT 或 CX354A-FCBT,這些支持高達 56 GbE。CX353A-QCBT 或 CX354A-QCBT 也可能適用,支持高達 40 GbE。目前,ATTO 驅動程序似乎僅支持 ConnectX-3 Pro CX313A 和 CX314A 卡片,支持的設備 ID 類型(即芯片組型號)為 4103。MCX313A-BCBT 和 MCX314A-BCBT 據報應該不兼容,因為其設備 ID 據報為 4099。

不過這對一般小白來說,修改韌體原本就是很麻煩的一件事。社長對此也沒多大的把握。

2023\1\7 日誌:

在 Youtube 上面有人展示 Mellanox ConnectX-4 MCX4121A-ACAT 25GE 卡和 Thunderbolt 到 pciex16 擴充座( Intel J7440 晶片組)。社團朋友也發文過使用這樣的方法。

似乎使用 10Gbe 升級到 25GBe 。不過他演釋的是用M1 透過Thunderbolt 的方式進行測試,當時社長對此懷疑是否macOS 已支援這樣的網卡驅動。

雷電4萬兆40G網卡DIY,M1 Macbook Thunderbolt 3 to 10GbE SFP+ intel x520 Network Adapter

2023\03\13 日誌

Mellanox ConnectX-4 Lx EN 網路轉接器 (MCX4131A-GCAT) 可以原生驅動

2023\04\10 日誌

大佬 xjn819 提出一個方法。

Ventura beta1 獲得了這個 kext。當時,驅動程序仍然是一個 kext 而不是 dext。如果網絡介面卡是由 kext 驅動的,您可以使用命令 ‘networksetup -setMTU en4 9000’ 來調整 MTU。

如果您有一台 Hackintosh,請按照以下步驟操作:

  1. 禁用 SIP,並添加引導引數:dk.mlx5=0 以阻止 mlx dext 驅動程序。
  2. 通過 OpenCore 加載附帶的 mlx kext,重新啟動,並使用命令調整 MTU;應該可以工作。
  3. 使用 ‘ifconfig’ 來檢查。

這個 kext 在 Apple Silicon 上也可能適用,因為它仍然有蘋果的簽名。我有一個大概的想法,但我還沒有嘗試過:

  1. 禁用 SIP。
  2. 輸入 ‘sudo nvram boot-args=dk.mlx5=0’ 來阻止 mlx dext。
  3. 將附帶的 kext 放入 /Library/Extensions,但可能不起作用;重新啟動 Mac,試一下。
  4. 如果步驟 3 失敗,使用 kmutil 直接加載 kext。
  5. 使用 kextstat | grep "AppleEthernet" 驗證 kext 是否已加載,並確保 mlx 被顯示。
  6. 使用命令調整 MTU。
  7. 在終端中,輸入 ‘ifconfig’ 來檢查 MTU。

下載:AppleEthernetMLX5.kext

2023\04\30 日誌

社長發現在 MacOS 13.1 系統當中,已內建三個 Eth 驅動程式:AppleEthernetE1000.dext、AppleEthernetIXGBE.dext 和 AppleEthernetMLX5.dext。

但在MacOS 13.3.1中,有4個dext驅動程序,包括AppleEthernetIXL.dext。不過x.dext 僅支援M系列白果,黑果不支持。

2024\05\10 日誌

社長在四月底下單,在昨天去了超商取回這張網卡。一開始採用以上網友的方法進行測試,不過還是無法驅動該網卡。最後我做了以下動作:

在BIOS中啟用VT-d後它仍然失敗,但我發現ifconfig和IORegiteryExplorer的檢查有所不同,我嘗試了許多不同的組合設置,結果如下:

1)BIOS – 啟用VT-d。
2) OpenCore – 取消勾選DisableIoMapper;檢查DisableIoMapperMapping;刪除AppleEthernetMLX5.kext;刪除 boot-args=dk.mlx5=0。

電腦重啟之後,總算這張25Gb 網卡可原生驅動,無需再加載任何Kext。

修改MTU

開啟終端機下達指令:

networksetup -setMTU en4 9000

en4 指的是網卡PCIe 的位置,你可以透過Hackintool 工具找到。

不過,目前MTU最高為2034,或許Apple 對此可改善。

上一篇
下一篇