ASIX AX88179 USB to GigE



  • @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?



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


  • Netgate Administrator

    Ah sorry. 2.2 will be built on FreeBSD 10. Some very early pre-alpha builds have come out of the build servers so wer're hopefully not talking years. Not ready for public consumption yet though.

    Steve



  • Interesting, I would have thought that a leap from FreeBSD 8.3 to 10/10.1 would have warranted a major (not just a minor) version change on the pfsense side as well.  But that gives me hope, since now I know I don't have to wait two full versions away, but just one!



  • @mcampbell:

    Interesting, I would have thought that a leap from FreeBSD 8.3 to 10/10.1 would have warranted a major (not just a minor) version change on the pfsense side as well.  But that gives me hope, since now I know I don't have to wait two full versions away, but just one!

    backporting drivers is fairly common. Note that the driver wont be in freebsd release until 10.1 not 10.


  • Netgate Administrator

    @mcampbell:

    I would have thought that a leap from FreeBSD 8.3 to 10/10.1 would have warranted a major (not just a minor) version change

    Yes I see what you mean. However I would argue that the changes that went into 2.1 were much more extensive from a pfSense point of view than even though the base system only incremented from FreeBSD 8.1 to 8.3. The 2.2 release will not have many new features as I understand it, the devs are concentrating purely on bringing the base system up to FreeBSD 10 so from that point of view pfSense will not have changed dramatically. It's being built as 2.2 currently but who knows the devs might decide it warrants a major change and go straight to 3.0. Just have to wait and see.  ;)

    Steve



  • @bryan.paradis:

    backporting drivers is fairly common. Note that the driver wont be in freebsd release until 10.1 not 10.

    Duly noted!  But I would suppose that it's generally easier to backport within the same major version, as opposed to jumping between two major versions.

    @stephenw10:

    Yes I see what you mean. However I would argue that the changes that went into 2.1 were much more extensive from a pfSense point of view than even though the base system only incremented from FreeBSD 8.1 to 8.3. The 2.2 release will not have many new features as I understand it, the devs are concentrating purely on bringing the base system up to FreeBSD 10 so from that point of view pfSense will not have changed dramatically. It's being built as 2.2 currently but who knows the devs might decide it warrants a major change and go straight to 3.0. Just have to wait and see.  ;)

    Steve

    Fair enough.  It's a worthy cause, as I'm sure that if nothing else, there's a lot of security updates between 8.3 & 10.  Perhaps we'll see a goodly amount of bug fixes as well.



  • Hiya,

    I attempted to load the axge module provided, but get an exec format error.
    I'm using release 2.1 i386. Have I missed something?

    [2.1-RELEASE][root@pfSense.localdomain]/boot/modules(38): ls -la
    total 125
    drwxr-xr-x  2 root  wheel    512 Jan 28 19:09 .
    drwxr-xr-x  7 root  wheel    512 Sep 11 23:51 ..
    -r-xr-xr-x  1 root  wheel  103996 Sep 11 23:51 bwi_v3_ucode.ko
    -r-xr-xr-x  1 root  wheel  15890 Jan 28 19:08 if_axge.ko

    [2.1-RELEASE][root@pfSense.localdomain]/boot/modules(39): usbconfig
    ugen0.1: <uhci root="" hub="" intel="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
    ugen1.1: <ehci root="" hub="" intel="">at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
    ugen1.2: <product 0x8000="" vendor="" 0x8087="">at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
    ugen1.3: <ax88179 asix="" elec.="" corp.="">at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

    [2.1-RELEASE][root@pfSense.localdomain]/boot/modules(40): kldload if_axge.ko
    kldload: can't load if_axge.ko: Exec format error

    Cheers</ax88179></product></ehci></uhci>



  • @Huxy:

    Hiya,

    I attempted to load the axge module provided, but get an exec format error.
    I'm using release 2.1 i386. Have I missed something?

    [2.1-RELEASE][root@pfSense.localdomain]/boot/modules(38): ls -la
    total 125
    drwxr-xr-x  2 root  wheel    512 Jan 28 19:09 .
    drwxr-xr-x  7 root  wheel    512 Sep 11 23:51 ..
    -r-xr-xr-x  1 root  wheel  103996 Sep 11 23:51 bwi_v3_ucode.ko
    -r-xr-xr-x  1 root  wheel  15890 Jan 28 19:08 if_axge.ko

    [2.1-RELEASE][root@pfSense.localdomain]/boot/modules(39): usbconfig
    ugen0.1: <uhci root="" hub="" intel="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
    ugen1.1: <ehci root="" hub="" intel="">at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
    ugen1.2: <product 0x8000="" vendor="" 0x8087="">at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
    ugen1.3: <ax88179 asix="" elec.="" corp.="">at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

    [2.1-RELEASE][root@pfSense.localdomain]/boot/modules(40): kldload if_axge.ko
    kldload: can't load if_axge.ko: Exec format error

    Cheers</ax88179></product></ehci></uhci>

    Are you running amd64?

    @bryan.paradis:

    i386 Untested - Use at your own risk



  • Turns out it was the download link. I manually downloaded and sftp'd the file from windows to the pfsense box and I was able to load the module.

    However, as soon as I attempt to assign the interface to a role, the machine crashes with reference to the algx module.

    
    Fatal trap 12: page fault while in kernel mode
    cpuid = 0; apic id = 00
    fault virtual address = 0x8
    fault code = supervisor read, page not present
    instruction pointer = 0x20:0xc5091e46
    stack pointer = 0x28:0xd6775c94
    frame pointer = 0x28:0xd6775ca0
    code segment = base 0x0 limit 0xffffff, type 0x1b
    = DPL 0, pres 1, def 32 1, gran 1
    processor eflags = interrupt enabled, resume, IOPL = 0
    current process = 14 (axge0)
    trap number = 12
    panic: page fault
    
    


  • @Huxy:

    Turns out it was the download link. I manually downloaded and sftp'd the file from windows to the pfsense box and I was able to load the module.

    However, as soon as I attempt to assign the interface to a role, the machine crashes with reference to the algx module.

    Well that sucks. Can you get the exact error?



  • Ok. Well I am redoing the environment I compiled that in. My new adapter will be here on friday.

    Cable Matters SuperSpeed USB 3.0 to RJ45 Gigabit Ethernet Adapter



  • Cool. Thanks for the response. I suspect you noticed, but I added the crash error to my previous post.
    Hopefully, the new build environment will help, as will having the hardware for testing.



  • @Huxy:

    Cool. Thanks for the response. I suspect you noticed, but I added the crash error to my previous post.
    Hopefully, the new build environment will help, as will having the hardware for testing.

    Thanks for updating that. What exactly did you do to produce the issue. So I can try reproducing.

    Also here is the md5 for that module: F313B0FA8A7C38CF1E3A8A4DD39F2C22



  • I checked the md5sum and it was fine. Here's the steps I took to cause a crash. 100% reproducible.

    *** Welcome to pfSense 2.1-RELEASE-nanobsd (i386) on pfSense ***
    
     WAN (wan)       -> re0        -> v4/DHCP4: 192.168.1.162/24
     LAN (lan)       -> em0        -> v4: 192.168.1.6/24
    
     0) Logout (SSH only)                  8) Shell
     1) Assign Interfaces                  9) pfTop
     2) Set interface(s) IP address       10) Filter Logs
     3) Reset webConfigurator password    11) Restart webConfigurator
     4) Reset to factory defaults         12) pfSense Developer Shell
     5) Reboot system                     13) Upgrade from console
     6) Halt system                       14) Disable Secure Shell (sshd)
     7) Ping host                         15) Restore recent configuration
    
    Enter an option: 1
    
    Valid interfaces are:
    
    usbus00   (up)
    em0   00:16:3e:9c:ae:88   (up) Intel(R) PRO/1000 Legacy Network Connection 1.0.4
    re0   00:16:3e:39:ad:93   (up) RealTek 8139C+ 10/100BaseTX
    usbus10   (up)
    ue0   00:24:9b:09:84:0f (down) USB Ethernet
    
    Do you want to set up VLANs first?
    
    If you are not going to use VLANs, or only for optional interfaces, you should
    say no here and use the webConfigurator to configure VLANs later, if required.
    
    Do you want to set up VLANs now [y|n]? n
    
    *NOTE*  pfSense requires *AT LEAST* 1 assigned interface(s) to function.
            If you do not have *AT LEAST* 1 interfaces you CANNOT continue.
    
            If you do not have at least 1 *REAL* network interface card(s)
            or one interface with multiple VLANs then pfSense
            *WILL NOT* function correctly.
    
    If you do not know the names of your interfaces, you may choose to use
    auto-detection. In that case, disconnect all interfaces now before
    hitting 'a' to initiate auto detection.
    
    Enter the WAN interface name or 'a' for auto-detection: ue0
    
    Enter the LAN interface name or 'a' for auto-detection
    NOTE: this enables full Firewalling/NAT mode.
    (or nothing if finished): em0
    
    Enter the Optional 1 interface name or 'a' for auto-detection
    (or nothing if finished):
    
    The interfaces will be assigned as follows:
    
    WAN  -> ue0
    LAN  -> em0
    
    Do you want to proceed [y|n]?y
    
    Writing configuration...done.
    One moment while we reload the settings... done!
    
    


  • @Huxy:

    I checked the md5sum and it was fine. Here's the steps I took to cause a crash. 100% reproducible.

    *** Welcome to pfSense 2.1-RELEASE-nanobsd (i386) on pfSense ***
    
     WAN (wan)       -> re0        -> v4/DHCP4: 192.168.1.162/24
     LAN (lan)       -> em0        -> v4: 192.168.1.6/24
    
     0) Logout (SSH only)                  8) Shell
     1) Assign Interfaces                  9) pfTop
     2) Set interface(s) IP address       10) Filter Logs
     3) Reset webConfigurator password    11) Restart webConfigurator
     4) Reset to factory defaults         12) pfSense Developer Shell
     5) Reboot system                     13) Upgrade from console
     6) Halt system                       14) Disable Secure Shell (sshd)
     7) Ping host                         15) Restore recent configuration
    
    Enter an option: 1
    
    Valid interfaces are:
    
    usbus00   (up)
    em0   00:16:3e:9c:ae:88   (up) Intel(R) PRO/1000 Legacy Network Connection 1.0.4
    re0   00:16:3e:39:ad:93   (up) RealTek 8139C+ 10/100BaseTX
    usbus10   (up)
    ue0   00:24:9b:09:84:0f (down) USB Ethernet
    
    Do you want to set up VLANs first?
    
    If you are not going to use VLANs, or only for optional interfaces, you should
    say no here and use the webConfigurator to configure VLANs later, if required.
    
    Do you want to set up VLANs now [y|n]? n
    
    *NOTE*  pfSense requires *AT LEAST* 1 assigned interface(s) to function.
            If you do not have *AT LEAST* 1 interfaces you CANNOT continue.
    
            If you do not have at least 1 *REAL* network interface card(s)
            or one interface with multiple VLANs then pfSense
            *WILL NOT* function correctly.
    
    If you do not know the names of your interfaces, you may choose to use
    auto-detection. In that case, disconnect all interfaces now before
    hitting 'a' to initiate auto detection.
    
    Enter the WAN interface name or 'a' for auto-detection: ue0
    
    Enter the LAN interface name or 'a' for auto-detection
    NOTE: this enables full Firewalling/NAT mode.
    (or nothing if finished): em0
    
    Enter the Optional 1 interface name or 'a' for auto-detection
    (or nothing if finished):
    
    The interfaces will be assigned as follows:
    
    WAN  -> ue0
    LAN  -> em0
    
    Do you want to proceed [y|n]?y
    
    Writing configuration...done.
    One moment while we reload the settings... done!
    
    

    Try this one went a different route with it this time:

    rename to if_axge.ko and check md5 afterwards.

    if_axge.ko
    md5: 69F1819099F9183865E5895D97A6E9EE
    

    Also if it fails can you please setup the interface manually on the shell one step at a time. Maybe your system log showing the last error happening would be helpful as well. I don't know what part of the assign script actually triggered the problem. I figure though it must have been in the axge_ifmedia_upd() function it was calling a updated function from an updated file. This time instead of bringing in the update I switched it back to calling the original function.

    if_axge.txt



  • Boom! Great work!

    This new version seems to work fine. I've now got a working connection.
    I've yet to do thorough testing but it all looks good! Here's the ifconfig which I ran using a SSH login shell.

    [2.1-RELEASE][root@pfSense.localdomain]/root(2): ifconfig ue0
    ue0: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500
            options=8000b <rxcsum,txcsum,vlan_mtu,linkstate>ether 00:24:9b:09:84:0f
            inet6 fe80::224:9bff:fe09:840f%ue0 prefixlen 64 scopeid 0x9
            inet 192.168.1.6 netmask 0xffffff00 broadcast 192.168.1.255
            nd6 options=1 <performnud>media: Ethernet autoselect (1000baseT <full-duplex,master>)
            status: active
    [2.1-RELEASE][root@pfSense.localdomain]/root(3):</full-duplex,master></performnud></rxcsum,txcsum,vlan_mtu,linkstate></up,broadcast,running,simplex,multicast> 
    


  • @Huxy:

    Boom! Great work!

    This new version seems to work fine. I've now got a working connection.
    I've yet to do thorough testing but it all looks good! Here's the ifconfig which I ran using a SSH login shell.

    [2.1-RELEASE][root@pfSense.localdomain]/root(2): ifconfig ue0
    ue0: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500
            options=8000b <rxcsum,txcsum,vlan_mtu,linkstate>ether 00:24:9b:09:84:0f
            inet6 fe80::224:9bff:fe09:840f%ue0 prefixlen 64 scopeid 0x9
            inet 192.168.1.6 netmask 0xffffff00 broadcast 192.168.1.255
            nd6 options=1 <performnud>media: Ethernet autoselect (1000baseT <full-duplex,master>)
            status: active
    [2.1-RELEASE][root@pfSense.localdomain]/root(3):</full-duplex,master></performnud></rxcsum,txcsum,vlan_mtu,linkstate></up,broadcast,running,simplex,multicast> 
    

    Haha hardcore. First Freebsd thing I ever messed with. Maybe I didn't even need to buy one for $20 hahahaha. Can you test the throughput? There may be another change to get it to do usb 3.0 speeds. Are you on usb 2.0 or 3.0?

    What is your output of usbconfig


  • Netgate Administrator

    Nice one!  ;D
    There's no USB3 support at all in FreeBSD 8.3 as far as I know so that getting that working would be significantly more complex.

    Steve



  • @stephenw10:

    Nice one!  ;D
    There's no USB3 support at all in FreeBSD 8.3 as far as I know so that getting that working would be significantly more complex.

    Steve

    The xhci(4) driver, which supports Extensible Host Controller Interface (xHCI) and USB 3.0, has been added.[r215944]

    Are you sure? Seems like it started getting support in 8.2

    I have compiled for amd64 now as well. I am posting both.

    
    1\. download
    2\. rename to if_axge.ko
    3\. place in /boot/modules
    4\. md5 if_axge.ko and check against the md5 listed below
    
    
    
    #i386
    md5 if_axge.ko
    MD5 (if_axge.ko) = 69f1819099f9183865e5895d97a6e9ee
    
    
    
    #amd64
    md5 if_axge.ko
    MD5 (if_axge.ko) = afb51043416a0cc6cad7dfbe875a9809
    
    

    if_axge.ko.i386.txt
    if_axge.ko.amd64.txt


  • Netgate Administrator

    Hmm, fairly sure. There are many reports of the USB3 subsystem not showing up at all and I think at least some of them have been since 2.1 was released. Don't let me stop you trying though.  ;)

    Steve



  • [[b]update] I wasn't able to get the host to see the USB3 PCIe Adapter. I'm guessing driver support isn't included in this kernel.



  • @Huxy:

    [[b]update] I wasn't able to get the host to see the USB3 PCIe Adapter. I'm guessing driver support isn't included in this kernel.

    Which one? :P

    Also I got my Cable Matters adapter! Haha. Here are my results of some fiddling around.

    Virtualbox -> freebsd passthrough = Deteched sends SOME packets SOMETIMES
    ESXI -> debian = Works but limited to 12mbit in my setup. Verdict usable but needs some work
    ESXI -> pfsense = Works much better than the debian passthrough for some reason. Verdict maybe workable

    [2.1-RELEASE][root@pfsensedev.localdomain]/(12): ./speedtest-cli
    Retrieving speedtest.net configuration...
    Retrieving speedtest.net server list...
    Testing from Electronic Box (xxx.xxx.xxx.xxx)...
    Selecting best server based on ping...
    Hosted by TELUS (Montreal, QC) [7.35 km]: 96.083 ms
    Testing download speed........................................
    Download: 44.66 Mbit/s
    Testing upload speed..................................................
    Upload: 9.64 Mbit/s
    
    

    44.66 Mbit is not half bad! I am going to be moving away from esxi to ganeti (KVM maybe XEN) so I will see how it does in passthrough there later on.

    [2.1-RELEASE][root@pfsensedev.localdomain]/(25): ./speedtest-cli
    Retrieving speedtest.net configuration...
    Retrieving speedtest.net server list...
    Testing from Electronic Box (xxx.xxx.xxx.xxx)...
    Selecting best server based on ping...
    Hosted by Colo-Serv Communications (Montreal, QC) [7.35 km]: 83.923 ms
    Testing download speed........................................
    Download: 57.40 Mbit/s
    Testing upload speed..................................................
    Upload: 10.27 Mbit/s
    [2.1-RELEASE][root@pfsensedev.localdomain]/(26):
    
    

    This is with emulated E1000. It is just a VM with 256mb of ram and really low priority. It is not routing through its own wan but it is still routing through my main pfsense on the same atom box ;) Maybe I will do a LAN to LAN test later



  • I did some testing with pfSense and m0n0wall using the USB adapter as my WAN connection.
    Throughput on incoming traffic was really poor 0.5mbit/s but upload was fine at 10.5mbit/s.
    The net connection also stopped responding on two separate occasions and I was forced to reboot the pfSense VM.

    I installed a Debian based router instead as a test and I had full speed 125mbit/s and 10.5mbit/s speeds on my LAN clients. I'm not sure what the issue is to be honest, but it renders pfSense unsuitable for me at this point in time.



  • @Huxy:

    I did some testing with pfSense and m0n0wall using the USB adapter as my WAN connection.
    Throughput on incoming traffic was really poor 0.5mbit/s but upload was fine at 10.5mbit/s.
    The net connection also stopped responding on two separate occasions and I was forced to reboot the pfSense VM.

    I installed a Debian based router instead as a test and I had full speed 125mbit/s and 10.5mbit/s speeds on my LAN clients. I'm not sure what the issue is to be honest, but it renders pfSense unsuitable for me at this point in time.

    FreeBSD integration ranges from very poor to not as poor depending on your hypervisor choice.

    1. What are you using as a hypervisor?
    2. Does the hypervisor host OS support the usb nic?
    3. Are you passing through the usb device?



  • 1. What are you using as a hypervisor?

    I've been using a Xen 4.3 Wheezy based Hypervisor. I backported Xen and added PVUSB support to a recent kernel version. The VM is a QEMU traditional based HVM.

    2. Does the hypervisor host OS support the usb nic?

    Yes the host OS has drivers for it. In a debian VM it also works fine with PCI Passthrough.

    3. Are you passing through the usb device?

    I'm passing through the USB controller directly to the VM. The pfSense VM is then in control of both the USB driver and the NIC driver. I think I downloaded a PVHVM build of pfSense somewhere. That might have better luck..



  • @Huxy:

    I've been using a Xen 4.3 Wheezy based Hypervisor. I backported Xen and added PVUSB support to a recent kernel version. The VM is a QEMU traditional based HVM.

    You are using Xen on wheezy with Qemu-dm is what I gather?

    Yes the host OS has drivers for it. In a debian VM it also works fine with PCI Passthrough.

    This is probably because the debian has proper passthrough support.

    I'm passing through the USB controller directly to the VM. The pfSense VM is then in control of both the USB driver and the NIC driver. I think I downloaded a PVHVM build of pfSense somewhere. That might have better luck..

    Why not just create a virtual wan network using that as the physical adapter on the host and then using a virtual nic in the guest pfsense?



  • You are using Xen on wheezy with Qemu-dm is what I gather?

    Yes, not the upstream version

    Why not just create a virtual wan network using that as the physical adapter on the host and then using a virtual nic in the guest pfsense?

    I'm guessing this would work, but I was keen to keep the WAN external to the main hypervisor. I'm not an expert but I would think by passing through the device it would be more secure and reduce the amount of overhead required to communicate between the hypervisor and the guest. Given that Xen support and FreeBSD seems immature compared to it's linux brethren so it might be easier to go that route.

    With regards to the loss of connectivity, I think this might solve the issue with USB network interfaces.
    https://forum.pfsense.org/index.php/topic,72019.msg393187.html#msg393187



  • @Huxy:

    You are using Xen on wheezy with Qemu-dm is what I gather?

    Yes, not the upstream version

    Why not just create a virtual wan network using that as the physical adapter on the host and then using a virtual nic in the guest pfsense?

    I'm guessing this would work, but I was keen to keep the WAN external to the main hypervisor. I'm not an expert but I would think by passing through the device it would be more secure and reduce the amount of overhead required to communicate between the hypervisor and the guest. Given that Xen support and FreeBSD seems immature compared to it's linux brethren so it might be easier to go that route.

    With regards to the loss of connectivity, I think this might solve the issue with USB network interfaces.
    https://forum.pfsense.org/index.php/topic,72019.msg393187.html#msg393187

    I would keep it simple in regards to your WAN. Linux is far ahead in hardware support and integration with hypervisors that is for sure.



  • Hello, I know this thread is a year old but I'm having similar issues. First I'm a Windows guy with 1 yr as a junior Linux admin and very little BSD exp, so take it easy on me  ;D

    So the system I am working with a Dell D620 laptop with a USB Gigabit AX99179 adapter  http://www.amazon.com/gp/product/B00E44F3BO/ref=oh_aui_detailpage_o00_s02?ie=UTF8&psc=1

    I'm running into the same problems. I downloaded the 64 bit driver posted earlier and tried to install.

    
    [2.2-RELEASE][root@pfSense.localdomain]/boot/modules: kldload if_axge.ko
    kldload: an error occurred while loading the module. Please check dmesg(8) for more details.
    
    

    listing system.log I get

    
    Feb  1 20:08:55 pfSense kernel: interface axge.1 already present in the KLD 'kernel'!
    Feb  1 20:08:55 pfSense kernel: linker_load_file: Unsupported file type
    
    

    So based on this I'm assuming the driver is already present. So I went to the FreeBSD site and look at this https://www.freebsd.org/cgi/man.cgi?query=axge&sektion=4 and added

    if_axge_load="YES"
    

    to the loader.conf.wrapper. Still nothing. At this point I really could use some help. Here is my ifconfig and dmesg:

    
    [2.2-RELEASE][root@pfSense.localdomain]/boot/modules: ifconfig
    bwi0: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 2290
            ether DELETED
            nd6 options=21 <performnud,auto_linklocal>media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
            status: associated
    bge0: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500
            options=8009b <rxcsum,txcsum,vlan_mtu,vlan_hwtagging,vlan_hwcsum,linkstate>ether DELETED
            inet6 DELETED
            inet DELETED netmask 0xfffffe00 broadcast DELETED
            nd6 options=21 <performnud,auto_linklocal>media: Ethernet autoselect (100baseTX <full-duplex>)
            status: active
    pflog0: flags=100 <promisc>metric 0 mtu 33144
    pfsync0: flags=0<> metric 0 mtu 1500
            syncpeer: 224.0.0.240 maxupd: 128 defer: on
            syncok: 1
    lo0: flags=8049 <up,loopback,running,multicast>metric 0 mtu 16384
            options=600003 <rxcsum,txcsum,rxcsum_ipv6,txcsum_ipv6>inet 127.0.0.1 netmask 0xff000000
            inet6 ::1 prefixlen 128
            inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
            nd6 options=21 <performnud,auto_linklocal>enc0: flags=0<> metric 0 mtu 1536
            nd6 options=21 <performnud,auto_linklocal>bwi0_wlan0: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500
            ether DELETED
            inet6 DELETED bwi0_wlan0 prefixlen 64 scopeid 0x7
            inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
            nd6 options=23 <performnud,accept_rtadv,auto_linklocal>media: IEEE 802.11 Wireless Ethernet DS/1Mbps mode 11g
            status: associated
            ssid default channel 6 (2437 MHz 11g) bssid 08:10:74:18:1c:c2
            country US authmode OPEN privacy OFF txpower 0 bmiss 7 scanvalid 60
            bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5
            protmode CTS</performnud,accept_rtadv,auto_linklocal></up,broadcast,running,simplex,multicast></performnud,auto_linklocal></performnud,auto_linklocal></rxcsum,txcsum,rxcsum_ipv6,txcsum_ipv6></up,loopback,running,multicast></promisc></full-duplex></performnud,auto_linklocal></rxcsum,txcsum,vlan_mtu,vlan_hwtagging,vlan_hwcsum,linkstate></up,broadcast,running,simplex,multicast></performnud,auto_linklocal></up,broadcast,running,simplex,multicast> 
    
    
    Root mount waiting for: usbus4
    ugen4.4: <o2>at usbus4
    Root mount waiting for: usbus4
    ugen4.5: <realtek>at usbus4
    umass0: <ethernet data="">on usbus4
    umass0: Get Max Lun not supported (USB_ERR_STALLED)</ethernet></realtek></o2> 
    
    
    ugen2.1: <uhci root="" hub="" intel="">at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
    ugen1.1: <uhci root="" hub="" intel="">at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
    ugen0.1: <uhci root="" hub="" intel="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
    ugen4.1: <ehci root="" hub="" intel="">at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
    ugen3.1: <uhci root="" hub="" intel="">at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA)
    ugen4.2: <product 0xa005="" vendor="" 0x413c="">at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (2mA)
    ugen4.3: <product 0x7761="" vendor="" 0x0b97="">at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (200mA)
    ugen4.4: <o2micro ccid="" sc="" reader="" o2="">at usbus4, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (0mA)
    ugen4.5: <usb 101001000="" lan="" realtek="">at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (100mA)</usb></o2micro></product></product></uhci></ehci></uhci></uhci></uhci> 
    
    
    [2.2-RELEASE][root@pfSense.localdomain]/boot/modules: usbconfig -d ugen4.5 dump_device_desc
    ugen4.5: <usb 101001000="" lan="" realtek="">at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (100mA)
    
      bLength = 0x0012
      bDescriptorType = 0x0001
      bcdUSB = 0x0210
      bDeviceClass = 0x0000
      bDeviceSubClass = 0x0000
      bDeviceProtocol = 0x0000
      bMaxPacketSize0 = 0x0040
      idVendor = 0x0bda
      idProduct = 0x8153
      bcdDevice = 0x3000
      iManufacturer = 0x0001  <realtek>iProduct = 0x0002  <usb 10="" 100="" 1000="" lan="">iSerialNumber = 0x0003  <0023566C5827>
      bNumConfigurations = 0x0002</usb></realtek></usb> 
    


  • All clues point to it being a realtek chip inside that usb ethernet adapter and not an asix88179. I personally have this one from amazon. There are many otheres. Amazon must have shipped you the wrong part or the specs are bad. I would stick with products with many reviews as there are know counterfit asix chips.

    http://www.amazon.com/Cable-Matters-SuperSpeed-Gigabit-Ethernet/dp/B00BBD7NFU/ref=sr_1_60?ie=UTF8&qid=1422838559&sr=8-60&keywords=88179



  • @bryan.paradis:

    All clues point to it being a realtek chip inside that usb ethernet adapter and not an asix88179. I personally have this one from amazon. There are many otheres. Amazon must have shipped you the wrong part or the specs are bad. I would stick with products with many reviews as there are know counterfit asix chips.

    http://www.amazon.com/Cable-Matters-SuperSpeed-Gigabit-Ethernet/dp/B00BBD7NFU/ref=sr_1_60?ie=UTF8&qid=1422838559&sr=8-60&keywords=88179

    Thanks for the quick reply Bryan!  I'll check out the link and make sure to leave a comment on the list I bought from.



  • Hi,

    I'm running into a rather strange problem using these interfaces on pfSense 2.2.6.

    I have two Digitus DN-3023 USB 3.0 NICs in my system which use the AX88179 chip:

    ugen0.7: <ax88179 asix="" elec.="" corp.="">at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (124mA)
    ugen0.8: <ax88179 asix="" elec.="" corp.="">at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (124mA)

    I've successfully configured pfSense as follows:

    Internet
        |
    Provider's router
        |
    10.1.1.0/24
        |
      WAN
    pfSense
    LAN1, LAN2 (vlans 3, 4)
        |
    10.1.3.0/24
    10.1.4.0/24
        |
      Switch
      |    |    |
    Clients (distributed over the two vlans)

    Everything was working as expected until I tried to update a Ubuntu PC (hash sum errors on downloaded packages). I noticed that also the md5sum of a downloaded Ubuntu ISO image was incorrect. (http://releases.ubuntu.com/wily/ubuntu-15.10-desktop-amd64.iso).

    When I connect directly to my provider's router I can update and can download a non-corrupted ISO image without any problem. So it has to be something in pfSense.

    Comparing the corrupted ISO on a binary level against a non-corrupted one along with some packet dumps, it seems like the corruption occurs at the beginning / end of packets in the download stream.

    At first I wanted to blame the 802.1Q setup, maybe these NICs aren't supported that well. I tried playing with the MTU on the LAN interfaces, reducing it to 1496 to compensate for the inserted vlan tags. This seemed to fix the issue. I was able to update and download the iso, but some websites would not load at all. I think this is due to the destination unreachable due to fragmentation ICMP traffic the WAN interface was sending out. So back to the standard MTU of 1500.

    Now I've disabled all vlan setup and the LAN interface (only one remaining) is running directly on the interface. But I'm still experiencing the corrupted downloads.

    • I still have a feeling this issue is related to these NICs, hence I'm posting in this topic
    • I think it's strange that such a low level issue, has so little impact. Only some HTTP streams are affected, everything else seems to work like a charm.
    • There's a third realtek interface in the system (on the mainbord), but this is not yet supported by the FreeBSD driver, so no other Interfaces to troubleshoot

    Does anyone have the slightest idea what might be going on here?</ax88179></ax88179>


  • Banned

    @DB9:

    Hi,

    I'm running into a rather strange problem using these interfaces on pfSense 2.2.6.

    I have two Digitus DN-3023 USB 3.0 NICs in my system which use the AX88179 chip:

    ugen0.7: <ax88179 asix="" elec.="" corp.="">at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (124mA)
    ugen0.8: <ax88179 asix="" elec.="" corp.="">at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (124mA)

    I've successfully configured pfSense as follows:

    Internet
        |
    Provider's router
        |
    10.1.1.0/24
        |
      WAN
    pfSense
    LAN1, LAN2 (vlans 3, 4)
        |
    10.1.3.0/24
    10.1.4.0/24
        |
      Switch
      |    |    |
    Clients (distributed over the two vlans)

    Everything was working as expected until I tried to update a Ubuntu PC (hash sum errors on downloaded packages). I noticed that also the md5sum of a downloaded Ubuntu ISO image was incorrect. (http://releases.ubuntu.com/wily/ubuntu-15.10-desktop-amd64.iso).

    When I connect directly to my provider's router I can update and can download a non-corrupted ISO image without any problem. So it has to be something in pfSense.

    Comparing the corrupted ISO on a binary level against a non-corrupted one along with some packet dumps, it seems like the corruption occurs at the beginning / end of packets in the download stream.

    At first I wanted to blame the 802.1Q setup, maybe these NICs aren't supported that well. I tried playing with the MTU on the LAN interfaces, reducing it to 1496 to compensate for the inserted vlan tags. This seemed to fix the issue. I was able to update and download the iso, but some websites would not load at all. I think this is due to the destination unreachable due to fragmentation ICMP traffic the WAN interface was sending out. So back to the standard MTU of 1500.

    Now I've disabled all vlan setup and the LAN interface (only one remaining) is running directly on the interface. But I'm still experiencing the corrupted downloads.

    • I still have a feeling this issue is related to these NICs, hence I'm posting in this topic
    • I think it's strange that such a low level issue, has so little impact. Only some HTTP streams are affected, everything else seems to work like a charm.
    • There's a third realtek interface in the system (on the mainbord), but this is not yet supported by the FreeBSD driver, so no other Interfaces to troubleshoot

    Does anyone have the slightest idea what might be going on here?</ax88179></ax88179>

    I know this is old but i wanted to supply a likely very plausible answer to this in case anyone else runs into this issue.

    If the provider is a DSL provider, and the providers modem is in bridge mode to connect to the pfsense, you MUST in almost all cases change the WAN port on the pfsense to an MTU of 1492, not 1496.  DSL uses a tagging on the packets simular to your vlan tags, and any packets exceeding 1492 cannot get through properly.

    This is confirmed on XO Communications DSL, CenturyLink DSL, Qwest DSL(bought by CenturyLink), and Integra DSL as well.  This could, and most likely was the cause of the issues quoted above, and most likely had nothing to do with the ASIX nics, or the fact they were USB.


Log in to reply