Can't assign NIC [Aquantia Corp. AQC107]
-
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
-
@stephenw10 It's for me message about repos?
But how to make driver works. Last time I was trying like here https://gist.github.com/jovimon/524e116471f249626fd2ccd141f3fe05 for 2.5gigabit nic and it helped. Now there is no "make" file in directory from official driver https://www.marvell.com/support/downloads.html -
No the pkg reply was for @daplumber. He enabled the full FreeBSD package repo rather than installing a single pkg dircetkly. And that's dangerous.
https://docs.netgate.com/pfsense/en/latest/recipes/freebsd-pkg-repo.htmlI have no way to test any version of this driver beyond loading the kernel module that checks it's compatible with the kernel.
Steve
-
@stephenw10 So there is no nothing dangerous in command "pkg install aquantia-atlantic-kmod"?
-
That will only work if the package exists in the configured pkg repo and it's not in the pfSense repo. If that does work you have enabled the full FreeBSD repo and that is dangerous.
You should use "pkg add <full path to package>" and not enable the FreeBSD repo.
Steve
-
@stephenw10 Thank you. I will disable it.
-
@stephenw10 I temporarily enabled the FreeBSD repo only long enough to check for dependencies and install the kmod pkg. I then disabled it again.
I think I understand the warning and risks and DEFINITELY do not want to leave it enabled.
-
So I did the install as requested and :
[2.5.0-RELEASE][root@mypfsense.lan]/boot/modules: pkg add http://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/aquantia-atlantic-kmod-0.0.5_1.txz Fetching aquantia-atlantic-kmod-0.0.5_1.txz: 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.5.0-RELEASE][root@mypfsense.lan]/boot/modules: ls -l if* -r-xr-xr-x 1 root wheel 95120 Feb 26 17:44 if_atlantic.ko -r-xr-xr-x 1 root wheel 1168400 Feb 5 17:02 if_re.ko [2.5.0-RELEASE][root@mypfsense.lan]/boot/modules: kldload if_atlantic.ko kldload: if_atlantic.ko will be loaded from /boot/kernel, not the current directory # kernel P A N I C ensues
Card hardware is installed and copacetic as far as I can tell from pciconf -l :
none0@pci0:2:0:0: class=0x020000 card=0x00011d6a chip=0xd1071d6a rev=0x02 hdr=0x00 vendor = 'Aquantia Corp.' device = 'AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion]' class = network subclass = ethernet bar [10] = type Memory, range 64, base 0xfd6f0000, size 65536, enabled bar [18] = type Memory, range 64, base 0xfd6ef000, size 4096, enabled bar [20] = type Memory, range 64, base 0xfd000000, size 4194304, enabled cap 10[40] = PCI-Express 2 endpoint max data 128(512) FLR NS max read 512 link x4(x4) speed 5.0(8.0) ASPM disabled(L0s/L1) cap 01[80] = powerspec 3 supports D0 D1 D2 D3 current D0 cap 11[90] = MSI-X supports 32 messages Table in map 0x18[0x0], PBA in map 0x18[0x200] cap 05[a0] = MSI supports 32 messages, 64 bit cap 03[c0] = VPD ecap 0001[100] = AER 2 0 fatal 0 non-fatal 1 corrected ecap 000b[150] = Vendor 1 ID 1 ecap 0019[180] = PCIe Sec 1 lane errors 0 VPD ident = 'AQtion' VPD ro PN = 'AquantiaPartNumber' VPD ro EC = 'AquantiaEngineeringChangeLevel' VPD ro FG = 'AquantiaFabricGeography' VPD ro LC = 'AquantiaLocation' VPD ro MN = 'AquantiaManufacturingId' VPD ro PG = 'AquantiaPciGeography' VPD ro SN = 'AquantiaSerialNumber' VPD ro V0 = 'AquantiaVendorSpecificReadOnlyItem0' VPD ro V1 = 'AquantiaVendorSpecificReadOnlyItem1' VPD rw YA = 'AquantiaAssetTagIdentifier' VPD rw V0 = 'AquantiaVendorSpecificWritableItem0' VPD rw V1 = 'AquantiaVendorSpecificWritableItem1' VPD rw Y0 = 'AquantiaSystemSpecificWritableItem0' VPD rw Y1 = 'AquantiaSystemSpecificWritableItem1'
I feel like I'm missing something simple and/or stupid here...