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 17.1k 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.
    • R
      Roy360
      last edited by Roy360

      2.4.5-RELEASE-p1 (amd64)
      built on Tue Jun 02 17:51:17 EDT 2020
      FreeBSD 11.3-STABLE

      Been using pfsense for years now, with the two onboard 1G NICs that are on my motherboard.
      I now want to add this new NIC to handle my LAN traffic while I use the newly freed up NIC to handle IPCamera traffic.

      pciconf -lvb:

      none2@pci0:1:0:0:	class=0x020000 card=0x872e1043 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 0xf7840000, size 65536, enabled
          bar   [18] = type Memory, range 64, base 0xf7850000, size 4096, enabled
          bar   [20] = type Memory, range 64, base 0xf7400000, size 4194304, enabled
      

      The NIC is detected, but I'm not sure why I can't assign it.

      EDIT:
      Maybe I need the driver? https://driverdownloads.aquantia.com/

      I don't see anything in the documentation regarding driver installation. Apparently I need to build pfsense from scratch?

      GertjanG 1 Reply Last reply Reply Quote 0
      • GertjanG
        Gertjan @Roy360
        last edited by

        @Roy360 said in Can't assign NIC [Aquantia Corp. AQC107]:

        Apparently I need to build pfsense from scratch?

        Noop.
        The driver is loaded by the kernel, FreeBSD 11.3 so a "FreeBSD 11.3 system' with compile and link tools will do.

        It's probably a lot easier to check if a NIC is supported before you get your hands on one.

        No "help me" PM's please. Use the forum, the community will thank you.
        Edit : and where are the logs ??

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

          Also see:
          https://github.com/pfsense/FreeBSD-ports/tree/devel/net/aquantia-atlantic-kmod

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

          But we do not build that port. It's labelled 'developer preview' which should tell you something. As far as I know it's untested in pfSense.

          Steve

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

            @Gertjan
            I normally just buy Intel NICs, but this NIC came bundled with my ASUS motherboard.

            I upgraded to 2.5 development in hopes it might have the driver included, but it didn't, and I couldn't find any detailed steps on how to add drivers so I'm just going to buy a chinese Intel NIC off eBay.

            In 1-2 months I'll have my security cameras up and running

            1 Reply Last reply Reply Quote 0
            • 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.