How do you add a driver to a pfSense install?
-
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?
-
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.
-
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
-
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 ?
-
@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
-
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
-
@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?
-
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
-
@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.
-
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#L91So 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
-
@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#L91So 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....
-
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
-
@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.
-
This looks active as of 2 days ago.
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267348#c6
-
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=238324It is supported in Linux: https://github.com/Aquantia/AQtion/blob/master/aq_common.h#L54
-
Reading into this, its not copy/paste :)
I am going to shift this to a thread on FreeBSD, you have been tremendously helpful.
-
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.
-
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.
-