Navigation

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

    How do you add a driver to a pfSense install?

    Hardware
    2
    18
    155
    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.
    • F
      F4 0 last edited by

      I have a NIC that has recent support, but is not in the current 2.6 release.

      The card in question is this one, the driver is here.

      https://github.com/Aquantia/aqtion-freebsd

      Here is where I get lost. How do I get this driver over to my pfSense installation so that it gets recognized?

      I am COMPLETELY new to this, so stuff like "do a tx and then sr the bc file to gre -r" is a sink hole for me.

      I've repurposed a Dell desktop as a router, the NIC is in a PCIe slot. The local install of pfSense is on a 128Gb attached ssd.

      Reading around on how to do this is sending me in too many directions. What is a foolproof and straightforward way to get a driver from that git recognized by the system?

      F 1 Reply Last reply Reply Quote 0
      • F
        F4 0 @F4 0 last edited by

        @f4-0

        https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238324

        This also mentions the driver.

        I have no idea which files to bring over, or how to do it. If anyone can explain this, its quite hard to understand if you are not fluent in it.

        1 Reply Last reply Reply Quote 0
        • F
          F4 0 last edited by F4 0

          I have been digging further into the issue I am having, this thread details out a similar problem with the same chipset.

          https://forum.netgate.com/topic/155264/can-t-assign-nic-aquantia-corp-aqc107

          More specifically, it mentions the specifc card I am dealing with:

          https://forum.netgate.com/post/1041385

          ASUS XG-C100C

          If I am not mistake, this driver I'm dealing with now in the state that the person in the thread there was in. If I were to follow similar steps, should that get this driver recognized also?

          The XG-C100C is doing something similar to this:

          none5@pci0:1:0:0:       class=0x020000 card=0x88121043 chip=0x94c01d6a rev=0x03 hdr=0x00
              vendor     = 'Aquantia Corp.'
              class      = network
              subclass   = ethernet
              bar   [10] = type Memory, range 64, base 0xa1400000, size 524288, enabled
              bar   [18] = type Memory, range 64, base 0xa14a0000, size 4096, enabled
              bar   [20] = type Memory, range 64, base 0xa1000000, size 4194304, enabled
          
          1 Reply Last reply Reply Quote 0
          • F
            F4 0 last edited by F4 0

            I'm not sure I am using the correct terminology for this

            Here are the links, they were not active in the last post.

            [https://forum.netgate.com/topic/155264/can-t-assign-nic-aquantia-corp-aqc107](link url)

            [https://forum.netgate.com/post/1041385](link url)

            I cannot post in that other thread, but:

            @stephenw10 said in aquantia aqc107 can't recognised on pfsense2.5:

            Do this:

            [2.6.0-RELEASE][admin@cedev-6.stevew.lan]/root: pkg add http://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/aquantia-atlantic-kmod-0.0.5_1.pkg
            Fetching aquantia-atlantic-kmod-0.0.5_1.pkg: 100%   22 KiB  22.7kB/s    00:01    
            Installing aquantia-atlantic-kmod-0.0.5_1...
            Extracting aquantia-atlantic-kmod-0.0.5_1: 100%
            [2.6.0-RELEASE][admin@cedev-6.stevew.lan]/root: kldload if_atlantic.ko
            [2.6.0-RELEASE][admin@cedev-6.stevew.lan]/root: kldstat
            Id Refs Address                Size Name
             1   26 0xffffffff80200000  3aed878 kernel
             2    1 0xffffffff83f19000     1000 cpuctl.ko
             3    1 0xffffffff83f1a000     2698 intpm.ko
             4    1 0xffffffff83f1d000      b40 smbus.ko
             5    1 0xffffffff83f1e000    11aa8 dummynet.ko
             6    1 0xffffffff83f30000    344f8 if_wg.ko
             7    1 0xffffffff83f65000     9fa0 if_atlantic.ko
            

            Then see if the interface appears and is usable.

            If it is do:

            [2.6.0-RELEASE][admin@cedev-6.stevew.lan]/root: echo 'if_atlantic_load="YES"' >> /boot/loader.conf.local
            

            That will load the module at boot every time.

            Steve

            I checked my machine with uname -a, it shows freeBSD 14 is installed.

            Shouldn't this driver be showing up ?

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

              @f4-0 said in How do you add a driver to a pfSense install?:

              I checked my machine with uname -a, it shows freeBSD 14 is installed.

              Then it isn't running 2.6. What pfSense version are you running?

              The aquantia driver or kmod pkg is not included in any pfSense version yet though.

              You would need to load it from FreeBSD. Though it looks like there are no port builds for FreeBSD 14 yet.

              Steve

              F 2 Replies Last reply Reply Quote 1
              • F
                F4 0 @stephenw10 last edited by

                @stephenw10

                I am running the latest dev branch 2.7.* hoping it might snag the driver, but it did not.

                Would you kindly help me "load it from FreeBSD" ? This is where being new to this, I quickly get stuck.

                Many thanks

                1 Reply Last reply Reply Quote 0
                • F
                  F4 0 @stephenw10 last edited by F4 0

                  @stephenw10 said in How do you add a driver to a pfSense install?:

                  @f4-0 said in How do you add a driver to a pfSense install?:

                  I checked my machine with uname -a, it shows freeBSD 14 is installed.

                  Then it isn't running 2.6. What pfSense version are you running?

                  The aquantia driver or kmod pkg is not included in any pfSense version yet though.

                  You would need to load it from FreeBSD. Though it looks like there are no port builds for FreeBSD 14 yet.

                  Steve

                  [https://github.com/Aquantia/aqtion-freebsd](link url)

                  People on the net are pointing me here, is this viable?

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

                    You can attempt to compile it yourself from the source, yes. However installing from the kmod port is much easier if it exists. Also the fact there is no port for FreeBSD 14 yet may mean there are issues compiling it currently.
                    If you just want to get that running I would reinstall 2.6 and install the kmod pkg.

                    Steve

                    F 1 Reply Last reply Reply Quote 0
                    • F
                      F4 0 @stephenw10 last edited by F4 0

                      @stephenw10 said in How do you add a driver to a pfSense install?:

                      You can attempt to compile it yourself from the source, yes. However installing from the kmod port is much easier if it exists. Also the fact there is no port for FreeBSD 14 yet may mean there are issues compiling it currently.
                      If you just want to get that running I would reinstall 2.6 and install the kmod pkg.

                      Steve

                      Would that be the :12: package noted above? I did this before posting here and it did not recognize the driver. It still shows as "none" in pciconf.

                      I am going to redo it in case something was off.

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

                        Yes, the kmod pkg for FreeBSD12.

                        That chip ID (0x94c0) is not listed in the driver though:
                        https://github.com/Aquantia/aqtion-freebsd/blob/master/aq_main.c#L91

                        So I would not expect it to work.

                        ...which is actually what I said in the other thread so nothing looks to have changed since then.

                        Steve

                        1 Reply Last reply Reply Quote 1
                        • F
                          F4 0 last edited by

                          @stephenw10 said in How do you add a driver to a pfSense install?:

                          Yes, the kmod pkg for FreeBSD12.

                          That chip ID (0x94c0) is not listed in the driver though:
                          https://github.com/Aquantia/aqtion-freebsd/blob/master/aq_main.c#L91

                          So I would not expect it to work.

                          ...which is actually what I said in the other thread so nothing looks to have changed since then.

                          Steve

                          My card is the ASUS XG-C100C.

                          When I do a pciconf -lvb, I don't see the chip mentioned.

                          It shows AQC113CS

                          I did some more digging and found a pathway via the Linux download.

                          https://www.asus.com/networking-iot-servers/wired-networking/all-series/xg-c100c/helpdesk_download/?model2Name=XG-C100C

                          I have attached the readme file which specifies how to build the driver. Is it reasonable for me to try this?

                          To not trash the post, the read me snippet will be in the next post....

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

                            No, not unless it includes a FreeBSD driver. Which I very much doubt it does.

                            About the only thing you could try would be to add the device ID to the FreeBSD driver and try to compile it yourself with that. You'd have to hope that chip is sufficiently similar to one of the other supported chips that it can be used.
                            Otherwise it will require development work to the driver. There may be some discussion of that over in the FreeBSD forums. And if I was doing this I would first try to make it work in a standard FreeBSD install.

                            Steve

                            F 1 Reply Last reply Reply Quote 1
                            • F
                              F4 0 @stephenw10 last edited by

                              @stephenw10 said in How do you add a driver to a pfSense install?:

                              No, not unless it includes a FreeBSD driver. Which I very much doubt it does.

                              About the only thing you could try would be to add the device ID to the FreeBSD driver and try to compile it yourself with that. You'd have to hope that chip is sufficiently similar to one of the other supported chips that it can be used.
                              Otherwise it will require development work to the driver. There may be some discussion of that over in the FreeBSD forums. And if I was doing this I would first try to make it work in a standard FreeBSD install.

                              Steve

                              https://forums.freebsd.org/threads/is-there-going-to-be-support-for-the-asus-xg-c100c-baked-into-a-release-anytime-soon.76401/

                              It looks like someone has done it on freeBSD, and there is a link to this page:

                              https://www.freshports.org/net/aquantia-atlantic-kmod

                              I wish I knew more, but is this what is needed?

                              I am happy to try anything here, I am dead in the water unless I get this card to work so tell me what to do. I can blast this install anytime and start over. I just want to make an effort at getting this up and running.

                              F 1 Reply Last reply Reply Quote 0
                              • F
                                F4 0 @F4 0 last edited by

                                @f4-0

                                This looks active as of 2 days ago.

                                https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267348#c6

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

                                  Yup. But it looks like Asus changed the chipset on the NIC and helpfully didn't bother updating the model number. The card that thread referenced was an AQC107:
                                  https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238324

                                  It is supported in Linux: https://github.com/Aquantia/AQtion/blob/master/aq_common.h#L54

                                  F 2 Replies Last reply Reply Quote 0
                                  • F
                                    F4 0 @stephenw10 last edited by

                                    @stephenw10

                                    Reading into this, its not copy/paste :)

                                    I am going to shift this to a thread on FreeBSD, you have been tremendously helpful.

                                    1 Reply Last reply Reply Quote 0
                                    • F
                                      F4 0 @stephenw10 last edited by F4 0

                                      @stephenw10

                                      I tested the Ubuntu install via thumb drive, it works without an issue, and the NIC connects at 5G as expected.

                                      Indeed, linux works.

                                      I think I have a temporary solution, I am going to use KVM and virtualize the instance of pfSense. This should use the native Linux drivers, and give me the pfSense router.

                                      I'm running the install now and will report back if it works. I'm sure this is not ideal, but as a stop gap until the card is supported, I can live with it.

                                      F 1 Reply Last reply Reply Quote 1
                                      • F
                                        F4 0 @F4 0 last edited by

                                        @f4-0
                                        @stephenw10

                                        A lot of interesting progress, I am going to start a new thread since I am facing a new set of issues, but in general the Ubuntu base install + KVM + pfSense works (partly so far).

                                        I learned a lot about KVM... great piece of kit for Linux, running natively that way.

                                        1 Reply Last reply Reply Quote 1
                                        • First post
                                          Last post