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

    ASIX AX88179 USB to GigE

    Hardware
    9
    52
    28.9k
    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.
    • M
      mcampbell
      last edited by

      So I have a question about my home system.  But first, here's a little background info on it.  I have had installed at home a little bookshelf unit that has an Atom D2550, 2GB of RAM, dual GigE ports, and a CF-to-SATA flash adapter running the OS.  This unit has been working great, even flawlessly, for the past 6 months.  Handles everything I can throw at it on my 30Mbps connection with nary more than 10% CPU usage.  I've got Open VPN working on it as well, I love it.  Now I'm starting a business that will for the foreseeable future be living in my house.  I am going to have some developers start working for me remotely, and I have a dev environment setup at home for them to work with.  So I decided now's the time to segregate my home equipment from my new work dev environment, and set up a second OpenVPN server in pfense strictly for that environment.  Unfortunately, there's no expansion available on my bookshelf box, so I can't throw in another nic card, and none of my switches support vlan tagging.  So I decided to purchase a USB-to-Ethernet adapter.  I searched around on the internet for suitable ones that would work, and found on newegg a few reviews on a chipset that they reported working for them in pfsense, the AX88178, and someone who had one said they'd gotten an AX88179 to work via the AXE(4) driver.  So I searched Newegg for an adapter, and so I chose the Rosewill USB 3.0 Gigabit adapter, which uses the AX88179 chipset.

      It wasn't until after I got it in and played around with it that I realized that USB 3.0 isn't apparently supported yet in pfsense (as the entire USB 3.0 hub doesn't show up in usbconfig), so I figured, I don't need gigabit for this, this development work is mostly commandline stuff, I could easily do that on a 10Mb connection if needed.  And when USB 3.0 support is released further down the road, then I can just move my NIC back over to the USB 3.0 at that time (if I haven't moved to something else by then).  So I've got it plugged into the USB 2.0 port, am able to do usbconfig -d ugen4.2 dump_device_desc, and it shows the stats of the device, but it doesn't show up in the available NICs list.

      Anybody have any suggestions?

      1 Reply Last reply Reply Quote 0
      • M
        mcampbell
        last edited by

        Anyone?  Anyone?  Bueller?  Bueller?

        If someone could at least give me a little push in the right direction; I'm quite comfortable on a linux command line, but some locations/configurations in freebsd/pfsense are of course different, and it would be helpful to me if I knew how to manually load drivers on the command line (like the freebsd equivalent of modprobe, for example), or maybe a way to check to see if there's actually any drivers associated with this hardware?

        Also, if I were to find that the driver I need is available on a more recent version of FreeBSD, how difficult would it be to port it to this version?

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

          @mcampbell:

          Anyone?  Anyone?  Bueller?  Bueller?

          ;D

          FreeBSD equivalent of modprobe is kldload however in pfSense all the drivers you're likely to use are compiled into the kernel not loaded as modules. See also kldstat and kldunload.

          I would run the usbconfig dump description you already have done to get the USB device and vendor IDs then hit the FreeBSD forum search box. Someone else has probably already tried this.

          Steve

          1 Reply Last reply Reply Quote 0
          • M
            mcampbell
            last edited by

            Thanks for the reply Stephen (I thought my Bueller line was better than just posting "bump", glad someone else thought so too).  Per your suggestion, I ran the usbconfig command again, and tried searching for the USB & Vendor IDs, as well as a few other lines in there, and on most search attempts, I got no relevant hits, except for these two:

            http://forum.pfsense.org/index.php/topic,7157.msg40590.html#msg40590
            http://forum.pfsense.org/index.php/topic,58446.msg349981.html#msg349981

            The latter, you were a participant in (and from which I'd borrowed the usbconfig line, so thanks for that!  ;) ).

            For the sake of completeness, I've posted below what I got in usbconfig, in case someone else sees something I'm missing.

            [2.1-RELEASE][root@pfsense.home]/root(1): usbconfig -d ugen4.2 dump_device_desc
            ugen4.2: <ax88179 asix="" elec.="" corp.="">at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
            
              bLength = 0x0012
              bDescriptorType = 0x0001
              bcdUSB = 0x0210
              bDeviceClass = 0x00ff
              bDeviceSubClass = 0x00ff
              bDeviceProtocol = 0x0000
              bMaxPacketSize0 = 0x0040
              idVendor = 0x0b95
              idProduct = 0x1790
              bcdDevice = 0x0100
              iManufacturer = 0x0001  <asix elec.="" corp.="">iProduct = 0x0002  <ax88179>iSerialNumber = 0x0003  <00000000000001>
              bNumConfigurations = 0x0001</ax88179></asix></ax88179> 
            

            Any other suggestions?

            1 Reply Last reply Reply Quote 0
            • R
              razzfazz
              last edited by

              I don't have too much experience with USB devices on FreeBSD, but doesn't the fact that the ugen driver attached to your device imply that the axe driver either did not load or did not match it? Or do USB devices get a ugen entry even if a more specific driver matched?

              What do dmesg and the system log show in response to plugging in the device?

              1 Reply Last reply Reply Quote 0
              • M
                mcampbell
                last edited by

                @razzfazz:

                I don't have too much experience with USB devices on FreeBSD, but doesn't the fact that the ugen driver attached to your device imply that the axe driver either did not load or did not match it? Or do USB devices get a ugen entry even if a more specific driver matched?

                It's my understanding that ugen4.2 is assigned to the device regardless as a USB hardware address, like da0s1 would be to a partition address.  ugen4 indicates what physical port it's plugged in (I've plugged into different ports and I get different ugenX numbers), and the .2 represents the device on that port (I'm presuming it's done that way to be able to identify daisy-chained devices).

                @razzfazz:

                What do dmesg and the system log show in response to plugging in the device?

                dmesg brings up the incredibly helpful one liner:```
                ugen4.2: <asix elec.="" corp.=""> at usbus4</asix>

                1 Reply Last reply Reply Quote 0
                • R
                  razzfazz
                  last edited by

                  Still looks like axe never matched your device. There doesn't seem to be a module on my box; do we know for sure that this driver is compiled into the standard pfSense kernel?

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

                    It is but it doesn't support that specific chip. I suggested looking in the FreeBSD forum for the product id. If an updated driver, in FreeBSD 9.* for example, does support it then it may be possible to backport it.

                    Steve

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

                      The best thing is just go straight to the source:
                      http://svnweb.freebsd.org/base/head/sys/dev/usb/usbdevs?revision=255238&view=markup

                      /* ASIX Electronics products */
                       	product ASIX AX88172	0x1720	10/100 Ethernet
                       	product ASIX AX88178	0x1780	AX88178
                       	product ASIX AX88772	0x7720	AX88772
                       	product ASIX AX88772A	0x772a	AX88772A USB 2.0 10/100 Ethernet
                       	product ASIX AX88772B	0x772b	AX88772B USB 2.0 10/100 Ethernet
                       	product ASIX AX88772B_1	0x7e2b	AX88772B USB 2.0 10/100 Ethernet
                      

                      No support for the AX88179 as of 2 weeks ago.  :(

                      Perhaps that's not suprising. Net BSD only just got support for it.
                      http://mail-index.netbsd.org/source-changes/2013/09/14/msg047584.html
                      OpenBSD not long before that.
                      http://www.mail-archive.com/source-changes@openbsd.org/msg41366.html

                      Significant work required to make that adapter work with pfSense. Sorry.

                      Steve

                      1 Reply Last reply Reply Quote 0
                      • M
                        mcampbell
                        last edited by

                        @stephenw10:

                        It is but it doesn't support that specific chip. I suggested looking in the FreeBSD forum for the product id.

                        Ah, my bad, I somehow missed the word "FreeBSD", and thought you meant somewhere on this forum.

                        @stephenw10:

                        No support for the AX88179 as of 2 weeks ago.  :(

                        Perhaps that's not suprising. Net BSD only just got support for it.
                        http://mail-index.netbsd.org/source-changes/2013/09/14/msg047584.html
                        OpenBSD not long before that.
                        http://www.mail-archive.com/source-changes@openbsd.org/msg41366.html

                        Significant work required to make that adapter work with pfSense. Sorry.

                        Steve

                        Well, poo.  I guess I'll have to get another adapter, and make certain it has one of the chips in that list.

                        Is FreeBSD usually the last of the *BSDs to support something?

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

                          Not necessarily but the similarities between the BSDs means that once one has it the other usually get it shortly afterwards. It really depends who is maintaining the driver for each distro and what hardware they have available to them or whether someone is sponsoring the work.

                          Steve

                          1 Reply Last reply Reply Quote 0
                          • M
                            mcampbell
                            last edited by

                            Just as an update (if anyone's interested), I went and got one of these at Fry's (after researching it to confirm it had one of the above listed chipsets), and it seems to be working well.  I still haven't finished the full configuration of all my devices on this new network, but it shows up in usbconfig (as an x772a chipset), it shows up in the Interfaces section, complete with a mac address, and the DHCP server is now set to serve up IPs on it.  I think that counts as a success. ;)

                            Unfortunately, at least according to usbconfig, it shows up as a lowly FULL speed (12Mbit) USB device.  But I think I'll manage with that for now, as my traffic to/from that network will largely be SSH.  As I get all my devices situated on it, I'll try some throughput tests to see what kind of bandwidth & reliability I get from it; not that I'm expecting a lot of either one, but just as a frame of reference for anyone interested.

                            I decided to keep my Rosewill USB 3 to Gigabit adapter.  I figure some time down the road, this chipset (& USB 3.0, for that matter) will be supported by FreeBSD, and eventually trickle down to pfSense.

                            1 Reply Last reply Reply Quote 0
                            • N
                              nothing
                              last edited by

                              At some point you will realize that this usb2ethernet thing is sh!t and will buy small manageable switch :)

                              1 Reply Last reply Reply Quote 0
                              • M
                                mcampbell
                                last edited by

                                @nothing:

                                At some point you will realize that this usb2ethernet thing is sh!t and will buy small manageable switch :)

                                I have no delusions about this being a particularly good setup, but hopefully by the time the inherent problems are too visible, I will have gotten my business development far enough along that it will have outgrown my home ;)  In the meantime, it is a "good enough" solution–the connection thus far has been solid, no drop offs, and it provides me a way to segregate my network just fine.  Not too shabby for $12.

                                1 Reply Last reply Reply Quote 0
                                • B
                                  bryan.paradis
                                  last edited by

                                  https://github.com/freebsd/freebsd/blob/master/sys/dev/usb/net/if_axge.c?source=cc

                                  Might be a good chance that it is in the v10 release now.

                                  
                                  Wed Nov 20 02:16:47 2013 
                                  
                                  1121	/* ASIX Electronics products */
                                  1122	product ASIX AX88172		0x1720	10/100 Ethernet
                                  1123	product ASIX AX88178		0x1780	AX88178
                                  1124	product ASIX AX88178A		0x178a	AX88178A USB 2.0 10/100/1000 Ethernet
                                  1125	product ASIX AX88179		0x1790	AX88179 USB 3.0 10/100/1000 Ethernet
                                  1126	product ASIX AX88772		0x7720	AX88772
                                  1127	product ASIX AX88772A		0x772a	AX88772A USB 2.0 10/100 Ethernet
                                  1128	product ASIX AX88772B		0x772b	AX88772B USB 2.0 10/100 Ethernet
                                  1129	product ASIX AX88772B_1	0x7e2b	AX88772B USB 2.0 10/100 Ethernet
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    bryan.paradis
                                    last edited by

                                    I loaded up a FreeBSD 8.3 VM and attempted building this from the FreeBSD git. I haven't tested it no adapter on hand. Will try to buy one later today if I can find one else will have to wait till next week. Just a note it looks like this driver will be showing up in FreeBSD 10.1

                                    i386 Untested - Use at your own risk

                                    if_axge.ko

                                    To install

                                    cd /boot/modules
                                    fetch http://fs08n3.sendspace.com/dl/671abb5cf606ffcd0e4268438f52a664/52e3a3b15d8244b8/a7az2c/if_axge.ko
                                    kldload if_axge.ko
                                    

                                    Then to check that its loaded

                                    kldstat
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      mcampbell
                                      last edited by

                                      Sweet, so what version does that translate to for pfSense?

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

                                        FreeBSD 8.3 is the base for 2.1 and now 2.1.1.

                                        Steve

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          mcampbell
                                          last edited by

                                          @stephenw10:

                                          FreeBSD 8.3 is the base for 2.1 and now 2.1.1.

                                          Steve

                                          Actually, I was referring to FreeBSD 10.  I realize we haven't even made the leap to FreeBSD 9 yet, so we may still be talking years away(?), I was just curious if there was an expectation as to what future pfsense version that might line up with?

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            mcampbell
                                            last edited by

                                            In the meantime, I will definitely try out the driver you posted, Bryan.  And I'll report back the results of my testing.

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