- Joined
- Sep 29, 2016
- Messages
- 1
following mrjayviper's post as I too have tried these steps with the same results. also tried 3 different subsystem id, found during google search, also with no luck.
Thanks,
Thanks,
Hi all,
The 10g card is found and works! The performance is not super great compared to this machine running Linux. In one application (http://djv.sourceforge.net) the speed is comparable to what we get in Linux, but in pure copy speed, I see on OSX about 160 MB/s read, whereas on Linux I get around 550 MB/s read, which basically corresponds to the current storage setup. I am sure I need to tune some OSX kernel parameters.
Thanks again!
etimacias, thanks for the pointer. I've now got this working on my X520-DA2 card.
FOLKS, PROCEED WITH CAUTION. THIS WILL WRITE TO THE CARD EEPROM AND INCORRECT USAGE COULD RENDER YOUR CARD USELESS. THESE STEPS ARE SPECIFIC TO MY INTEL X520-DA2 CARD ONLY. HOWEVER, WITH SOME WORK THEY CAN PROBABLY BE ADAPTED TO WORK ON MOST INTEL NETWORK CARDS.
First step, boot off Ubuntu 16.04 LTS Desktop CD, run terminal and the following commands.
http://www.ubuntu.com/download/desktop
TO LOCATE ethX:
ifconfig
TO BACKUP EEPROM (DO THIS!):
ethtool -e ethX raw on > ethX.bin
COMMAND WE NEED TO USE TO CHANGE OFFSET VALUES:
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 linked above states the following, but it doesn't seem to apply to my card:
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 these are the two values on my Intel X520-DA2 card:
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), 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 the 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 this case 10fb and 8086.
Here's a useful reference:
http://pci-ids.ucw.cz/read/PC/8086
Reboot and done!
View attachment 185753View attachment 185754
There are a whole bunch of things one can do on Linux to speed things upHello.
I have exactly the same problem. I can't get better performance than 150-160MB/s over a 10G Fiberlane to my DS3615xs.
If i copy files from one SSD to an other the Performance is okay.
If i copy files user DSM (Graphical Interface for the Synology using a Browser) on my DS3615xs the Speed is about 500-800MB per Second - also okay.
So imho the bottleneck is the 10G-Network - But why. Who or what limits the Transfer-Speed.
Is there anybody out there (cool ... Pink Floyd) who can help?
Sorry for my english.....
thanks
Okay I think I get it now. So the first personality matches the device, sets the fake properties, and attaches to FakePCIID.kext. Then the second personality tells it which other kext to attach? In this second personality, should it match with the real device-id or the fake injected one?
CFBundleIdentifier specifies the name of the driver to load
IOClass is an arbitrary label
I renamed my kext FakePCIID_Intel_i211.kext and here is the plist with the added personality. It's still not working. I have RM,subsystem-id as a string, because I'm not sure how to translate 0x0B to data type.
etimacias, thanks for the pointer. I've now got this working on my X520-DA2 card.
FOLKS, PROCEED WITH CAUTION. THIS WILL WRITE TO THE CARD EEPROM AND INCORRECT USAGE COULD RENDER YOUR CARD USELESS. THESE STEPS ARE SPECIFIC TO MY INTEL X520-DA2 CARD ONLY. HOWEVER, WITH SOME WORK THEY CAN PROBABLY BE ADAPTED TO WORK ON MOST INTEL NETWORK CARDS.
First step, boot off Ubuntu 16.04 LTS Desktop CD, run terminal and the following commands.
http://www.ubuntu.com/download/desktop
TO LOCATE ethX:
ifconfig
TO BACKUP EEPROM (DO THIS!):
ethtool -e ethX raw on > ethX.bin
COMMAND WE NEED TO USE TO CHANGE OFFSET VALUES:
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 linked above states the following, but it doesn't seem to apply to my card:
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 these are the two values on my Intel X520-DA2 card:
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), 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 the 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 this case 10fb and 8086.
Here's a useful reference:
http://pci-ids.ucw.cz/read/PC/8086
Reboot and done!
View attachment 185753View attachment 185754
Vendor ID: 0x8086
Device ID: 0x1528
Subsystem Vendor ID: 0x8086
Subsystem ID: 0x000a
Hi guys,
thanks to Squuiid I got my x520-DA2 working by altering the subsys ID via Linux.
I get speeds of
write: ~270mb/s
read: ~300mb/s
to an SSD in the NAS.
Any ideas on how to better the performance?
Cheers,
shinokubo
Hi. I've got a hack with an old Intel PCI 82541 (8086:107c), confirmed as visible with that ID by DPCIManager. There is a hnak driver for that, but it crashes after sleep. Since I'm trying to use this instead of the builtin Atheros that crashes occasionally under heavy load, that's a nonstarter.
One of the SmallTree drivers linked by DarkVoid, SmallTreeIntel8254x-3.4.32, claims support for this board. (His link doesn't work for me, but this does: https://www.small-tree.com/support/download_category?cat_id=5 .) But it won't work because my card's "Sub Dev" (as listed in DPCIManager) is 1376, and the SmallTree kext is looking for 0x000a.
If I understand this right, the solution is a newish kext called Rehabman's FakePCIID. I've downloaded this from bitbucket. However, looking at the readme, it seems I need to understand DSDT patch syntax, something I've assiduously avoided by buying a MB that can be used DSDT-free (GigaByte 8-series), and then put the relevant info into the plist-only second kext.
Please help me avoid spending many hours digging into this, by telling me what I'd need to put in the plist of the second kext.
...hm, looking at the Feb. 16 kexts, I see FakePCIID_Intel_GbX. I assume this won't work as it's for the 10GbE cards, but at a guess, changing one number in there would do the trick, right?
Thanks!!!