USB 3.0 1Gbit/s NIC with AX88179 Chipset only performing on ~25Mbit/s
-
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/sBecause 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> -
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 = 0x0001plugged 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 axge0dmesg | 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 axge0ifconfig
(...)
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: activenetstat -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> -
those are notorious for high cpu use and slow speeds; can you 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.
-
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.
-
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.