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

    USB 3.0 1Gbit/s NIC with AX88179 Chipset only performing on ~25Mbit/s

    Scheduled Pinned Locked Moved Hardware
    6 Posts 4 Posters 3.6k 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.
    • T
      TomTheOne
      last edited by

      Hi all

      I've plugged in a AX88179 based USB 3.0 1Gbit/s NIC to a USB 3.0 Port. I'm using axge driver built in FreeBSD and pfSense.

      I can not reach more speed as 20-40Mbit/s (max). The same behaviour on a USB 2.0 Port.
      I can reproduce the problem with pfSense 2.2.6 and 2.3.4 (both x64).

      ipconfig showing: media: Ethernet autoselect (1000baseT <full-duplex,master>)
      usbconfig showing: ugen0.7: <ax88179 asix="" elec.="" corp.="">> at usbus0, cfg=0 md=HOST spd=SUPER>> (5.0Gbps) pwr=ON (124mA)
      No packet loss or re-transmit detected; Just poor performance.

      If using internal <realtek 8111="" 8168="" b="" c="" cp="" d="" dp="" e="" f="" g="" pcie="" gigabit="" ethernet="">there is no such speed limit and good performance.

      Facts:
      USB 1.0/1.1 Full-Speed - 0,2 MByte/s
      USB 2.0 Highspeed - 60 MByte/s
      USB 3.0 Superspeed - 625 MByte/s

      Because of 0.2 MByte/s limitation by USB 1.0, my question is: Does the pfSense FreeBSD Kernel come with support of USB 2.0/3.0?
      If not, how can i add USB 2.0/3.0 support for my Intel BayTrail USB 3.0 controller?</realtek></ax88179></full-duplex,master>

      1 Reply Last reply Reply Quote 0
      • T
        TomTheOne
        last edited by

        I found USB 2.0/3.0 support should be available in the kernel:

        https://github.com/pfsense/FreeBSD-src/blob/devel/sys/amd64/conf/GENERIC

        usbconfig dump_device_desc

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

        bLength = 0x0012
          bDescriptorType = 0x0001
          bcdUSB = 0x0300
          bDeviceClass = 0x00ff  <vendor specific="">bDeviceSubClass = 0x00ff
          bDeviceProtocol = 0x0000
          bMaxPacketSize0 = 0x0009
          idVendor = 0x0b95
          idProduct = 0x1790
          bcdDevice = 0x0100
          iManufacturer = 0x0001  <asix elec.="" corp.="">iProduct = 0x0002  <ax88179>iSerialNumber = 0x0003  <00000000000001>
          bNumConfigurations = 0x0001

        plugged into this USB controller:

        dmesg | grep -i usb

        xhci0: <intel baytrail="" usb="" 3.0="" controller="">mem 0xd0800000-0xd080ffff irq 20
        at device 20.0 on pci0 usbus0 on xhci0
        ehci0: <intel baytrail="" usb="" 2.0="" controller="">mem 0xd0815000-0xd08153ff irq 23
        at device 29.0 on pci0
        usbus1: waiting for BIOS to give up control
        usbus1: timed out waiting for BIOS
        usbus1: EHCI version 1.0
        usbus1 on ehci0
        usbus0: 5.0Gbps Super Speed USB v3.0
        usbus1: 480Mbps High Speed USB v2.0
        ugen1.1: <intel>at usbus1
        uhub0: <intel 1="" 9="" ehci="" root="" hub,="" class="" 0,="" rev="" 2.00="" 1.00,="" addr="">on usbus1
        ugen0.1: <0x8086> at usbus0
        uhub1: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
        ugen0.2: <generic>at usbus0
        umass0: <generic 0="" 1="" usb="" storage,="" class="" 0,="" rev="" 2.00="" 94.51,="" addr="">on usbus0
        ugen0.3: <vendor 0x05e3="">at usbus0
        uhub2: <vendor 2="" 9="" 0x05e3="" usb2.0="" hub,="" class="" 0,="" rev="" 2.00="" 85.36,="" addr="">on
        usbus0
        ugen1.2: <vendor 0x8087="">at usbus1
        uhub3: <vendor 2="" 9="" 0x8087="" product="" 0x07e6,="" class="" 0,="" rev="" 2.00="" 0.14,="" addr="">on
        usbus1
        ugen0.4: <pcasl>at usbus0
        ukbd0: <pcasl remot="" control="">on usbus0
        uhid0: <pcasl remot="" control="">on usbus0
        ugen0.5: <vendor 0x05e3="">at usbus0
        uhub4: <vendor 4="" 9="" 0x05e3="" usb2.0="" hub,="" class="" 0,="" rev="" 2.00="" 85.36,="" addr="">on
        usbus0
        ugen0.6: <vendor 0x0461="">at usbus0
        ukbd1: <vendor 0="" 5="" 0x0461="" usb="" wired="" keyboard,="" class="" 0,="" rev="" 2.00="" 1.50,="" addr="">on usbus0
        uhid1: <vendor 0="" 5="" 0x0461="" usb="" wired="" keyboard,="" class="" 0,="" rev="" 2.00="" 1.50,="" addr="">on usbus0
        ugen0.7: <asix elec.="" corp.="">at usbus0
        axge0: <networkinterface>on usbus0
        ue0: <usb ethernet="">on axge0

        dmesg | grep -i axge

        axge0: <networkinterface>on usbus0
        miibus2: <mii bus="">on axge0
        ue0: <usb ethernet="">on axge0
        axge0: at uhub1, port 7, addr 6 (disconnected)
        axge0: <networkinterface>on usbus0
        miibus2: <mii bus="">on axge0
        ue0: <usb ethernet="">on axge0
        axge0: <networkinterface>on usbus0
        miibus2: <mii bus="">on axge0
        ue0: <usb ethernet="">on axge0

        ifconfig

        (...)
        ue0: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500
                options=8000b <rxcsum,txcsum,vlan_mtu,linkstate>ether a4:f7:d0:00:19:a0
                inet6 fe80::a6f7:d0ff:fe00:19a0%ue0 prefixlen 64 scopeid 0x7
                inet 1.2.3.4 netmask 0xfffffff8 broadcast 1.2.3.9
                inet 1.2.3.5 netmask 0xfffffff8 broadcast 1.2.3.9
                inet 1.2.3.6 netmask 0xfffffff8 broadcast 1.2.3.9
                inet 1.2.3.7 netmask 0xfffffff8 broadcast 1.2.3.9
                inet 1.2.3.8 netmask 0xfffffff8 broadcast 1.2.3.9
                nd6 options=21 <performnud,auto_linklocal>media: Ethernet autoselect (1000baseT <full-duplex,master>)
                status: active

        netstat -s | egrep -i 'loss|retran'

        0 data packets (0 bytes) retransmitted
                        0 data packets unnecessarily retransmitted
                0 retransmit timeouts
                        0 retransmitted
                        0 retransmitted DATA chunks
                        0 fast retransmitted DATA chunks
                        0 TSN's marked for Fast Retran

        #usbdump -i usbus0 -f 7 -s 65535 | grep -i ERR

        No errors get recorded.

        Did someone of you ever managed to reach a higher bandwidth with axge driver
        and AX88179 chipset?</full-duplex,master></performnud,auto_linklocal></rxcsum,txcsum,vlan_mtu,linkstate></up,broadcast,running,simplex,multicast></usb></mii></networkinterface></usb></mii></networkinterface></usb></mii></networkinterface></usb></networkinterface></asix></vendor></vendor></vendor></vendor></vendor></pcasl></pcasl></pcasl></vendor></vendor></vendor></vendor></generic></generic></intel></intel></intel></intel></ax88179></asix></vendor></ax88179>

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

          those are notorious for high cpu use and slow speeds; can you add a pcie card?

          1 Reply Last reply Reply Quote 0
          • G
            gjaltemba
            last edited by

            I use AX88179 usb nic with Firmware Version: ASIX AX88179 USB 3.0 Gigabit Ethusb-0000:05:00.0-1 in a pfSense vm using vmxnet3 driver. No complaints so far. Interested in how you test.

            1 Reply Last reply Reply Quote 0
            • S
              Stan464
              last edited by

              USB NIC's are Generally not advisable, i would recommend using a PCI-E NIC by Intel. or Re branded as HP as thats my currently Daily for PFSense.

              1 Reply Last reply Reply Quote 0
              • T
                TomTheOne
                last edited by

                Hi all

                those are notorious for high cpu use and slow speeds; can you add a pcie card?
                I can not identify high CPU load/use. Unfortanetly, i can not add a PCIe card.

                I use AX88179 usb nic with Firmware Version: ASIX AX88179 USB 3.0 Gigabit Ethusb-0000:05:00.0-1 in a pfSense vm using vmxnet3 driver. No complaints so far. Interested in how you test.
                I use the axge driver (https://www.freebsd.org/cgi/man.cgi?query=axge&sektion=4) on a physical box - maybe the vmxnet3 driver on a virtual box is more stable.

                I configured tagged VLANs for now, but hope to be able to use the USB NIC somedays.

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