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

    LAN Driver, Qualcomm Atheros AR8171

    Scheduled Pinned Locked Moved Problems Installing or Upgrading pfSense Software
    43 Posts 6 Posters 17.3k 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.
    • stephenw10S
      stephenw10 Netgate Administrator
      last edited by

      Just re-name the file, add .png to the end. Don't use the .txt extension as that confuses some browsers and corrupts the file.

      That driver appears to still be in active development, the last commit was only 19days ago, so check back if you find any bugs.
      Edit: Nothing major changed since Dec last year though.

      Steve

      1 Reply Last reply Reply Quote 0
      • D
        davros123
        last edited by

        Excellent!

        wikisend.com looks good for small files - no reg. needed.

        or as Steve suggested, rar it, then rename to .png and add it to a post here.

        1 Reply Last reply Reply Quote 0
        • arrmoA
          arrmo
          last edited by

          Hi,

          You bet - attached here … just remove the .png from the end (real name is if_alx.ko).

          Yes, it's active. I actually spoke to the author before building my driver, asked him to remove some of the console diagnostics (which he very graciously did - very helpful guy!). Let me know if you have any issues with this driver.

          Thanks.

          if_alx.ko.png

          1 Reply Last reply Reply Quote 0
          • D
            davros123
            last edited by

            Thanks.

            Do you have a linky or pointers on how to install/use the driver?

            I am new to freebsd o/s….guess i can google but all help appreciated.

            Thanks.

            1 Reply Last reply Reply Quote 0
            • D
              davros123
              last edited by

              ok, found some instructions…but get this error... :-\

              
              [2.1.4-RELEASE][root@pfSense.localdomain]/root(1): kldload /boot/kernel/if_alx.ko
              kldload: can't load /boot/kernel/if_alx.ko: Exec format error
              
              [2.1.4-RELEASE][root@pfSense.localdomain]/root(3): uname -a
              FreeBSD pfSense.localdomain 8.3-RELEASE-p16 FreeBSD 8.3-RELEASE-p16 #0: Fri Jun 20 13:19:29 EDT 2014     root@pf2_1_1_amd64.pfsense.org:/usr/obj.amd64/usr/pfSensesrc/src/sys/pfSense_SMP.8  amd64
              [2.1.4-RELEASE][root@pfSense.localdomain]/root(4):
              
              

              and this in dmesg

              KLD if_alx.ko: depends on kernel - not available or version mismatch
              linker_load_file: Unsupported file type
              
              
              1 Reply Last reply Reply Quote 0
              • stephenw10S
                stephenw10 Netgate Administrator
                last edited by

                Because:
                @arrmo:

                This is on pfSense 2.2, compiled on FreeBSD 10.

                You can't use this module on 2.1.X because that's built on FreeBSD 8.3 as you've seen. Also it has to be the correct architecture, 32 or 64bit. I'm not sure what the module is.

                Steve

                1 Reply Last reply Reply Quote 0
                • D
                  davros123
                  last edited by

                  Bugger, missed that very important piece if information.

                  Ok, soooo, what's involved in compiling on 8.3?  Can I do this from pfsense (without downloading bucketloads of extra bloat) or do I need to have a freebsd install to compile?

                  Perhaps I should just cop the extra watts from my pcie Intel nic and run with that…

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

                    No, there are no build tools in pfSense and trying to add them will be a disaster. Use FreeBSD 8.3 to build things for pfSense. I have used a bsd live cd to compile simple things before.
                    I imagine you would have difficulty compiling this kernel module against 8.3 though, a lot has changed between that and 10. Probably easier to take the power hit.  ;)

                    Steve

                    1 Reply Last reply Reply Quote 0
                    • arrmoA
                      arrmo
                      last edited by

                      Hi,

                      Steve has it right - and this is basically what I did (created a VM in VirtualBox, built it there).

                      FYI, as I missed this above (sorry!), this is an x64 driver.

                      Thanks.

                      1 Reply Last reply Reply Quote 0
                      • D
                        davros123
                        last edited by

                        Thanks guys.

                        Might park this one for the moment as time is precious for me at the moment and go with the Intel PCIe nic card for now.

                        Perhaps we'll see it come standard in a later pfsense release ;)

                        1 Reply Last reply Reply Quote 0
                        • D
                          davros123
                          last edited by

                          Hi arrmo,

                          I dad some issues with my PCI wifi card so I decided to take the plunge and move to 2.2 ALPHA.

                          The driver installed without issues (just temporarily loaded it using kldload).

                          I can not create a VLAN on the alx0 interface.

                          Can you pls. check to see if you can create VLANs on your interface?

                          EDIT: looking at the nic with ifconfig, it's not supported…ie does not show  VLAN_HWTAGGING

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

                            You don't need to have hardware tagging on the NIC to use VLANs it just offloads some work from the driver/CPU. In fact in some cases VLANs work better with it disabled. For example: https://redmine.pfsense.org/issues/2577

                            The driver has to know how to handle VLANs though, perhaps this doesn't yet. It's a development driver.
                            Edit: A quick glance through the code seems to show plenty of VLAN references.

                            Steve

                            1 Reply Last reply Reply Quote 0
                            • D
                              davros123
                              last edited by

                              Hi Stephen.

                              Thanks for the reply (and for trawling the code).

                              Unfortunately the interface still does not show as a valid interface when defining VLAN's (em0 does, but not the alx).

                              1 Reply Last reply Reply Quote 0
                              • B
                                balance
                                last edited by

                                hi there I got the asrock h81m-itx

                                thx for the driver arrmo

                                anyone know how to inject the driver into pfsense for install? never compile anything. anyone can point me into the right direction. plan to add a intel nic to the pci-e of the board and that will give me to two nic as I need :D

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

                                  Easiest way to get this installed would be to add the Intel NIC first and use that as the only assigned interface. Then add the new driver and the Atheros NIC will be seen. You can always change the NIC assignment afterwards if you prefer. Alternatively you can probably put the driver on a USB stick, mount the stick and copy it across manually.

                                  Steve

                                  1 Reply Last reply Reply Quote 0
                                  • arrmoA
                                    arrmo
                                    last edited by

                                    Hi,

                                    It seems that alx is now officially supported in FreeBSD (see https://github.com/markjdb/alx-freebsd/commit/74500d38295e6a9c6e476ecab7be7a052b9620da).

                                    But this doesn't seem to be in the latest v2.2-RC … is there a reason why not?

                                    Thanks!

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

                                      Because it didn't make it into stable before the cut-off for 10.1 unfortunately.
                                      You can still compile the newer kernel module from 10-stable and override the in kernel driver in 10.1 though.

                                      Steve

                                      1 Reply Last reply Reply Quote 0
                                      • arrmoA
                                        arrmo
                                        last edited by

                                        Hi,

                                        Thanks for the info! Asking more, only because I'm trying to understand - not meant to be negative at all, please don't take it that way.

                                        Here is the change for 10 (right?) … http://freshbsd.org/commit/freebsd/r273366. Isn't this before the 10.1 cutoff? Or perhaps not, again - trying to understand.

                                        I'd be more than happy to build the new module, just not sure where to get it from ... :(.

                                        Thanks!!!

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

                                          So stable was copied to releng for 10.1 on the 3/10/14:
                                          https://svnweb.freebsd.org/base?view=revision&revision=272461

                                          A few weeks before the support was added to alc(4). It's not in 10.1:
                                          https://svnweb.freebsd.org/base/release/10.1.0/sys/dev/alc/if_alc.c?view=markup

                                          Hence it's not in pfSense 2.2.
                                          I imagine it would very easy to include it if some key piece of hardware was using the AR8171 but I doubt you'd be able to persuade the devs to put it into 2.2 now we're in RC.

                                          If there's an ISO for a 10-stable snapshot available you can just boot that up (in a VM perhaps) and build the kernel module. If not you may have to copy the more recent code into a 10.1 install and build there instead.
                                          Once you have the updated kernel module copy it to /boot/modules in the pfSense and add the line:

                                          if_alc_load="yes"
                                          

                                          To the file /boot/loader.conf.local
                                          That will load the module at boot time and override the in kernel driver. Hopefully!  ;)

                                          Steve

                                          1 Reply Last reply Reply Quote 0
                                          • arrmoA
                                            arrmo
                                            last edited by

                                            Makes sense, and thanks for taking the time to explain - much appreciated!

                                            I did have a VM for FreeBSD, that's how I built the "older" alx driver (earlier in this thread). I say "did" because I removed it earlier today, it was having all sorts of issues … :(. But the older driver works, not much reason to build a newer add-on, just thought I could perhaps remove the extra file (and use the driver in the kernel).

                                            Thanks again!

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