Snow Leopard?! Ha! That’s a security nightmare. I hope you don’t have that connected to the network anyway, let alone 10GbE.Hey all, I'm having some troubles with the SmallTree drivers. I bought two Dell branded x520 cards, and successfully changed the subsystem ID in both. I have one installed in a Sonnet Echo Express SE1 for my cylinder Mac Pro (running Mojave), and in a 16x PCI slot on my old 2008 Mac Pro (running Snow Leopard). I installed the appropriate SmallTree driver in each.
Unfortunately, neither machine sees the cards in MacOS. While a generic "ethernet" device is showing up under PCI Cards in System Profiler (with Subsystem ID of 0x000a!), both are showing a "No" under the Driver Installed column. The kext is loaded on the newer Mac Pro, but not the old one.
Any ideas what might be causing this?
UPDATE: It turns out I had bought Dell-rebranded x520's, which use a different ROM and require their Device ID to be modified as well. Thanks to a friend, I was able to figure this out. It's now working in my cylinder Mac Pro, but I still can't get the drivers to load in Snow Leopard. About to give up on that one...
The flashed card will work perfectly in Windows. Confirmed.I'm thinking of getting an X520-DA1 and doing this for my Hackintosh, as my Mellanox ConnectX-3 only works under Windows/Linux. As I still dual-boot with Windows, can anyone confirm if the card still works properly under Windows after the flash?
I‘m using six T-540 cards with Mojave and High Sierra. They work in cMP and also via Thunderbolt (3) in a Sonnet Echo enclosure.
You’re not done yet. See here...I was able to change the vendor and device ID of an HP branded X520 dual SFP+ card and it works great in Mojave, however I'm experiencing a weird issue related to the smalltree drivers. I tried both 3.3.15 and 3.4.1 and they both present the same issue. If I'm first booting up or after a restart, I get no video {unfortunately I have an RX580 so I can't see the EFI of what's happening. I might have to see if I can find the old 5770 that was in it to see if there's an error happening)
However, if I turn it on, it gets stuck at a black screen, if I wait 10min for it to sleep, and then resume from that sleep it works perfectly. I get full speed, it's detected properly, etc. This also happens whether or not the card is physically installed. It happens after installing the smalltree drivers and only does this when the kext is present. If I remove the driver it boots fine, even if I leave the card physically installed.
This is on a cMP 4,1 flashed to 5,1 running the latest version of Mojave. I also have all PCIe slots populated (USB3, NVMe, RX580 and the 10gbe card.
No driver patching required. That’s the sole reason for editing the device ID.does anyone have to patch the driver to get it to work or you only need to change the device ID in the firmware? Thank you
The flashed card will work perfectly in Windows. Confirmed.
root@ubuntu:/home/ubuntu# dmesg | grep ixgbe
[ 5.194501] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 5.1.0-k
[ 5.194501] ixgbe: Copyright (c) 1999-2016 Intel Corporation.
[ 5.375856] ixgbe 0000:03:00.0: Multiqueue Enabled: Rx Queue count = 8, Tx Queue count = 8 XDP Queue count = 0
[ 5.376126] ixgbe 0000:03:00.0: 16.000 Gb/s available PCIe bandwidth, limited by 5 GT/s x4 link at 0000:00:1b.4 (capable of 32.000 Gb/s with 5 GT/s x8 link)
[ 5.376429] ixgbe 0000:03:00.0: MAC: 2, PHY: 20, SFP+: 5, PBA No: G30771-004
[ 5.376430] ixgbe 0000:03:00.0: 9c:69:b4:60:70:a5
[ 5.377314] ixgbe 0000:03:00.0: Intel(R) 10 Gigabit Network Connection
[ 5.377365] libphy: ixgbe-mdio: probed
[ 5.377871] ixgbe 0000:03:00.0 enp3s0: renamed from eth0
[ 16.734493] ixgbe 0000:03:00.0: registered PHC device on enp3s0
[ 16.916835] ixgbe 0000:03:00.0 enp3s0: detected SFP+: 5
0x0320: 03 00 1f 00 03 00 00 50 03 53 06 00 86 80 a6 10
ethtool -E enp3s0 magic 0x10fb8086 offset 0x32a value 0x0a
ethtool -E enp3s0 magic 0x10fb8086 offset 0x32b value 0x00
...
Will update once i get some fiber and am able to connect it to my switch.
[root@dev-5 ~]# lspci -v -n -s 03:00.0
03:00.0 0200: 8086:154d (rev 01)
Subsystem: 8086:7b11
[root@dev-5 ~]# ethtool -e enp3s0f0 | grep "4d 15"
0x0340: 66 dc e2 6a 03 00 05 00 3f 06 4d 15 00 00 04 14
^^^^^
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x0350: 00 00 05 00 3f 16 4d 15 00 00 04 14 00 00 07 00
^^^^^
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
0 1 2 3 4 5 6 7 8 9 A B C D E F
[root@dev-5 ~]# ethtool -e enp3s0f0 | grep "11 7b"
0x0320: 03 00 1f 00 00 00 00 2b 03 33 11 7b 86 80 a6 10
^^^^^
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
0 1 2 3 4 5 6 7 8 9 A B C D E F
before: 8086:154d
after: 8086:10FB
before: Subsystem: 8086:7b11
after: Subsystem: 8086:000A
0x032A: 0x11 => 0x0A
0x032B: 0x7b => 0x00
0x034A: 0x4d => 0xFB
0x034B: 0x15 => 0x10
0x0356: 0x4d => 0xFB
0x0357: 0x15 => 0x10
ethtool -E enp3s0f0 magic 0x154d8086 offset 0x32a value 0x0a
ethtool -E enp3s0f0 magic 0x154d8086 offset 0x32b value 0x00
ethtool -E enp3s0f0 magic 0x154d8086 offset 0x34a value 0xFB
ethtool -E enp3s0f0 magic 0x154d8086 offset 0x34b value 0x10
ethtool -E enp3s0f0 magic 0x154d8086 offset 0x356 value 0xFB
ethtool -E enp3s0f0 magic 0x154d8086 offset 0x357 value 0x10
ethtool -E enp3s0f1 magic 0x154d8086 offset 0x32a value 0x0a
ethtool -E enp3s0f1 magic 0x154d8086 offset 0x32b value 0x00
ethtool -E enp3s0f1 magic 0x154d8086 offset 0x34a value 0xFB
ethtool -E enp3s0f1 magic 0x154d8086 offset 0x34b value 0x10
ethtool -E enp3s0f1 magic 0x154d8086 offset 0x356 value 0xFB
ethtool -E enp3s0f1 magic 0x154d8086 offset 0x357 value 0x10
[root@dev-5 ~]# lspci -n -v -s 03:00.0
03:00.0 0200: 8086:10fb (rev 01)
Subsystem: 8086:000a
nle7:~ root# ioreg -l
[...]
| | | | | +-o SmallTreeIntel8259x <class SmallTreeIntel8259x, id 0x10000047c, registered, matched, active, busy 0 (0 ms), retain 8>
| | | | | | {
| | | | | | "IOClass" = "SmallTreeIntel8259x"
| | | | | | "IOActiveMedium" = "00000020"
| | | | | | "IOResourceMatch" = "IOBSD"
| | | | | | "EN Number" = 3
| | | | | | "IOMinPacketSize" = 64
nle7:~ root# iperf3 -i 10 -t 60 -O 1 -c 192.168.0.10
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-60.00 sec 69.1 GBytes 9.89 Gbits/sec sender
[ 5] 0.00-60.00 sec 69.1 GBytes 9.89 Gbits/sec receiver
nle7:~ root# iperf3 -i 10 -t 60 -O 1 -c 192.168.0.10 -R
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-60.00 sec 69.2 GBytes 9.90 Gbits/sec 0 sender
[ 5] 0.00-60.00 sec 69.2 GBytes 9.90 Gbits/sec receiver
[...]
<string>0x10c68086 0x10c78086 0x10c88086 0x10ec8086 0x10d88086 0x10fb8086 0x10f18086 0x151c8086 0x150b8086 0x15288086 0x10fc8086 0x15608086 0x15628086 0x15638086</string>
[...]
[...]
<string>0x10c68086 0x10c78086 0x10c88086 0x10ec8086 0x10d88086 0x10fb8086 0x10f18086 0x151c8086 0x150b8086 0x15288086 0x10fc8086 0x15608086 0x15638086 0x154d8086</string>
[...]
[root@dev-5 comp1]# strings SmallTreeIntel8259x | grep stockRxRing
stockRxRing
SmallTreeIntel8259x %s %s: page spans page boundary in stockRxRing
stockRxRing: Enter mcount = %d head = 0x%x tail = 0x%x new tail = 0x%x
stockRxRing: No mbuf available, slot %d
stockRxRing: datap = %p mbuf = %p mbuf_data(mbuf) = %p slot = 0x%x
stockRxRing: page spans page boundary
stockRxRing: mask: 0x%08x; tail: 0x%08x; rxRing.tail: 0x%08x
__ZN19SmallTreeIntel8259x11stockRxRingEj
[root@dev-5 comp1]# strings SonnetEthernet-10GE | grep stockRxRing
stockRxRing
SonnetEthernet_10GE %s %s: page spans page boundary in stockRxRing
stockRxRing: Enter mcount = %d head = 0x%x tail = 0x%x new tail = 0x%x
stockRxRing: No mbuf available, slot %d
stockRxRing: datap = %p mbuf = %p mbuf_data(mbuf) = %p slot = 0x%x
stockRxRing: page spans page boundary
stockRxRing: mask: 0x%08x; tail: 0x%08x; rxRing.tail: 0x%08x
__ZN19SonnetEthernet_10GE11stockRxRingEj