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

    NBASE-T Support for Intel X550

    Scheduled Pinned Locked Moved Hardware
    85 Posts 13 Posters 25.9k 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.
    • 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
                                        • w0wW
                                          w0w @indigo88
                                          last edited by

                                          @indigo88
                                          Thank you.

                                          I can confirm that setting 55 works fine on my cards also. Actually it's 1+2+4+16+32
                                          8 (10M) not supported AFAIK on those cards.

                                          I 1 Reply Last reply Reply Quote 1
                                          • I
                                            indigo88 @w0w
                                            last edited by

                                            @w0w Right, the default of 7 is the result of 1 + 2 + 4 (100M/1G/10G)

                                            It’s nice that we have the option, even if it’s a bit esoteric. Also nice that the GUI displays the link speed properly once it’s enabled

                                            1 Reply Last reply Reply Quote 0
                                            • w0wW w0w referenced this topic on
                                            • stephenw10S stephenw10 referenced this topic on
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.