Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Any one know which Intel ix driver for x520 card is in the actual kernel?

    Scheduled Pinned Locked Moved 2.5 Development Snapshots (Retired)
    13 Posts 3 Posters 3.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      louis2
      last edited by

      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

      DaddyGoD 1 Reply Last reply Reply Quote 0
      • DaddyGoD
        DaddyGo @louis2
        last edited by DaddyGo

        @louis2

        for example, use this:

        dmesg | grep ixgbe

        and look for this:

        a55e2b23-aa3c-46cb-8234-ef9218550663-image.png

        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

        Cats bury it so they can't see it!
        (You know what I mean if you have a cat)

        1 Reply Last reply Reply Quote 0
        • L
          louis2
          last edited by

          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 UP

          So 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 UP

          No 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

          1 Reply Last reply Reply Quote 0
          • bmeeksB
            bmeeks
            last edited by

            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.

            1 Reply Last reply Reply Quote 1
            • L
              louis2
              last edited by

              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

              DaddyGoD bmeeksB 2 Replies Last reply Reply Quote 0
              • DaddyGoD
                DaddyGo @louis2
                last edited by

                @louis2

                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 now

                but I wonโ€™t spoil your hunting and reading opportunity...

                Cats bury it so they can't see it!
                (You know what I mean if you have a cat)

                1 Reply Last reply Reply Quote 0
                • bmeeksB
                  bmeeks @louis2
                  last edited by bmeeks

                  @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.

                  1 Reply Last reply Reply Quote 1
                  • L
                    louis2
                    last edited by

                    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 fault

                    Louis

                    DaddyGoD 1 Reply Last reply Reply Quote 0
                    • DaddyGoD
                      DaddyGo @louis2
                      last edited by

                      @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

                      Cats bury it so they can't see it!
                      (You know what I mean if you have a cat)

                      1 Reply Last reply Reply Quote 0
                      • L
                        louis2
                        last edited by

                        @DaddyGo

                        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

                        DaddyGoD 1 Reply Last reply Reply Quote 0
                        • DaddyGoD
                          DaddyGo @louis2
                          last edited by

                          @louis2

                          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

                          43472d77-c36b-40f1-b916-e2e2aa4cb247-image.png

                          Cats bury it so they can't see it!
                          (You know what I mean if you have a cat)

                          1 Reply Last reply Reply Quote 0
                          • L
                            louis2
                            last edited by louis2

                            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

                            DaddyGoD 1 Reply Last reply Reply Quote 0
                            • DaddyGoD
                              DaddyGo @louis2
                              last edited by

                              @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... ๐Ÿ˜€

                              Cats bury it so they can't see it!
                              (You know what I mean if you have a cat)

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.