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

    Intel X553 NICs (on C3758 SoC) not detected by pfSense 2.4/2.4.1

    Scheduled Pinned Locked Moved Hardware
    42 Posts 16 Posters 15.4k 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.
    • E
      EditioN
      last edited by

      Ok, so I finally got it to work but still need to find some better way to do it, limited freebsd knowledge over here.

      I installed freebsd 11.1 RELEASE, same as pfsense 2.4.1, which doesn't have the updated driver (STABLE already includes it).
      Downloaded the 10Gb freebsd driver from intel website:
      https://downloadcenter.intel.com/download/14688/Intel-Network-Adapters-Driver-for-PCIe-10-Gigabit-Network-Connections-Under-FreeBSD-

      Compiled the driver and saved to an usb stick.

      Then installed pfsense 2.4.1, copied the driver to /boot/modules/ but got an error trying to load it

      module_register: cannot register pci/ix from if_ix_updated.ko; already loaded from if_ix.ko
      

      Then I ran

      kldunload /boot/kernel/if_ix.ko
      

      Followed by the load command again

      kldload -v /boot/modules/if_ix_updated.ko
      

      I know this is far from ideal but how can I make this work in boot?

      Do I need to compile a new kernel with the driver built in or is there a way to "tell" the kernel to load this module instead?
      I guess replacing it in /boot/kernel/ folder is not a good idea?

      Thanks.

      1 Reply Last reply Reply Quote 0
      • ?
        Guest
        last edited by

        I know this is far from ideal but how can I make this work in boot?

        Try out to run a script that is unloading and loading this for you after booting.

        Do I need to compile a new kernel with the driver built in or is there a way to "tell" the kernel to load this module instead?

        This would be not so easy as you could think about.
        /boot/modules is the right position here.

        At least only to be sure, now the NIC is running fine and able to use for you?
        A small thread about that and worth the time to read it too

        1 Reply Last reply Reply Quote 0
        • M
          Mullet Scandinavia AB
          last edited by

          Turn off VT-d support in the A2SDI BIOS and pfSense will find all  the NIC:s

          Supermicro reseller in Sweden
          FreeBSD user since 2.1.5

          1 Reply Last reply Reply Quote 0
          • E
            EditioN
            last edited by

            Well, that would be interesting but not working here…
            Can you be more specific regarding the options to disable?

            1 Reply Last reply Reply Quote 0
            • ?
              Guest
              last edited by

              Can you be more specific regarding the options to disable?

              @Mullet Scandinavia AB said:

              Turn off VT-d support in the A2SDI BIOS and pfSense will find all  the NIC:s

              1 Reply Last reply Reply Quote 0
              • E
                EditioN
                last edited by

                wow, thanks…
                But of course I did that already and even reinstalled pfsense.
                NICs are not there, the only way I can make it work is with the newer driver...

                1 Reply Last reply Reply Quote 0
                • M
                  Mullet Scandinavia AB
                  last edited by

                  This is weird. I had it up an running this morning with VT-d off but now it don't work again!

                  And there are so few tools in the pfsense image so it's hard to debug no lspci and no network to fetch it either…

                  Have tried new beta BIOS und updated LAN EEPROM but still not working. Strange that it works sometimes.

                  Supermicro reseller in Sweden
                  FreeBSD user since 2.1.5

                  1 Reply Last reply Reply Quote 0
                  • M
                    MarvinFS
                    last edited by

                    Guys any news on X553 driver?
                    It's still not working on 2.4.2_1 and it'a January already.
                    I've bought 6 pcs SYS-E200-9A with A2SDi-4C-HLN4F boards.
                    It's perfect all in all even Windows 2016 server works perfectly there, but not pfsense.
                    Any updates of manually putting FreeBSD drivers in there?
                    disabling virtualization or VT-d in BIOS does nothing for pfsense and NIC detection.

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

                      The drivers were not in 11.1 release which is what we build on so until they are included in our base we may not get them.

                      You can build the kernel module yourself as explained by EditioN above. To load it at boot time just create the file /boot/loader.conf.local and then put in that file:

                      if_ix_load="YES"
                      

                      Steve

                      1 Reply Last reply Reply Quote 0
                      • M
                        MarvinFS
                        last edited by

                        Thanks for the answer ,

                        Will it survive the updates then? I mean how frequent PFsense updates modules in /boot? or it's more like image updates for the whole partition?
                        So for now we may use that solution, but if will need to put it manually to /boot on every update i'm not sure it's usable as those will be in remote offices with hardly proper IT personnel avail.

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

                          The imported kernel module will be specific to that version. It probably won't work in 11.2 for example. We won't have tested anything against it so there's no guarantees that any pfSense update won't break it.

                          Really you should wait for support to be included in the release. Certainly before deploying it in any critical application in my opinion.

                          Steve

                          1 Reply Last reply Reply Quote 0
                          • M
                            MarvinFS
                            last edited by

                            Managed to get it working somehow.
                            Anyhow, we have bought those appliances already for all the offices, sadly before checking if it's supported yet! :)
                            I failed to find a proper way to disable existing module, so i just rename it and load a module manually compiled from Intel sources.
                            After that don't forget to fix permissions chmod 555 /boot/kernel/if_ix.ko and u'r good to go. (reboot)

                            So yeah, it works just fine after that, but don't survive upgrades as far as i understand pfsense updates kernel also, along with modules apparently.

                            Instructions:

                            on 1st boot after install press any key on PFsense logo

                            boot in Single User mode
                            press enter for /bin/sh shell

                            #connect your USB stick (Fat32 formatted) with driver
                            #check what's it's name
                            ls /dev/da*
                            #mount usb
                            mount_msdosfs /dev/da0s1 /media
                            #unload existing if_ix module - check it's ID if necessary /sbin/kldstat )
                            /sbin/kldunload -i 2
                            #mount root as RW
                            mount -rw /
                            #rename existing if_ix.ko module
                            mv /boot/kernel/if_ix.ko /boot/kernel/if_ix.ko.blacklisted
                            #copy new module from USB
                            cp /media/if_ix.ko /boot/modules/
                            #fix permissions
                            chmod 555 /boot/modules/if_ix.ko
                            #make loader.conf.local
                            echo 'if_ix_load="YES"' >> /boot/loader.conf.local
                            #enjoy
                            reboot

                            In case somebody needs it - here's yandex.cloud direct link (compiled for FreeBSD 11.1 release) https://yadi.sk/d/F92wgHSy3RNDS9

                            1 Reply Last reply Reply Quote 0
                            • D
                              daddygrant
                              last edited by

                              You sir, have saved my bacon.  Your instructions and file has worked perfectly for me.

                              Cheers.

                              @MarvinFS:

                              Managed to get it working somehow.
                              Anyhow, we have bought those appliances already for all the offices, sadly before checking if it's supported yet! :)
                              I failed to find a proper way to disable existing module, so i just rename it and load a module manually compiled from Intel sources.
                              After that don't forget to fix permissions chmod 555 /boot/kernel/if_ix.ko and u'r good to go. (reboot)

                              So yeah, it works just fine after that, but don't survive upgrades as far as i understand pfsense updates kernel also, along with modules apparently.

                              Instructions:

                              on 1st boot after install press any key on PFsense logo

                              boot in Single User mode
                              press enter for /bin/sh shell

                              #connect your USB stick (Fat32 formatted) with driver
                              #check what's it's name
                              ls /dev/da*
                              #mount usb
                              mount_msdosfs /dev/da0s1 /media
                              #unload existing if_ix module - check it's ID if necessary /sbin/kldstat )
                              /sbin/kldunload -i 2
                              #mount root as RW
                              mount -rw /
                              #rename existing if_ix.ko module
                              mv /boot/kernel/if_ix.ko /boot/kernel/if_ix.ko.blacklisted
                              #copy new module from USB
                              cp /media/if_ix.ko /boot/modules/
                              #fix permissions
                              chmod 555 /boot/modules/if_ix.ko
                              #make loader.conf.local
                              echo 'if_ix_load="YES"' >> /boot/loader.conf.local
                              #enjoy
                              reboot

                              In case somebody needs it - here's yandex.cloud direct link (compiled for FreeBSD 11.1 release) https://yadi.sk/d/F92wgHSy3RNDS9

                              1 Reply Last reply Reply Quote 0
                              • M
                                MarvinFS
                                last edited by

                                @daddygrant:

                                You sir, have saved my bacon.  Your instructions and file has worked perfectly for me.

                                Cheers.

                                Glad it worked and happy to help! Guess we'd wait for official support now and upgrade afterwards…

                                1 Reply Last reply Reply Quote 0
                                • A
                                  andrewjoy
                                  last edited by

                                  @MarvinFS:

                                  Managed to get it working somehow.
                                  Anyhow, we have bought those appliances already for all the offices, sadly before checking if it's supported yet! :)
                                  I failed to find a proper way to disable existing module, so i just rename it and load a module manually compiled from Intel sources.
                                  After that don't forget to fix permissions chmod 555 /boot/kernel/if_ix.ko and u'r good to go. (reboot)

                                  So yeah, it works just fine after that, but don't survive upgrades as far as i understand pfsense updates kernel also, along with modules apparently.

                                  Instructions:

                                  on 1st boot after install press any key on PFsense logo

                                  boot in Single User mode
                                  press enter for /bin/sh shell

                                  #connect your USB stick (Fat32 formatted) with driver
                                  #check what's it's name
                                  ls /dev/da*
                                  #mount usb
                                  mount_msdosfs /dev/da0s1 /media
                                  #unload existing if_ix module - check it's ID if necessary /sbin/kldstat )
                                  /sbin/kldunload -i 2
                                  #mount root as RW
                                  mount -rw /
                                  #rename existing if_ix.ko module
                                  mv /boot/kernel/if_ix.ko /boot/kernel/if_ix.ko.blacklisted
                                  #copy new module from USB
                                  cp /media/if_ix.ko /boot/modules/
                                  #fix permissions
                                  chmod 555 /boot/modules/if_ix.ko
                                  #make loader.conf.local
                                  echo 'if_ix_load="YES"' >> /boot/loader.conf.local
                                  #enjoy
                                  reboot

                                  In case somebody needs it - here's yandex.cloud direct link (compiled for FreeBSD 11.1 release) https://yadi.sk/d/F92wgHSy3RNDS9

                                  This is  very clear thanks !!!

                                  Do we know when this is going to be in the live and stable builds ? Its working for now but don't want to put it into production until its part of the default kernel.

                                  Hopefully its soon before the power supply in the old Dell R300 changes its mind about not being on fire :)

                                  1 Reply Last reply Reply Quote 0
                                  • O
                                    Ofloo
                                    last edited by

                                    @stephenw10:

                                    The drivers were not in 11.1 release which is what we build on so until they are included in our base we may not get them.

                                    You can build the kernel module yourself as explained by EditioN above. To load it at boot time just create the file /boot/loader.conf.local and then put in that file:

                                    if_ix_load="YES"
                                    

                                    Steve

                                    or just i beleve it was ```
                                    if_ix_updated_load=yes

                                    1 Reply Last reply Reply Quote 0
                                    • E
                                      EditioN
                                      last edited by

                                      Hey guys,

                                      The new XG-7100 model includes the Atom C3000.
                                      I guess this is a good sign that the drivers will be built in soon?

                                      I must say that I have no issues so far with the driver I compiled but official support would be quite good to have.

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        BenDroid
                                        last edited by

                                        @MarvinFS:

                                        Managed to get it working somehow.
                                        Anyhow, we have bought those appliances already for all the offices, sadly before checking if it's supported yet! :)
                                        I failed to find a proper way to disable existing module, so i just rename it and load a module manually compiled from Intel sources.
                                        After that don't forget to fix permissions chmod 555 /boot/kernel/if_ix.ko and u'r good to go. (reboot)

                                        So yeah, it works just fine after that, but don't survive upgrades as far as i understand pfsense updates kernel also, along with modules apparently.

                                        Instructions:

                                        on 1st boot after install press any key on PFsense logo

                                        boot in Single User mode
                                        press enter for /bin/sh shell

                                        #connect your USB stick (Fat32 formatted) with driver
                                        #check what's it's name
                                        ls /dev/da*
                                        #mount usb
                                        mount_msdosfs /dev/da0s1 /media
                                        #unload existing if_ix module - check it's ID if necessary /sbin/kldstat )
                                        /sbin/kldunload -i 2
                                        #mount root as RW
                                        mount -rw /
                                        #rename existing if_ix.ko module
                                        mv /boot/kernel/if_ix.ko /boot/kernel/if_ix.ko.blacklisted
                                        #copy new module from USB
                                        cp /media/if_ix.ko /boot/modules/
                                        #fix permissions
                                        chmod 555 /boot/modules/if_ix.ko
                                        #make loader.conf.local
                                        echo 'if_ix_load="YES"' >> /boot/loader.conf.local
                                        #enjoy
                                        reboot

                                        In case somebody needs it - here's yandex.cloud direct link (compiled for FreeBSD 11.1 release) https://yadi.sk/d/F92wgHSy3RNDS9

                                        Hello Everybody

                                        I would like to chime in and report aswell. I have e SuperMicro SuperServer E200-9A with the new C3558 in it. It also has four X553 NICs which I cannot get running under pfSense. I tried your instructions but they didn't work. Seems like I need to give myself permission somewhere (see attached picture). I set the system up with ZFS but I tried it with UFS and it didn't work aswell. Maybe I'm just missing something?

                                        Can anybody give me a tip here? Any help would be appreciated.

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

                                          You don't need unload ix as it's not running as a module.

                                          It failed to remount / as read-write because it doesn't recognise the file system, you will need to specify it. Though ufs should have worked there. Try:

                                          mount -rw -t zfs /
                                          

                                          It would still be better to wait for a pfSense build based on a FreeBSD version that includes the driver though.

                                          Steve

                                          1 Reply Last reply Reply Quote 0
                                          • B
                                            BenDroid
                                            last edited by

                                            @stephenw10:

                                            You don't need unload ix as it's not running as a module.

                                            It failed to remount / as read-write because it doesn't recognise the file system, you will need to specify it. Though ufs should have worked there. Try:

                                            mount -rw -t zfs /
                                            

                                            Thank you very much for the quick response. Although the command you provided didn't work either. I tried for fat32 and zfs… (see picture)
                                            Just to clarify: The OS drive on which pfSense is installed is ZFS. The USB-Stick with the if_ix.ko file on it is fat32, like in the instructions.

                                            @stephenw10:

                                            It would still be better to wait for a pfSense build based on a FreeBSD version that includes the driver though.

                                            I hope they are working on this. Although in the bugtracker there is no sign of it. :-\

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