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

    Modify Intel X540-T2 NIC To Work At 2.5GbE ?

    Scheduled Pinned Locked Moved General pfSense Questions
    46 Posts 6 Posters 1.5k 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.
    • w0wW
      w0w @panzerscope
      last edited by w0w

      @panzerscope said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:

      Adtran SDG-8622-20B0

      The more I read about similar issues, the more I’m inclined to think that it’s primarily a compatibility problem between the network card’s PHY and the upstream router. Especially if there’s confirmation that everything works as expected when connected directly to upstream router.
      And is the presence of the Adtran SDG-8622-20B0 really necessary? If there’s an ONT box with 10G Ethernet, can’t it be connected directly to pfSense?

      P 1 Reply Last reply Reply Quote 1
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by

        How are you testing? What does the pfSense per core CPU usage look like whilst you test?

        1 Reply Last reply Reply Quote 1
        • P
          panzerscope @w0w
          last edited by

          @w0w said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:

          @panzerscope said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:

          Adtran SDG-8622-20B0

          The more I read about similar issues, the more I’m inclined to think that it’s primarily a compatibility problem between the network card’s PHY and the upstream router. Especially if there’s confirmation that everything works as expected when connected directly to upstream router.
          And is the presence of the Adtran SDG-8622-20B0 really necessary? If there’s an ONT box with 10G Ethernet, can’t it be connected directly to pfSense?

          Well originally when I was testing, I was unable to get an IP when connecting to the ONT, which lead me to believe the ISP router required as some form of intermediary device. However it turns out that it was the initial speed auto negotiation issues I was having with the X550-T2 NIC, rather than an actual issue getting an IP from connecting to the ONT. Now when I connect Pfsense to the ONT, it gets an IP successfully and runs at native 10G.

          I am now able to get a much more stable 2G Down and I am now achieving the full 2G Up.

          It is now evident that running at 2.5G was either an issue relating to the ISP router that you have eluded to because of PHY reasons, or it is simply down to the NIC drivers not being great of pfsense for 2.5G operation. But for the moment, everything looks to be working fine.

          @stephenw10 said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:

          How are you testing? What does the pfSense per core CPU usage look like whilst you test?

          Between 9-10% CPU usage can be observed when running speedtest. I have an Intel Core i5-8500 (6 Core) which fortunately so far has been more than enough for my needs.

          Thanks everyone for your help! Ironically I could have just kept with the X540-T2 and connected it to the ONT as it would have just operated at 10G, oh well, to be fair the X550-T2 is the better NIC, so I am not worried.

          1 Reply Last reply Reply Quote 2
          • P
            panzerscope
            last edited by panzerscope

            Looks like I spoke to soon.

            While I was receiving full 2Gb Upload, it was only temporary. I am now getting around half that again (still connected direct to ONT), sometimes a little lower. Download however is pretty consistent at 2GB. I started to wonder if it was my ethernet cable, but if it is negotiating at 10G and the download is consistent at 2Gb, there would be no reason I can see on my end for the upload to be gimped.

            Will have to see what the ISP says. It is either them or some other inconsistency somewhere.

            I have also checked the interface statistics and there are no issues reported.

            4e5d48a0-1127-46c2-a22c-3933c203686b-image.png

            Ironically, just did a speed test again now, I am now getting 2G Upload again. I have to assume for now it is the ISP or some other voodoo.

            w0wW 1 Reply Last reply Reply Quote 0
            • stephenw10S
              stephenw10 Netgate Administrator
              last edited by

              Hmm, it does seem like something outside pfSense then. Urgh.

              1 Reply Last reply Reply Quote 1
              • w0wW
                w0w @panzerscope
                last edited by

                @panzerscope
                You can try to swap the ports or play with dev.ix.[port number 0 or 1].fc = 0 tunable or even change the card to X540, but… it looks like some ISP limits. Many of them use the phrase "speeds up to xx Gbps" in the contract, which means that the actual speed can range anywhere from 0 to xx Gbps

                P 1 Reply Last reply Reply Quote 1
                • P
                  panzerscope @w0w
                  last edited by

                  @w0w said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:

                  @panzerscope
                  You can try to swap the ports or play with dev.ix.[port number 0 or 1].fc = 0 tunable or even change the card to X540, but… it looks like some ISP limits. Many of them use the phrase "speeds up to xx Gbps" in the contract, which means that the actual speed can range anywhere from 0 to xx Gbps

                  Thanks. Im leaving everything for now until the ISP come back to me. Oddly, the language used by the ISP is almost contradictory. They state that they guarantee speeds up to the point of their router, but to test at different points of the day to get the best idea of the speeds. In other words they shouldn't used the word "Guarantee" at all as they elude that the speeds can be variable.

                  Historically speaking, their speeds have been rock solid and extremely small variation has been seen. Their upload has always been consistent, until now where it bounces between full advertised speed and half.

                  Will report back once I have more info.

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    panzerscope @panzerscope
                    last edited by

                    Hey guys.

                    While I am waiting on my ISP, I have been doing some research with respects to getting the most out of my X550-T2 NIC.

                    Regarding the options found in System>Advanced>Networking as highlighted in the below image, should any of these be unchecked?

                    7f407068-a75d-408e-9ae2-ae18f949e87d-image.png

                    I also did some other research regarding system tuneable and noted someone with an X550-T2 using the below to enhance performance:

                    net.inet.tcp.tso="0"
                    hw.ix.flow_control="0"
                    hw.ix.num_queues=40
                    hw.ix.enable_aim=1
                    hw.ix.max_interrupt_rate=30000
                    kern.ipc.nmbclusters="1000000"
                    kern.ipc.nmbjumbop="524288"
                    machdep.hyperthreading_intr_allowed=1

                    I am going to give these a test once I have some feedback, however I have bolded the ones I am unsure of as I believe these are CPU/Hardware specific and wondered if I could get some guidance.

                    My CPU is shown below.

                    c1bfc0af-f155-48ed-8e2f-cd71bb252b2d-image.png

                    Could anyone help with some suggested values based on this?

                    Additionally as per the guide HERE I have added the following.

                    f02d40fe-c59d-4c9a-833e-f34a03955005-image.png

                    Happy for other recommendations or any thing I should avoid doing as noted above. While some testing would need to be done, just looking for some "best practice" optimizations concerning my setup.

                    Many thanks,
                    P

                    w0wW 1 Reply Last reply Reply Quote 0
                    • stephenw10S
                      stephenw10 Netgate Administrator
                      last edited by

                      When you definitely don't need hn altq support. Those are only found in hyper-V VMs. But it does nothing having it set when you don't have the NICs.

                      1 Reply Last reply Reply Quote 0
                      • w0wW
                        w0w @panzerscope
                        last edited by w0w

                        @panzerscope said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:

                        hw.ix.flow_control="0"

                        This one is not working anymore, AFAIK
                        Use dev.ix.[port number 0 or 1].fc = 0 tunable instead. You can also untick "disable HCO".

                        1 Reply Last reply Reply Quote 0
                        • P
                          panzerscope
                          last edited by

                          @stephenw10 said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:

                          i226

                          Thanks for the responses guys. I have made the changes as noted in my prior post. I have an Intel i7 8700 (6 Core/12 Threads) which I am going to go ahead and pop in the firewall as this will give me a higher core clock and hyperthreading.

                          One question however regarding these variables:

                          hw.ix.num_queues=6 (Should be set to the number of physical CPU cores you have from what I understand, I set mine to 6 as that is what I have)
                          machdep.hyperthreading_intr_allowed=1 (Enables the use of logical cores, essentially hyperthreading)

                          The above variables would sort of work in tandem together, so I want to make sure I have them set correctly. Should "hw.ix.num_queues" be set to the value of physical cores ONLY (ignoring logical cores) ? and the "machdep.hyperthreading_intr_allowed" when enabled would make use of any available logical cores.

                          On another sidenote, I am sourcing a genuine Intel X550-T2. The one I have now is a Lenovo SKU. I am sure the change will make not make any particular difference, but Intel releases its NVM updates more frequently that the sub vendors.

                          Thanks
                          P

                          w0wW 1 Reply Last reply Reply Quote 0
                          • w0wW
                            w0w @panzerscope
                            last edited by

                            @panzerscope
                            You probably don't need to set those variables. These cards should work at 2 Gbit out of the box. As I already said, try flow control setting.This option might affect something.

                            P 1 Reply Last reply Reply Quote 0
                            • P
                              panzerscope @w0w
                              last edited by

                              @w0w said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:

                              @panzerscope
                              You probably don't need to set those variables. These cards should work at 2 Gbit out of the box. As I already said, try flow control setting.This option might affect something.

                              Possibly, but I would like to experiment with them all the same :). I did implement the flow control variable, unfortunately there was no improvement, but will leave it enabled anyway as it seems sensible to.

                              1 Reply Last reply Reply Quote 1
                              • P
                                panzerscope
                                last edited by panzerscope

                                Hey all.

                                So a little update after installing the Intel X550-T2 and updating to the latest NVM (3.7), replacing the Lenovo SKU of the X550-T2 I originally had installed.

                                I did some further testing for sanity check and to eliminate other devices being the issue.

                                I hooked up my Main PC using a 10Gbe NIC (X540-T2) to Pfsense using a brand new CAT6 SFTP cable to remove my switch as the middleman and maybe a bad cable. No discernible difference upon multiple speed testing. So I can remove the switch as the issue.

                                I wondered if it was the cable going from my ONT to Pfsense causing the issue. Again, used a new CAT6 SFTP cable, again no discernible difference.

                                The only thing I did witness is when swapping out cables, causing a new connection to the ONT, was that when running a speed test immediately afterwards, my upload was at the full 2GB, but would drop off below that after subsequent tests.

                                Sitting here for the moment, it is either Pfsense/X550-T2 or the ONT that is being difficult.

                                Worth noting that I am still forcing 10Gbe link speed with the ONT. Auto negotiation ends up with the WAN going up and down, error in the logs show as "arpresolve: can't allocate llinfo for WAN IP HERE on ix0" This is a Kernel level message.

                                I am now going to disable some of the pfsense services to see if it is that, though I highly doubt it.

                                P w0wW 2 Replies Last reply Reply Quote 0
                                • P
                                  panzerscope @panzerscope
                                  last edited by panzerscope

                                  This post is deleted!
                                  1 Reply Last reply Reply Quote 0
                                  • w0wW
                                    w0w @panzerscope
                                    last edited by

                                    @panzerscope
                                    And what about putting your PC directly, without pfsense and testing speeds again?

                                    P 1 Reply Last reply Reply Quote 0
                                    • P
                                      panzerscope @w0w
                                      last edited by

                                      @w0w

                                      I did that a while ago, should have reiterated that going from PC direct to ISP Router gives the full expected speeds.

                                      w0wW 1 Reply Last reply Reply Quote 1
                                      • w0wW
                                        w0w @panzerscope
                                        last edited by

                                        @panzerscope
                                        Hmm... Ok
                                        Just to make sure it's not some hardware-specific glitch, I'd probably try installing IPFire or OpenWRT for x86 instead of pfSense—if you have enough time for such experiments, of course. The main thing is, don't forget to back up your configuration.

                                        P 1 Reply Last reply Reply Quote 1
                                        • stephenw10S
                                          stephenw10 Netgate Administrator
                                          last edited by

                                          If you set the advertised speeds for auto-neg to only one speed in the sysctls does it still flap?

                                          [25.03-BETA][root@m470-3.stevew.lan]/root: sysctl -d dev.ix.0.advertise_speed
                                          dev.ix.0.advertise_speed: 
                                          Control advertised link speed using these flags:
                                                  0x1 - advertise 100M
                                                  0x2 - advertise 1G
                                                  0x4 - advertise 10G
                                                  0x8 - advertise 10M
                                          
                                                  0x10  - advertise 2.5G
                                                  0x20  - advertise 5G
                                          
                                                  100M and 10M are only supported on certain adapters.
                                          
                                          1 Reply Last reply Reply Quote 1
                                          • P
                                            panzerscope @w0w
                                            last edited by

                                            @w0w said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:

                                            @panzerscope
                                            Hmm... Ok
                                            Just to make sure it's not some hardware-specific glitch, I'd probably try installing IPFire or OpenWRT for x86 instead of pfSense—if you have enough time for such experiments, of course. The main thing is, don't forget to back up your configuration.

                                            I see the logic of doing that, for sure. However I am not willing right now to go that deep with it.

                                            @stephenw10 said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:

                                            If you set the advertised speeds for auto-neg to only one speed in the sysctls does it still flap?

                                            [25.03-BETA][root@m470-3.stevew.lan]/root: sysctl -d dev.ix.0.advertise_speed
                                            dev.ix.0.advertise_speed: 
                                            Control advertised link speed using these flags:
                                                    0x1 - advertise 100M
                                                    0x2 - advertise 1G
                                                    0x4 - advertise 10G
                                                    0x8 - advertise 10M
                                            
                                                    0x10  - advertise 2.5G
                                                    0x20  - advertise 5G
                                            
                                                    100M and 10M are only supported on certain adapters.
                                            

                                            If I set a link speed then it will be fine. Auto-Neg is a no go for me otherwise the WAN will go up and down all over the place. So I set it to 10G.

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