Can't assign NIC [Aquantia Corp. AQC107]
-
Seems like the driver can't get compiled against FreeBSD 11.3
FreeBSD 12.1 is working fine, but I'm not able to upload files to the forum anymore. Should work with pfSense 2.5.x at least.-Rico
-
Here you go: https://fil.email/i9PmzTNH
Should work for 2.5.0 and could work for 2.4.5 (don't think so).Disclaimer:
Use at your own risk, take a backup first. I'd not put that in business production, should be fine for home use or playing around in a lab environment.-Rico
-
How the Installation should work (dry run / not tested, I don't own this NIC):
Unzip the file and place if_atlantic.ko into the /boot/kernel/ folder.
Change permissions via console or SSH:chmod 555 /boot/kernel/if_atlantic.ko
Edit /boot/loader.conf.local and add to the end of the file:if_atlantic_load="YES"
Reboot pfSense and see what happens. ;-)-Rico
-
Just to test it you can also run at the CLI:
kldload if_atlantic.ko
That way if is fails and causes a panic it will still reboot again without loading it.
Steve
-
Thanks for this hint Steve.
-Rico
-
Guess how I'm aware of that trap and what a PITA it is escaping it.
-
@Rico said in Can't assign NIC [Aquantia Corp. AQC107]:
Here you go: https://fil.email/i9PmzTNH
Should work for 2.5.0 and could work for 2.4.5 (don't think so).Disclaimer:
Use at your own risk, take a backup first. I'd not put that in business production, should be fine for home use or playing around in a lab environment.-Rico
@stephenw10 said in Can't assign NIC [Aquantia Corp. AQC107]:
Just to test it you can also run at the CLI:
kldload if_atlantic.ko
That way if is fails and causes a panic it will still reboot again without loading it.
Steve
Works like a charm and only took a few seconds....
Thanks guys!Going to spend a few days testing before I make the change permanent.
-
Glad you have it working.
Did you also try with 2.4.5-p1 ?-Rico
-
@stephenw10
As THE hardware expert, any idea why make goes downhill in 11.3? ;-)root@freebsd11:~/freebsd-drv-v0.0.2 # make machine -> /usr/src/sys/amd64/include x86 -> /usr/src/sys/x86/include awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -h awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/net/ifdi_if.m -h :> opt_rss.h Warning: Object directory not changed from original /root/freebsd-drv-v0.0.2 cc -O2 -pipe -DIFLIB -ferror-limit=1 -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I/usr/include -I. -I/usr/src/sys -fno-common -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -MD -MF.depend.aq_main.o -MTaq_main.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift-negative-value -Wno-error-address-of-packed-member -mno-aes -mno-avx -std=iso9899:1999 -c aq_main.c -o aq_main.o aq_main.c:260:3: error: field designator 'isc_tso_maxsize' does not refer to any field in type 'struct if_shared_ctx'; did you mean 'isc_tx_maxsize'? .isc_tso_maxsize = HW_ATL_B0_TSO_SIZE, ^~~~~~~~~~~~~~~ isc_tx_maxsize /usr/include/net/iflib.h:236:13: note: 'isc_tx_maxsize' declared here bus_size_t isc_tx_maxsize; ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 2 errors generated. *** Error code 1 Stop. make: stopped in /root/freebsd-drv-v0.0.2 root@freebsd11:~/freebsd-drv-v0.0.2 #
Also tried 11.2 with the same Error. 12.1 is just fine.
I don't have any personal use for this driver, but like to understand what's going wrong there and maybe can give some more help for Roy. :-)-Rico
-
Ha, I think you've promoted me.
I would guess it's because that is a driver built on iflib and some part of that is missing. A number of drivers are using that now but only in FreeBSD 12 AFAIK. But that is a guess, my coding skilz are.... not great!
-
I was able to build driver version 0.0.5 for FreeBSD 11.3 (pfSense 2.4.5-p1):
https://fil.email/Y9QJQFqvAnd here is 0.0.5 for FreeBSD 12.1 (pfSense 2.5.0):
https://fil.email/RdjhicBA-Rico
-
@rico said in Can't assign NIC [Aquantia Corp. AQC107]:
I was able to build driver version 0.0.5 for FreeBSD 11.3 (pfSense 2.4.5-p1):
https://fil.email/Y9QJQFqvAnd here is 0.0.5 for FreeBSD 12.1 (pfSense 2.5.0):
https://fil.email/RdjhicBA-Rico
@Rico Could I trouble you to repost these files? They are expired and it would be a great help. Thanks!
-
Yeah sure.
FreeBSD 11.3 (pfSense 2.4.5-p1): if_atlantic0.0.5_freebsd11.3.zip
FreeBSD 12.1 (pfSense 2.5.0): if_atlantic0.0.5_freebsd12.1.zip
They should stay permanent now because I can upload zip files to the Forum again.-Rico
-
@rico Thanks, worked perfectly.
-
@rico URGENT Any chance you could compile for FreeBSD 12.2-STABLE for 2.5.0-RELEASE? The version for 12.1 above crashes it, unsurprisingly...
Thanks in advance!
-
You should compile it yourself or use the kmod port in FreeBSD 12.2.
It's unlikely there is any issue here but downloading and installing random binaries from the forum is really not a great habit to get into.
Steve
-
@stephenw10 Huh, I couldnโt find the kmod port, I should have said. Yes, yes itโs not advisable. ;-)
Unfortunately I donโt have even a 12.2 VM currently available to build on either. VBox issue with MacOS Big Sur, donโt you know? Grrrr...
Thank you for the link. The naming convention seems to be all over the place on this one.
-
@stephenw10
So I temporarily enabled the FreeBSD repo by editing /usr/local/etc/pkg/reposI then:
root# pkg install aquantia-atlantic-kmod Updating FreeBSD repository catalogue... FreeBSD repository is up to date. Updating pfSense-core repository catalogue... pfSense-core repository is up to date. Updating pfSense repository catalogue... pfSense repository is up to date. All repositories are up to date. The following 2 package(s) will be affected (of 0 checked): New packages to be INSTALLED: aquantia-atlantic-kmod: 0.0.5_1 [FreeBSD] Installed packages to be DOWNGRADED: pkg: 1.16.3 -> 1.16.1 [pfSense] Number of packages to be installed: 1 Number of packages to be downgraded: 1 7 MiB to be downloaded. Proceed with this action? [y/N]: y [1/2] Fetching pkg-1.16.1.txz: 100% 7 MiB 952.3kB/s 00:08 [2/2] Fetching aquantia-atlantic-kmod-0.0.5_1.txz: 100% 22 KiB 22.7kB/s 00:01 Checking integrity... done (0 conflicting) [1/2] Downgrading pkg from 1.16.3 to 1.16.1... [1/2] Extracting pkg-1.16.1: 100% [2/2] Installing aquantia-atlantic-kmod-0.0.5_1... [2/2] Extracting aquantia-atlantic-kmod-0.0.5_1: 100% You may need to manually remove /usr/local/etc/pkg.conf if it is no longer needed.
Then I did a:
root# kldload -nv if_atlantic.ko
Which promptly panicked the kernel.
Any ideas?
-
@rico 2.5.0-RELEASE (amd64)
FreeBSD 12.2-STABLE
Doesn't work with 12.2. PFsense can't boot. Only nic remove helps.Command pkg install aquantia-atlantic-kmod helped to work adapter, but dwonload speed is about 2.6 gigabit/s and upload is about 470 Mbit/s via iperf.
Manual setup duplex can't be enabled, it says: The following input errors were detected:
The Router Advertisements Server is active on this interface and it can be used only with a static IPv6 configuration. Please disable the Router Advertisements Server service on this interface first, then change the interface configuration.
But it disabled.
Hardware is enough for 110gbit speed. -
You should never enable the FreeBSD repos if you can help it as you might pull in other pkgs and break stuff. Like it pulled in pkg above from...somewhere.
Just 'pkg add' things directly instead if you need a FreeBSD package.I have no hardware to test but I can load the module just fine:
[2.5.1-RC][admin@25dev.stevew.lan]/root: kldload if_atlantic [2.5.1-RC][admin@25dev.stevew.lan]/root: kldstat Id Refs Address Size Name 1 12 0xffffffff80200000 3aea720 kernel 2 1 0xffffffff83f19000 1000 cpuctl.ko 3 1 0xffffffff83f1a000 2698 intpm.ko 4 1 0xffffffff83f1d000 b40 smbus.ko 5 1 0xffffffff83f1e000 9fc0 if_atlantic.ko
What was the panic you saw?
Steve