Any one know which Intel ix driver for x520 card is in the actual kernel?
-
Hello,
Today I noticed that @kiokoman had just like me, PIMD issues early this year and that his conclusion was issue with "x520 ix driver".
It happens to be that a lot of my vlans are also x520 based ....
So I wonder which ix-driver version is actually in the pfSense kernel. Actual version on the intel site is "ix-3.3.14.tar.gz"
Louis
-
for example, use this:
dmesg | grep ixgbe
and look for this:
of course you don't see "igb"
BTW:
not the version on the Intel site, which matters primarily important..........*rather, these
https://www.freebsd.org/cgi/man.cgi?query=ixgbe&sektion=4&manpath=freebsd-release-ports
https://forums.freebsd.org/threads/intel-x520-da2-or-x520-sr2.72173/
https://man.openbsd.org/ix -
Thanx,
Strange ..... version info is missing !!!??? .......
ix0: <Intel(R) PRO/10GbE PCI-Express Network Driver> port 0xe020-0xe03f mem 0xdf780000-0xdf7fffff,0xdf804000-0xdf807fff irq 16 at device 0.0 on pci1
ix0: Using 2048 TX descriptors and 2048 RX descriptors
ix0: Using 2 RX queues 2 TX queues
ix0: Using MSI-X interrupts with 3 vectors
ix0: allocated for 2 queues
ix0: allocated for 2 rx queues
ix0: Ethernet address: 6c:b3:11:3b:bb:90
ix0: PCI Express Bus: Speed 5.0GT/s Width x8
ix0: netmap queues/slots: TX 2/2048, RX 2/2048
ix1: <Intel(R) PRO/10GbE PCI-Express Network Driver> port 0xe000-0xe01f mem 0xdf680000-0xdf6fffff,0xdf800000-0xdf803fff irq 17 at device 0.1 on pci1
ix1: Using 2048 TX descriptors and 2048 RX descriptors
ix1: Using 2 RX queues 2 TX queues
ix1: Using MSI-X interrupts with 3 vectors
ix1: allocated for 2 queues
ix1: allocated for 2 rx queues
ix1: Ethernet address: 6c:b3:11:3b:bb:92
ix1: PCI Express Bus: Speed 5.0GT/s Width x8
ix1: netmap queues/slots: TX 2/2048, RX 2/2048
vlan8: changing name to 'ix0.14'
vlan9: changing name to 'ix0.18'
vlan10: changing name to 'ix1.116'
ix0: link state changed to UP
ix0.18: link state changed to UP
ix0.14: link state changed to UP
ix1: link state changed to UP
ix1.116: link state changed to UPSo I also had a look at igb
igb0: <Intel(R) PRO/1000 PCI-Express Network Driver> mem 0xdf400000-0xdf4fffff,0xdf500000-0xdf503fff irq 16 at device 0.0 on pci2
igb0: Using 1024 TX descriptors and 1024 RX descriptors
igb0: Using 2 RX queues 2 TX queues
igb0: Using MSI-X interrupts with 3 vectors
igb0: Ethernet address: 68:05:ca:58:0f:b6
igb0: netmap queues/slots: TX 2/1024, RX 2/1024
igb1: <Intel(R) PRO/1000 PCI-Express Network Driver> mem 0xdf100000-0xdf1fffff,0xdf200000-0xdf203fff irq 17 at device 0.0 on pci3
igb1: Using 1024 TX descriptors and 1024 RX descriptors
igb1: Using 2 RX queues 2 TX queues
igb1: Using MSI-X interrupts with 3 vectors
igb1: Ethernet address: 68:05:ca:51:70:23
igb1: netmap queues/slots: TX 2/1024, RX 2/1024
lagg0: IPv6 addresses on igb0 have been removed before adding it as a member to prevent IPv6 address scope violation.
lagg0: IPv6 addresses on igb1 have been removed before adding it as a member to prevent IPv6 address scope violation.
igb0: link state changed to UP
igb1: link state changed to UPNo version numbers as well !!!???
https://www.freebsd.org/cgi/man.cgi?query=ixgbe&sektion=4&manpath=freebsd-release-ports
Do not know what to do with this ...
https://forums.freebsd.org/threads/intel-x520-da2-or-x520-sr2.72173/
My x520 model does support fiber (and as far as I know dac as well)
https://man.openbsd.org/ix
IMHO I have this one
Intel X520-SR2 Dual Port 10GbE Adapter (SFP+/10GbaseSR)Note that I really hope that the latest ix-driver version is in the kernel, but that I am not sure that that is the (only) issue.
I also verdict modules like "swi1: netisr 2", "dpinger", "mrouted", "radvc" etc.
I just do not know.I just know one thing, some where in the kernel, there is at least one related sevice bug
Louis
-
FreeBSD recently migrated to a new methodolgy for NIC drivers. The new kernel API is called iflib. It is a wrapper library that encompasses several common functions that all NIC drivers need. The idea behind iflib was to reduce redundant coding in the various NIC drivers in order to standardize on certain kernel interface functions. Most, but not all, NIC drivers have been rewritten by the manufacturers to support the iflib API. The new library handles things such as netmap device interfacing, for example, to remove that burden from the manfacturer driver developers.
So the use of iflib in FreeBSD means that driver versions changed. So the version you see in current FreeBSD kernels is the iflib version of the driver, and that version number mostly will not match the latest version of the driver shown on the manufacturer's web site. That Intel 3.3.14 driver is a prime example. The latest iflib version of that driver is a 4.x something or other (don't remember at the moment off the top of head) in FreeBSD-12.1. So now some vendors have an iflib version of their FreeBSD driver for newer kernel versions, and an older non-iflib version for older kernels. And the real kicker is that with some NIC drivers, the seemingly newer and higher number (you would assume it is newer since it's a higher revision) is actually older code than what may be in a non-iflib version. It can be a little confusing to sort it all out.
-
I like that iflib idea!!
I hope it is available and used here as well. Do you / any one know!?
Botum line is of cause better and easier support ... and that it "just works".Louis
-
if you are searching for "one".... in the forum now, you can see that others have already addressed this question
all I can say is there are still difficulties, so it is not yet available as you think nowbut I wonโt spoil your hunting and reading opportunity...
-
@louis2 said in Any one know which Intel ix driver for x520 card is in the actual kernel?:
I like that iflib idea!!
I hope it is available and used here as well. Do you / any one know!?
Botum line is of cause better and easier support ... and that it "just works".Louis
Well, one of the problems iflib introduced is that it also added more work to the driver developers since now they have to produce two different versions of each driver. One for kernels using iflib and one for those older kernels not using it.
I think the driver you are having trouble with is like this. There is actually newer code in the 3.3.14 driver than in the 4.x version showing in FreeBSD-12.1/STABLE (again, I can't remember the exact version number). One problem some of the newer Intel drivers had (and might be still having in FreeBSD-12.1) is an issue with initializing VLANs on driver load. It has to do with differences in the way driver initialization works when using iflib. The hardware on some of the newer Intel cards wants to be initialized in a manner that iflib does not do. Here's a link to a bug report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240818.
-
Yep,
I understand that it is more work during transision.
Still no idea whichh driver version the pfSense kernel is using ......
One of the problems, there is at least one other bug!, I have when using PIMD, is that switching on and off one of my vlan interfaces, does / (did?) almost certain lead to a crash if have PIMD active.
I put "did?" in between because since the today! snapshot pfSense !seems! to crash significant less often .... too early! to be sure! ......... (see peace of crash dump below)
If PIMD is using interface=x as RP-canidate and I switch that vlan off, PIMD switches to its defaults RP.
If I switch that prefered interface back on ==> crash (also in actual snapshot!).What ever, if this is yes or no related to the bug link you included, I am not sure. Could be, but it is not an "Ah that is the problem!".
Louis
Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address = 0x1000
fault code = supervisor write data, page not present
instruction pointer = 0x20:0xffffffff80e934f5
stack pointer = 0x0:0xfffffe00004de7f0
frame pointer = 0x0:0xfffffe00004de7f0
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 12 (swi1: netisr 2)
trap number = 12
panic: page faultLouis
-
@louis2 said in Any one know which Intel ix driver for x520 card is in the actual kernel?:
Still no idea whichh driver version the pfSense kernel is using ......
if not visible as described above (although it is very strange)
restart pfSense and observe the kernel messages on the console during boot...
there you can see the versions of the loaded device drivers -
I did a restart scrolls very fast. Tried to make a movie with my mobile :) Scrolling too fast to be sharp.
Whatever, the info seen in the movie (hard to see), the info from "dmesg | grep ix", the bootlog and crashdumps all seems to be the same.
So that does not help.
Louis
-
just try this, you need to see the version here also
(if not then you are in big trouble)sysctl dev.ix or sysctl dev.ixgbe
joke: you don't even have a NIC driver, hahahaha
-
Do not worry I do have a driver,
it is so old that it just forgot its version number
- sysctl dev.ix:
dev.ix.0.%desc: Intel(R) PRO/10GbE PCI-Express Network Driver
dev.ix.0.iflib.rxq1.rxq_fl0.credits: 2047
So we learned something "iflib", so at least we know now that the new iflib version is used
lets have a look for the other interfaces:
-
dev.em.0.%desc: Intel(R) PRO/1000 Network Connection
dev.em.0.iflib.rxq0.rxq_fl0.credits: 1023 -
dev.igb.0.%desc: Intel(R) PRO/1000 PCI-Express Network Driver
dev.igb.1.iflib.rxq1.rxq_fl0.credits: 1023
So all network interfaces 1 x em, 2 x igb and 2 x ix do use the new iflib library.
(perhaps that is causing the problem ???? )Lots if other parameters given, to much for now
Louis
- sysctl dev.ix:
-
@louis2 said in Any one know which Intel ix driver for x520 card is in the actual kernel?:
it is so old that it just forgot its version number
or drank a lot at a party and is now a hangover...