Hey all,
I recently purchased a couple of these bad boys for $13 https://www.ebay.com/itm/375-3696-01-SUN-ORACLE-40GBPS-QDR-DUAL-PORT-INFINIBAND-ADAPTER-MHQH29B-XSR/223856765950?ssPageName=STRK:MEBIDX:IT&_trksid=p2057872.m2749.l2649
Kinda freaked me out to get a dual-qsfp card with 40gb ib and 10gb IPoIB and RDMA for $13. I flashed them with the Mellanox firmware, mostly covered here: https://forums.servethehome.com/ind...2-vpi-dual-port-adapter-49-99-obo.5232/page-4
1) Install WinMFT, latest version worked for me
1.1) Download bin file from random stranger (at your peril - seems to have worked ok for me) http://www.landynamics.com/pool/Applications/Drivers/MHQH29B-XTR/MHQH29B-2.10.720.bin
2) Open up a command prompt as an administrator, and CD to the directory you copied the 2.10.720
image to. Run the following command:
flint -allow_psid_change -d mt26428_pci_cr0 -i MHQH29B-2.10.720.bin burn
3) Reboot
other notes:
https://www.mellanox.com/support/firmware/identification has a brief tutorial on using MST and Flint to determine the name of the cards and the firmware version on them.
NOTE: open under System devices , NOT under Network adapters!

NOTE: for the pcie cards to work, need to have a driver *later* than 4.8 (used MLNX_VPI_WinOF-5_50_50000_All_Win10_1803_x64 because that's the version of windows 10 i had running) to support the updated firmware.
to get them on ipoib in proxmox, this reddit thread was a huge help https://www.reddit.com/r/homelab/comments/cf0ae3/still_rocking_the_connectx2_qdr_and_proxmox_ve_v60/
here's my steps:
cd ~
wget http://content.mellanox.com/ofed/ML..._OFED_LINUX-5.0-1.0.0.0-debian10.0-x86_64.tgz # or whatever the latest version is
tar xvf MLNX_OFED_LINUX-5.0-1.0.0.0-debian10.0-x86_64.tgz
dpkg -x MLNX_OFED_LINUX-5.0-1.0.0.0-debian10.0-x86_64/DEBS/COMMON/mlnx-ofed-kernel-utils_5.0-OFED.5.0.1.0.0.0.1.g34c46d3_amd64.deb ./mlnx-ofed-kernel-utils/
mkdir /etc/infiniband
touch /etc/infiniband/connectx.conf
cp ~/mlnx-ofed-kernel-utils/sbin/connectx_port_config /sbin/
chmod +x /sbin/connectx_port_config
./sbin/connectx_port_config
output looks like this:
ConnectX PCI devices :
|----------------------------|
| 1 0000:05:00.0 |
|----------------------------|
Before port change:
ib
ib
|----------------------------|
| Possible port modes: |
| 1: Infiniband |
| 2: Ethernet |
| 3: AutoSense |
|----------------------------|
Select mode for port 1 (1,2,3): 2
Select mode for port 2 (1,2,3): 2
After port change:
eth
eth
at this point you should be able to set an ip address, up the link, and ping other hosts on the network. i can, and can move files between this new test proxmox node and a windows client directly attached at >1 GB/s (!)
# pv mp1/864794_001_spp-2016.04.0-SPP2016040.2016_0317.20.iso > ~/mp2/spp.iso
5.74GiB 0:00:05 [1.06GiB/s] [========================================>] 100%
however it doesn't persist on reboot, which i'm still working out...when rebooting, i get a network service failed because the interface doesn't exist until i log on and run the port config commands.
my next interest is getting IB working. i know i have to install opensm on both nodes. will try to report back asap.
EDIT: removed irrelevant comment inmy notes
I recently purchased a couple of these bad boys for $13 https://www.ebay.com/itm/375-3696-01-SUN-ORACLE-40GBPS-QDR-DUAL-PORT-INFINIBAND-ADAPTER-MHQH29B-XSR/223856765950?ssPageName=STRK:MEBIDX:IT&_trksid=p2057872.m2749.l2649
Kinda freaked me out to get a dual-qsfp card with 40gb ib and 10gb IPoIB and RDMA for $13. I flashed them with the Mellanox firmware, mostly covered here: https://forums.servethehome.com/ind...2-vpi-dual-port-adapter-49-99-obo.5232/page-4
1) Install WinMFT, latest version worked for me
1.1) Download bin file from random stranger (at your peril - seems to have worked ok for me) http://www.landynamics.com/pool/Applications/Drivers/MHQH29B-XTR/MHQH29B-2.10.720.bin
2) Open up a command prompt as an administrator, and CD to the directory you copied the 2.10.720
image to. Run the following command:
flint -allow_psid_change -d mt26428_pci_cr0 -i MHQH29B-2.10.720.bin burn
3) Reboot
other notes:
https://www.mellanox.com/support/firmware/identification has a brief tutorial on using MST and Flint to determine the name of the cards and the firmware version on them.
- install MST
- in admin powershell window, run mst status
- flint -d <devIdentifier> query
- e.g., if mst status returned "mt26428_pci_cr0" you would type: flint -d mt26428_pci_cr0 query
- in linux, it would be a dev such as /dev/mt26428_pci_cr0
NOTE: open under System devices , NOT under Network adapters!

NOTE: for the pcie cards to work, need to have a driver *later* than 4.8 (used MLNX_VPI_WinOF-5_50_50000_All_Win10_1803_x64 because that's the version of windows 10 i had running) to support the updated firmware.
to get them on ipoib in proxmox, this reddit thread was a huge help https://www.reddit.com/r/homelab/comments/cf0ae3/still_rocking_the_connectx2_qdr_and_proxmox_ve_v60/
here's my steps:
cd ~
wget http://content.mellanox.com/ofed/ML..._OFED_LINUX-5.0-1.0.0.0-debian10.0-x86_64.tgz # or whatever the latest version is
tar xvf MLNX_OFED_LINUX-5.0-1.0.0.0-debian10.0-x86_64.tgz
dpkg -x MLNX_OFED_LINUX-5.0-1.0.0.0-debian10.0-x86_64/DEBS/COMMON/mlnx-ofed-kernel-utils_5.0-OFED.5.0.1.0.0.0.1.g34c46d3_amd64.deb ./mlnx-ofed-kernel-utils/
mkdir /etc/infiniband
touch /etc/infiniband/connectx.conf
cp ~/mlnx-ofed-kernel-utils/sbin/connectx_port_config /sbin/
chmod +x /sbin/connectx_port_config
./sbin/connectx_port_config
output looks like this:
ConnectX PCI devices :
|----------------------------|
| 1 0000:05:00.0 |
|----------------------------|
Before port change:
ib
ib
|----------------------------|
| Possible port modes: |
| 1: Infiniband |
| 2: Ethernet |
| 3: AutoSense |
|----------------------------|
Select mode for port 1 (1,2,3): 2
Select mode for port 2 (1,2,3): 2
After port change:
eth
eth
at this point you should be able to set an ip address, up the link, and ping other hosts on the network. i can, and can move files between this new test proxmox node and a windows client directly attached at >1 GB/s (!)
# pv mp1/864794_001_spp-2016.04.0-SPP2016040.2016_0317.20.iso > ~/mp2/spp.iso
5.74GiB 0:00:05 [1.06GiB/s] [========================================>] 100%
however it doesn't persist on reboot, which i'm still working out...when rebooting, i get a network service failed because the interface doesn't exist until i log on and run the port config commands.
my next interest is getting IB working. i know i have to install opensm on both nodes. will try to report back asap.
EDIT: removed irrelevant comment inmy notes