AW: axge0 and AX88179

Shteryana Shopova syrinx at freebsd.org
Thu May 25 21:51:47 UTC 2017


Hi all,

I've experienced a similar problem but didn't get to analyzing it
deeper (or reporting) unfortunately ; the device is

ugen0.8: <ASIX Elec. Corp. AX88179> 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  <000000000000C>
  bNumConfigurations = 0x0001

what I've noticed so far -

dhclient complains about wrong ip length -

% sudo dhclient ue1
DHCPDISCOVER on ue1 to 255.255.255.255 port 67 interval 7
ifconDHCPDISCOVER on ue1 to 255.255.255.255 port 67 interval 15
ip length 328 disagrees with bytes received 332.
accepting packet with data after udp payload.
DHCPOFFER from 192.168.10.1
DHCPREQUEST on ue1 to 255.255.255.255 port 67
ip length 328 disagrees with bytes received 332.
accepting packet with data after udp payload.
DHCPACK from  192.168.10.1
bound to  192.168.10.7 -- renewal in 3600 seconds.

Running iperf3 & watching netstat -i at the same time on the interface
in question shows increasing InErrors on the interface -
Name    Mtu Network       Address              Ipkts Ierrs Idrop
Opkts Oerrs  Coll
...
ue1    1500 <Link#4>      00:0e:c6:c6:db:ea    66333   354     0
35939     0     0
ue1       - 192.168.10.0/24  192.168.10.7           66323     -     -
  35927     -     -

Iperf reports ~37.1 Mbits/sec on the interface.

If I attach the device on a USB2 port (or force USB2 speed on the
port) I was able to get ~ 150-200Mbits on the same system with the
same device.

This particular system has an Intel Lynx Point USB 3.0 controller

pciconf -lv | grep -A 4 xhci
xhci0 at pci0:0:20:0:      class=0x0c0330 card=0x8179103c chip=0x8c318086
rev=0x05 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '8 Series/C220 Series Chipset Family USB xHCI'
    class      = serial bus
    subclass   = USB

,is running FreeBSD 12.0-CURRENT #19 r315483M (M stands for a patch
similar to https://people.freebsd.org/~syrinx/freebsd_xhci-20170318-01.diff
needed to trick the controller on that particular system to actually
use USB3.0 speeds).

The same ASIX AX88179 device worked just fine reaching over 500
Mbits/sec on another system running 11.0-RELEASE-p7 with a different
USB 3 controller (will double check and report back at first
opportunity).

Hope this helps.

cheers,
Shteryana


On Thu, May 25, 2017 at 11:13 PM, Tom Huerlimann
<office at thuinformatik.ch> wrote:
> From: Hans Petter Selasky [mailto:hps at selasky.org]
> On 05/25/17 20:37, Tom Huerlimann wrote:
>>> Hi all,
>>>
>>> I have the problem, that I cannot reach more than 20-40Mbit/s when
>>> using the
>>> AX88179 chip (1Gbit/s NIC) on a USB 3.0 SuperSpeed Port (same on a
>>> 480Mbps High Speed USB v2.0-Port).
>>>
>>> # 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 EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1>> 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 USB Storage, class 0/0, rev 2.00/94.51, addr 1>> on
>>> usbus0
>>> ugen0.3: <vendor 0x05e3>> at usbus0
>>> uhub2: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/85.36, addr 2>>
>>> on
>>> usbus0
>>> ugen1.2: <vendor 0x8087>> at usbus1
>>> uhub3: <vendor 0x8087 product 0x07e6, class 9/0, rev 2.00/0.14, addr
>>> 2>> 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 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/85.36, addr 4>>
>>> on
>>> usbus0
>>> ugen0.6: <vendor 0x0461>> at usbus0
>>> ukbd1: <vendor 0x0461 USB Wired Keyboard, class 0/0, rev 2.00/1.50,
>>> addr 5>> on usbus0
>>> uhid1: <vendor 0x0461 USB Wired Keyboard, class 0/0, rev 2.00/1.50,
>>> addr 5>> 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
>>>
>>> I'm using FreeBSD 10.3-RELEASE-p19.
>>>
>>> Did someone of you ever managed to reach a higher bandwidth with axge
>>> driver and AX88179 chipset?
>
>>Yes, you can reach more than 100Mbit/s with USB 3.0.
>
>>What does ifconfig say about this device?
>
> # 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
>
> The host uses the device to be able to act as www-gateway. As soon the WAN
> link
> is connected to this AX88179 device the speed drops to 20-40Mbit/s.
> If WAN link is connected to internal <RealTek 8168/8111 B/C/CP/D/DP/E/F/G
> PCIe Gigabit Ethernet>
> then the host/device is reaching the speed limit of 400Mbit/s.
> The device uses a direct connection to the WAL link, RJ-45 Kat6 cable.
> I observe the same behaviour on FreeBSD 10.1-RELEASE-p25.
>
> The only thing I can find on the web is
> https://forum.pfsense.org/index.php?topic=72019.0
> I don't have the problem described in the headline: "randomly loses
> connection, and reboot is only solution."
> My experience is: (Somethimes!) If link is lost, then a reboot of the OS is
> required to bring back the functionality of the NIC.
>
> Editing /boot/loader.conf.local and changeing kern.ipc.nmbclusters="0" to
> kern.ipc.nmbclusters="32768" does not solve the performance issue.
>
> Does someone have an idea what I did forget to check/verify?
>
> -Tom


More information about the freebsd-net mailing list