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

    Can't assign NIC [Aquantia Corp. AQC107]

    Scheduled Pinned Locked Moved Hardware
    81 Posts 14 Posters 22.9k 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.
    • RicoR
      Rico LAYER 8 Rebel Alliance
      last edited by

      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

      1 Reply Last reply Reply Quote 1
      • RicoR
        Rico LAYER 8 Rebel Alliance
        last edited by

        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

        R 1 Reply Last reply Reply Quote 1
        • RicoR
          Rico LAYER 8 Rebel Alliance
          last edited by 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

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

            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

            1 Reply Last reply Reply Quote 2
            • RicoR
              Rico LAYER 8 Rebel Alliance
              last edited by Rico

              Thanks for this hint Steve. ๐Ÿ‘

              -Rico

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

                Guess how I'm aware of that trap and what a PITA it is escaping it. ๐Ÿ˜‰

                1 Reply Last reply Reply Quote 1
                • R
                  Roy360 @Rico
                  last edited by Roy360

                  @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.

                  1 Reply Last reply Reply Quote 1
                  • RicoR
                    Rico LAYER 8 Rebel Alliance
                    last edited by

                    Glad you have it working.
                    Did you also try with 2.4.5-p1 ?

                    -Rico

                    1 Reply Last reply Reply Quote 0
                    • RicoR
                      Rico LAYER 8 Rebel Alliance
                      last edited by

                      @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

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

                        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!

                        1 Reply Last reply Reply Quote 1
                        • RicoR
                          Rico LAYER 8 Rebel Alliance
                          last edited by

                          I was able to build driver version 0.0.5 for FreeBSD 11.3 (pfSense 2.4.5-p1):
                          https://fil.email/Y9QJQFqv

                          And here is 0.0.5 for FreeBSD 12.1 (pfSense 2.5.0):
                          https://fil.email/RdjhicBA

                          -Rico

                          A 1 Reply Last reply Reply Quote 2
                          • A
                            AZweimiller @Rico
                            last edited by

                            @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/Y9QJQFqv

                            And 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!

                            1 Reply Last reply Reply Quote 0
                            • RicoR
                              Rico LAYER 8 Rebel Alliance
                              last edited by Rico

                              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

                              A D L 3 Replies Last reply Reply Quote 1
                              • A
                                AZweimiller @Rico
                                last edited by

                                @rico Thanks, worked perfectly.

                                1 Reply Last reply Reply Quote 0
                                • D
                                  daplumber @Rico
                                  last edited by

                                  @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!

                                  โ€“--------
                                  This user has been carbon dated to the 8-bit era...

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

                                    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

                                    D 2 Replies Last reply Reply Quote 1
                                    • D
                                      daplumber @stephenw10
                                      last edited by daplumber

                                      @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.

                                      โ€“--------
                                      This user has been carbon dated to the 8-bit era...

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        daplumber @stephenw10
                                        last edited by

                                        @stephenw10
                                        So I temporarily enabled the FreeBSD repo by editing /usr/local/etc/pkg/repos

                                        I 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?

                                        โ€“--------
                                        This user has been carbon dated to the 8-bit era...

                                        1 Reply Last reply Reply Quote 0
                                        • L
                                          l9396 @Rico
                                          last edited by l9396

                                          @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.

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

                                            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

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