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

    NBASE-T Support for Intel X550

    Hardware
    13
    85
    25.6k
    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
      last edited by w0w

      I have played a bit with NBASE-T on my Intel original X550-T2 card.
      EDIT: This card is not on the latest firmware, but some 1.93 stated. Will re-test this with latest later.
      Port connected to 2.5Gbit switch. When set pfSense autoselect on that port it can SOMETIMES just crash the firewall and on the next boot it stops saying "Configuring interface xxx "
      To boot I need to disconnect the cable.
      When set to default it stops for a minute or two on boot and then comes 1000Base-T and not getting IP via DHCP.
      If I set manually to 2500Base-T everything is working fine.
      Booted to Kali-linux some latest available today.
      There is no more 2.5G speed available and card works only on 10GBase-T, any other link – no IP or no media connected. Same for the latest Ubuntu version.
      According to this Intel forum link to get the 2.5G it is needed to run 18.04 Ubuntu, so I downloaded it and voilà, no need to set up anything, both ports are working on desired speed. 10G and 2.5 are working “out of the box”.

      EDIT2: Similar behavior on the latest 3.6 NVM.
      Well, it looks like we have at least possibility to get this all working, just a broken driver need to be fixed to get everything to work.

      Should it be reported? I don't know…

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

        Crasdumps crash_x550.txt

        Also reading FreeBSD forum provides more information about what is wrong with that card
        For example this answer on Intel forums

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

          One of those look likes this: https://redmine.pfsense.org/issues/14431
          Probably a symptom of the link failure rather than a cause of it.
          Yes, likely a driver update required to get auto-select working.

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

            @stephenw10 said in NBASE-T Support for Intel X550:

            Yes, likely a driver update required to get auto-select working.

            It not just auto-select not working, but I can not get any IP by DHCP on the second, ix0 port, even if it up and running, if I do packet capture I see at least that some packets are moving, but don't see any DHCP offerings. That's strange. Will do further testings soon, may be I've missed something.

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

              When mode is autoselect and speed is 1G, then pcap shows only my PPPoE PADI connection retries and Errors IN constantly grows UP, whatever it means and no packets going in. Does anyone else have the same behavior?

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

                Booted into 2.6, using recovery mode. Got both ports running, one port shows "unknown" speed, but got IP address, so it's like @nater said just don't show the correct NBASE-T speed. Second shows correct speed and also works fine. Should I create redmine ticket or it's already known problem?

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

                  Which part? The fact it won't auto-negotiate? That's an upstream issue but we can open a ticket to track it.

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

                    @stephenw10 said in NBASE-T Support for Intel X550:

                    Which part? The fact it won't auto-negotiate?

                    Yes, it would be nice to solve all issues. I understand perfectly well that this is outside the area of responsibility of Netgate. But… Netgate have more chances to get it fixed in cooperation with maintainers. 🙄

                    BTW… Thanks to another thread and your suggestions…

                    dev.ix.1.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.
                    

                    I found that default dev.ix.1.advertise_speed: 7
                    When I select default mode for the interface and set sysctl dev.ix.1.advertise_speed=16 via system tunables tab and then reboot the firewall than it connects on 2.5G speed.

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

                      Ah, so it could simply be a matter of setting a different set of default advertisement flags?

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

                        @stephenw10
                        Isn't the same as manual selection of desired speed in GUI?
                        BTW if I set 2, then it comes with 1000BaseT link, but no data moving as I've been selected in GUI…

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

                          I don't think so, not in ixgbe. As far as I know those NICs support a real fixed speed if you set it. It's igc that does not and setting a speed only sets a single advertisement speed.

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

                            @stephenw10
                            Ok, but, I've been checked this right now. Gui selection for 2500, sets
                            dev.ix.0.advertise_speed: 16
                            5000:
                            dev.ix.0.advertise_speed: 32
                            1000:
                            dev.ix.0.advertise_speed: 3
                            autoselect:
                            dev.ix.0.advertise_speed: 7
                            10G:
                            dev.ix.1.advertise_speed: 7

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

                              Right, those are all multiple advertised values rather than a single available value which is what igc does.

                              It appears it needs to include the 2.5 and/or 5G bits when set to autoselect and is not.

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

                                @stephenw10
                                I think it is commit

                                Source

                                Setting 63 as value is not possible, because in fact it reports that card is not supporting 10M, but if I set 37 and select "default" it sets media to the 100M and at least it is working, getting an IP address also!
                                If i select 100M in GUI then it sets the sysctl value to 1, but no IP then. If I change sysctl value to 37 it gets the IP.
                                36, 32 causes no link on the port, but it is accepted by sysctl.
                                Setting it to 2 in sysctl the link is active but no IP then. Looks like there are some values are hardly encoded in the other part of code and maybe not on the pf side. I will try the Ubuntu again to see if I can change the port speed to different values.

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

                                  It looks like Ubuntu have similar problems and even worse.
                                  Link negotiation "Ignore" — this mode just means that some other manager or driver itself somehow auto-selecting the link speed, that puts the maximum speed for the link, like 2.5Gbps and 10Gbps.
                                  Selecting 'auto' means 1Gbps in Ubuntu, at least on my cards.
                                  Manual selecting is some kind of lottery that depends on a switch, for example if I select 1Gbps speed on 10G capable switch, it stays on 10Gbps, just ignoring the setting.
                                  On other switch that is capable for 2.5Gbps and fully compliant with NBASE-T, I select 1Gbps, and it changes the link speed, but then no IP received from DHCP, like it happening on the pfSense side.

                                  I have found one x550 user report that in the Windows you need manualy select the link speed for X550 when the other side is 226 intel card.

                                  I hope those findings will help someone to make things a bit better.

                                  At least it would be good to use dev.ix.1.advertise_speed: 37 as default value, so you will have a working connection, but this need to be tested.

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

                                    Yes it would need to be extensively tested. Because it looks like that was deliberately not set as a default in order to prevent negotiation issues with some other hardware. So if we set that as a default it could break links for anyone with that hardware.

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

                                      @stephenw10
                                      Yes, sure…
                                      The fastest way is just to add the explanation to the Netgate pfSense documentation?
                                      I think it can be helpful when installing on the hardware when the ix550 is on the LAN side and connected to some 2.5/5Gbps switch that have no link, because of this setting missing or non-compatible by default.

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

                                        I agree, let me see what I can do here....

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

                                          https://redmine.pfsense.org/issues/14647

                                          I D 2 Replies Last reply Reply Quote 1
                                          • I
                                            indigo88 @stephenw10
                                            last edited by indigo88

                                            @stephenw10 I can confirm that setting

                                            sysctl dev.ix.X.advertise_speed=N
                                            

                                            Where X is the interface number (e.g. for ix0, X=0 in the command above) and N is the sum of the advertised speeds, works.

                                            In hex and decimal:

                                            Control advertised link speed using these flags:
                                                0x1 - 1 - advertise 100M
                                                0x2 - 2 - advertise 1G
                                                0x4 - 4 - advertise 10G
                                                0x8 - 8 - advertise 10M
                                            
                                                0x10 - 16 - advertise 2.5G
                                                0x20 - 32 - advertise 5G
                                            
                                                100M and 10M are only supported on certain adapters.
                                            

                                            My default value was 7, (in decimal, so it was 1+2+4, 100M/1G/10G) so to add advertisement of 2.5G and 5G on ix0, I ran:

                                            sysctl dev.ix.0.advertise_speed=55
                                            

                                            Since 7 + 16 + 32 = 55.

                                            Now I see:
                                            87c7110a-a7f4-4a64-8e31-2a5d705f7d81-image.png

                                            I also had to add dev.ix.0.advertise_speed as a system tunable, with value 55, to make it persist between reboots

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