Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Has anyone upgraded to High Sierra? My previously stable Intel X520 setup on a nMP over Thunderbolt stopped working after I upgraded. I now only get a self-assigned IP and manually configuring the IP still doesn't allow me to ping the router. Tried the various hardware settings without success. There has not been a driver update at small-tree.com since Sierra support last year.

I also tried with a previously working Chelsio S310E card and got the same results, which is making me wonder if it might be a general High Sierra 10GbE issue.
 
Has anyone upgraded to High Sierra? My previously stable Intel X520 setup on a nMP over Thunderbolt stopped working after I upgraded. I now only get a self-assigned IP and manually configuring the IP still doesn't allow me to ping the router. Tried the various hardware settings without success. There has not been a driver update at small-tree.com since Sierra support last year.

I also tried with a previously working Chelsio S310E card and got the same results, which is making me wonder if it might be a general High Sierra 10GbE issue.
I’ve not had a problem after upgrading to HS but I’m running the card in a PCIe slot in a cMP so perhaps it’s a Thunderbolt issue?
 
I was doing a round of debugging on this and was about to give up when miraculously Small-Tree posted a driver update with explicit support for High Sierra. Woohoo! Everything works fine now. The new version is 3.4.01.

https://www.small-tree.com/cdn-files/SmallTreeIntel8259x-3.4.01.dmg.zip
They seem to have now pulled this version and replaced it with 3.3.15.
Anyone know why?
Release notes when installing still show 3.4.1 however, the driver installed is indeed 3.3.15.
https://www.small-tree.com/support/download_category?cat_id=6

Changes fro SmallTreeIntel8259x driver version 3.4.1
* Updated Driver to work on Mac OS X High Sierra (10.13)
* Fixed issues with "InOut" Labels in RX code
* Backward compatibility with 10.10 and up.
 
Last edited:
FYI, your location worked perfectly with my X540-AT2 despite different subsystem values. The TLDR for anyone who finds this:

------
ifconfig

(should have two very similar entries with es-whatever or the like; each one represents a port location)

sudo ethtool -E LOCATION1 magic 0x15288086 offset 0x48e value 0x0a
sudo ethtool -E LOCATION1 magic 0x15288086 offset 0x48f value 0x00
sudo ethtool -E LOCATION2 magic 0x15288086 offset 0x48e value 0x0a
sudo ethtool -E LOCATION2 magic 0x15288086 offset 0x48f value 0x00
------

Much appreciated!
THANK YOIU SOOOO much for this... I did read the tutorial... but reading this, comparing it with my card, made me completely understand! And now it's working in High Sierra!
 
  • Like
Reactions: Squuiid
Hi there,
I've cocked up and need to restore my backup file. Please can someone help me out with the correct command for restoring from the bin file?
Thanks so much!
J
 
Hi there,
I've cocked up and need to restore my backup file. Please can someone help me out with the correct command for restoring from the bin file?
Thanks so much!
J
Sorry for the late reply. Were you able to recover this?
 
Sorry for the late reply. Were you able to recover this?
No worries! No I haven't yet. I've just put the Mac on hold while I set up my windows machines. It would be great to know how to restore from the backup files.
Cheers
Jon
 
No worries! No I haven't yet. I've just put the Mac on hold while I set up my windows machines. It would be great to know how to restore from the backup files.
Cheers
Jon
Have you tried just updating the firmware as posted here #4?
How messed up is the card? Is it detected in device manager in Windows? Which card is it?

Here's a guide you can probably adapt to your situation, depending on how corrupted the card is:
http://blog.vodkamelone.de/archives/146-Unbricking-an-Intel-Pro1000-e1000-network-interface.html
 
Last edited:
Have you tried just updating the firmware as posted here #4?
How messed up is the card? Is it detected in device manager in Windows? Which card is it?

Here's a guide you can probably adapt to your situation, depending on how corrupted the card is:
http://blog.vodkamelone.de/archives/146-Unbricking-an-Intel-Pro1000-e1000-network-interface.html

It's still being detected in windows just it doesn't connect over the network. It's an X540-t2 card.
I'll give those options a whirl, I reckon it's hopefully fixable!
Thanks for your help!
 
It's still being detected in windows just it doesn't connect over the network. It's an X540-t2 card.
I'll give those options a whirl, I reckon it's hopefully fixable!
Thanks for your help!
Good luck. Do you happen to know which offsets you changed by mistake?

On a separate note, I'm getting absolutely incredible SMB performance from High Sierra 10.12.1 and the new Small Tree drivers, version 3.3.15. The best I've ever seen in macOS.
Once you disable SMB signing it flies. Apple have finally fixed SMB performance when using 10GbE!
 
hey guys,
What would the changes that I will have to make with the following X540-AT2?
Code:
ubuntu@ubuntu:~$ lspci -nn -vvv | grep Ethernet
03:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 [8086:1528] (rev 01) Subsystem: Intel Corporation Ethernet Converged Network Adapter X540-T2 [8086:0001]
03:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 [8086:1528] (rev 01) Subsystem: Intel Corporation Ethernet Converged Network Adapter X540-T2 [8086:0001]

Thanks!
 
Last edited:
FOLKS, THIS WILL WRITE TO THE CARD EEPROM AND INCORRECT USAGE COULD RENDER YOUR CARD USELESS. THESE STEPS ARE SPECIFIC TO MY INTEL X520-DA2 10GbE CARD ONLY. HOWEVER, WITH SOME WORK THEY CAN PROBABLY BE ADAPTED TO WORK ON MOST INTEL NETWORK CARDS, BOTH 1GbE and 10GbE.
PROCEED AT YOUR OWN RISK.


Intel's own network driver page states:
Intel adapters from Small Tree Communications are uniquely designed and validated on Apple platforms with OS X* drivers. Software and drivers for Mac OS X* for retail versions of Intel® Ethernet Adapters are not available from Intel or from Small Tree Communications.

In order for a retail Intel NIC to be able to use the Small Tree macOS drivers it must have a Subsystem ID of 000a, as stated here:
https://www.small-tree.com/support/...now-which-Gigabit-driver-to-install-on-my-Mac

Fortunately, a card's Subsytem ID can be modified by using the 'ethtool' command under Linux.
The following is how I modified my card.

First step, download and install Small Tree macOS NIC drivers.
1GbE cards:
https://www.small-tree.com/support/download_category?cat_id=5
10GbE cards:
https://www.small-tree.com/support/download_category?cat_id=6

Next, download and boot off of Ubuntu 16.04 LTS Desktop CD and run terminal.
http://www.ubuntu.com/download/desktop
(Select 'Try Ubuntu without installing')

TO LOCATE ethX:
ifconfig

TO BACKUP EEPROM (DO THIS!):
sudo ethtool -e ethX raw on > ethX.bin

COMMAND TEMPLATE WE NEED TO USE TO CHANGE OFFSET VALUES:
sudo ethtool -E ethX magic 0x<device id><vendor id> offset 0x<offset> value 0x<value>

TO DETERMINE VENDOR, DEVICE AND SUBSYSTEM IDs:
lspci -nn -vvv | grep Ethernet
01:00.0 Ethernet controller [0200]: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb] (rev 01)
Subsystem: Intel Corporation Ethernet Server Adapter X520-2 [8086:7a11]
01:00.1 Ethernet controller [0200]: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb] (rev 01)
Subsystem: Intel Corporation Ethernet Server Adapter X520-2 [8086:7a11]


NOW, TO FIND THE RELEVANT OFFSETS!
Intel datasheet for my card states the following, but it doesn't seem to be correct! Other datasheets may prove more useful, it's definitely worth checking them first. Look under the 'EEPROM Hardware' section of the datasheet:
PCIe Sub-System ID - Offset 0x08
Bits:15:0
Name:Sub System ID
Default: 0x0

By running the following command and eyeballing the offsets I've discovered that the values below are actually the two relevant values on my Intel X520-DA2 card. This is the subsystem ID we're after (notice the vendor id of 86 80 which follows it):
sudo ethtool -e eth1 | less
"0x0320: 03 00 1f 00 00 00 00 2b 03 13 11 7a 86 80 a6 10"

So, if we start at offset 0x0320 you would count 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f for each pair of digits.
The values we need to change are 11 at 0x032a and 7a at 0x032b. We can remove the 0 to shorten to 0x32a and 0x32b

So, for an Intel X520-DA2 (8086:10fb)(8086:7a11), to set subsys ID of 0x000a we would run:
sudo ethtool -E eth1 magic 0x10fb8086 offset 0x32a value 0x0a
sudo ethtool -E eth1 magic 0x10fb8086 offset 0x32b value 0x00

sudo ethtool -E eth2 magic 0x10fb8086 offset 0x32a value 0x0a
sudo ethtool -E eth2 magic 0x10fb8086 offset 0x32b value 0x00

In order to allow ethtool to write to the EEPROM you need the 'magic' value specific to your card, which is:
0x<device id><vendor id>
The command below will show these values:
lspci -nn -vvv | grep Ethernet
NOTE these are not the Subsystem values, they are the Device and Vendor IDs, in my case 10fb (X520) and 8086 (Intel).
Here's a useful reference:
http://pci-ids.ucw.cz/read/PC/8086

Reboot and done!

UPDATE:
Make sure you disable SMB signing if you require full performance when connecting to a Windows SMB share.
https://support.apple.com/en-us/HT205926

I've now tested on an Intel X540-T1 and it also works fine.

Ethernet controller [0200]: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 [8086:1528] (rev 01)
Subsystem: Intel Corporation Ethernet Converged Network Adapter X540-T1 [8086:0002]

sudo ethtool -E ens4 magic 0x15288086 offset 0x48e value 0x0a


One more thing. I was using Belkin CAT6 UTP 1m ethernet cables and they weren't good enough for 10GbE. I've since changed them for CAT7 and can now max out 10GbE with ease. Check your cables, 10GbE is not forgiving!

Just wanted to chime in here to thank you SO MUCH for this post and the subsequent posts. Got my X540-T2 working great in my hackintosh thanks to this thread. I also ended up with the same commands as alexanderdi, double checked them and they worked great.
[doublepost=1514340040][/doublepost]
hey guys,
What would the changes that I will have to make with the following X540-AT2?
Code:
ubuntu@ubuntu:~$ lspci -nn -vvv | grep Ethernet
03:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 [8086:1528] (rev 01) Subsystem: Intel Corporation Ethernet Converged Network Adapter X540-T2 [8086:0001]
03:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 [8086:1528] (rev 01) Subsystem: Intel Corporation Ethernet Converged Network Adapter X540-T2 [8086:0001]

Thanks!

sudo ethtool -E LOCATION1 magic 0x15288086 offset 0x48e value 0x0a
sudo ethtool -E LOCATION1 magic 0x15288086 offset 0x48f value 0x00
sudo ethtool -E LOCATION2 magic 0x15288086 offset 0x48e value 0x0a
sudo ethtool -E LOCATION2 magic 0x15288086 offset 0x48f value 0x00
 
  • Like
Reactions: Squuiid
Post what you get from running the commands and we can then assist.


Hi Squuiid, i'm having also issues with finding the ethX.
This is what i get, when i use the ifconfig in the ubuntu Terminal. (attached file)
I did install the drivers and followed the guide until the ifconfig where the ethtool doesn't let me know what the eth of my X540-T1 is.

Thx for helping and stuff ;)
 

Attachments

  • Bildschirmfoto 2018-01-17 um 20.16.22.png
    Bildschirmfoto 2018-01-17 um 20.16.22.png
    119.2 KB · Views: 452
Hi Squuiid, i'm having also issues with finding the ethX.
This is what i get, when i use the ifconfig in the ubuntu Terminal. (attached file)
I did install the drivers and followed the guide until the ifconfig where the ethtool doesn't let me know what the eth of my X540-T1 is.

Thx for helping and stuff ;)
Is your LAN cable plugged into the card? Is the card the only Ethernet adapter in the computer?
If so your ethx is actually enp0s5 for some reason.
What version of Ubuntu is that?
 
Is your LAN cable plugged into the card? Is the card the only Ethernet adapter in the computer?
If so your ethx is actually enp0s5 for some reason.
What version of Ubuntu is that?


Yes, the LAN cable is connected, orange and green lights are lit up. Even when I take out the card the enp0s5 is still shown.
In the attached file you see that the card is not even recognized. So I guess the drivers are't working?
I just have to install the drivers on Mac and then just switch to Ubuntu (16.4.3) to use the Ethtool in the Terminal, right?
I have one Ethernet port in my mainboard, obviously, and one WLAN card.
But the MAC adress of the enp0s5 doesn't fit either WLAN or onboard Ethernet. But how can it still be shown if i plug out the X540?
many thx

EDIT: Now I installed ubuntu 14.04.5 and got the "eth0"! Yippi! But how do i know this ist not the onboard LAN or the WLAN since it's showing just one ethX? Shouldn't it be showing all three(onboard LAN, WLAN and X540 LAN) as ethX?
 

Attachments

  • Bildschirmfoto 2018-01-18 um 11.28.00.png
    Bildschirmfoto 2018-01-18 um 11.28.00.png
    195.6 KB · Views: 810
Last edited:
EDIT: Now I installed ubuntu 14.04.5 and got the "eth0"! Yippi! But how do i know this ist not the onboard LAN or the WLAN since it's showing just one ethX? Shouldn't it be showing all three(onboard LAN, WLAN and X540 LAN) as ethX?
Yes, you should indeed see both the onboard LAN and X540 being displayed. Where did you get your X540 from, are you sure it works? Try installing it in a Windows 10 box and see if recognised perhaps?
 
@Squuiid I think i need some help too. I have the four port SFP+ version of this card (Intel 710), and i am a little loss. I have attached what i have as my outputs of my card. It clearly sees the card and all four ports. The ethX is a little weird but it does work when i pull up the long offset table. Let me know if you can help!
 

Attachments

  • Intel 710 Output.jpg
    Intel 710 Output.jpg
    662.2 KB · Views: 409
@Squuiid I think i need some help too. I have the four port SFP+ version of this card (Intel 710), and i am a little loss. I have attached what i have as my outputs of my card. It clearly sees the card and all four ports. The ethX is a little weird but it does work when i pull up the long offset table. Let me know if you can help!
Have you located the correct offset?
Subsystem ID needs to change from 0000 to 000a so only one offset needs changing, the last two zeros to 0a.
Change it for each ethx, or enpx in your case.
 
Have you located the correct offset?
Subsystem ID needs to change from 0000 to 000a so only one offset needs changing, the last two zeros to 0a.
Change it for each ethx, or enpx in your case.

So should i use this command: sudo ethtool -e eth1 | less

to check the table for 00 00 86 80 ?
[doublepost=1517349063][/doublepost]
Have you located the correct offset?
Subsystem ID needs to change from 0000 to 000a so only one offset needs changing, the last two zeros to 0a.
Change it for each ethx, or enpx in your case.

That's what I am looking for now, do i go searching the offset table for it? Sorry I am normally pretty good in the terminal, but this seems a bit tough.
 
So should i use this command: sudo ethtool -e eth1 | less

to check the table for 00 00 86 80 ?

Yes, exactly, but replace eth1 with your card's name. In your case, enp33s0f0, then do the same for enp33s0f1, enp33s0f2 and enp33s0f3.

sudo ethtool -e enp33s0f0 | less
 
is there anyway to search the output? Right now I am paging through and using ctrl+shift+f to search the screen, but its slow going. Someone above looked like they were using an overall search function?
 
is there anyway to search the output? Right now I am paging through and using ctrl+shift+f to search the screen, but its slow going. Someone above looked like they were using an overall search function?
I’ve only ever eyeballed it. You should be able to spot the 00 00 86 80 string fairly easily.
 
Ok I am trying a different card, a two port card. Ports are enp33s0f0 and enp33s0f1. Here are the two screen shots, one showing the subsystem id and vendor id, and the other the line in the offset table. It looks like I was looking for 0c 00 86 80 this time, and I found it! for both ports its on the exact same line. What would my commands be?
IMG_0149.jpg
image1.jpeg
 
Ok I am trying a different card, a two port card. Ports are enp33s0f0 and enp33s0f1. Here are the two screen shots, one showing the subsystem id and vendor id, and the other the line in the offset table. It looks like I was looking for 0c 00 86 80 this time, and I found it! for both ports its on the exact same line. What would my commands be?View attachment 749447 View attachment 749448
sudo ethtool -E enp33s0f0 magic 0x10fb8086 offset 0x32a value 0x0a
sudo ethtool -E enp33s0f1 magic 0x10fb8086 offset 0x32a value 0x0a


 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.