Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Apr 2018 08:24:10 +0200
From:      clay@milos.co.za
To:        Dieter BSD <dieterbsd@gmail.com>
Cc:        freebsd-usb@freebsd.org, freebsd-net@freebsd.org, freebsd-hackers@freebsd.org, freebsd-drivers@freebsd.org, owner-freebsd-usb@freebsd.org
Subject:   Re: AX88179 USB-to-Ethernet is slow and silently corrupts data
Message-ID:  <2cb00163a4b0165f6f05dff56a20ae56@milos.co.za>
In-Reply-To: <CAA3ZYrCW91_2NapFeELE4%2BdRBEXPdqGRpwN_UvakykHPfe3-Jw@mail.gmail.com>
References:  <CAA3ZYrCW91_2NapFeELE4%2BdRBEXPdqGRpwN_UvakykHPfe3-Jw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I have one of these (I think it's the same chipset, I know it's AX88xxx) 
and I've used it before without issue.
If I can find it at home and it's the same chipset I'll give it a whirl 
and check to confirm that it's not a hardware issue. Problem with these 
cheap USB-whatever adapters is that the quality control is not always 
server class :=)

\\Clay

On 2018-04-11 00:54, Dieter BSD wrote:
> 10.3-RELEASE
> amd64 with ECC memory
> VIA VL805 USB 3.0 controller
> ue0 is Siig USB-to-Ethernet  Chipset: AX88179
> 
> ugen0.7: <AX88179 ASIX Elec. Corp.> at usbus0, cfg=0 md=HOST
>    spd=SUPER (5.0Gbps) pwr=ON (124mA)
> 
> ue0: flags=8c43<UP,BROADCAST,RUNNING,OACTIVE,SIMPLEX,MULTICAST> metric 
> 0
>      mtu 1500
>         options=8000b<RXCSUM,TXCSUM,VLAN_MTU,LINKSTATE>
>         inet 10.0.210.66 netmask 0xffffff00 broadcast 10.0.210.255
>         nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
>         media: Ethernet autoselect (1000baseT <full-duplex>)
>         status: active
> 
> If media is set to "1000baseT <full-duplex>" it "works", but slowly, 
> and
> received data is silently corrupted. :-(  Transmitted data is not
> corrupted (tested with > 30 GB).
> 
> ifconfig ue0 -txcsum
> "works", but still gives silent data corruption
> 
> ifconfig ue0 -rxcsum  (acts the same with or without txcsum)
>   ping out
>     netstat sees packets both directions, but ping doesn't see the 
> response:
>     8 packets transmitted, 0 packets received, 100.0% packet loss
>   ping in
>    netstat sees packets in, but no responses going out
> 
> I can see that some Ethernet controllers would not support checksum 
> offloading,
> but it seems to me that turning the checksum offloading off should 
> always
> work? (at the expense of more cpu load)
> 
> Previously (2016 May):
>   # ifconfig ue0 media 100baseTX-FDX
>   fixed the input error problem and the data corruption problem,
>   at the expense of making it even slower.
> 
>   Sent data from machine A with 10Mbps Ethernet.  (Netgear Ethernet 
> switch
>   converts 10Mbps to 1000Mbps) Netstat did not report any input errors 
> on
>   ue0 and there was no data corruption.  So ue0 can handle gigabit data 
> rate,
>   but gets input errors if packets arrive too frequently.
> 
>   I tried moving it to a USB-2 port.  No data corruption, but USB-2 is 
> slow.
> 
>   The chip performs a lot better for tweaktown:
> 
> http://www.tweaktown.com/reviews/7243/vantec-cb-u300gna-usb-3-gigabit-network-adapter-review/index.html
>   (Vantec CB-U300GNA with the same Asix AX88179 chip)
>   "full duplex gigabit with 952 Mbps consistently across the chart"
> 
> http://www.vantecusa.com/products_detail.php?p_id=143&p_name=USB+3.0+Gigabit+Ethernet+Adapter&pc_id=21&pc_name=Network&pt_id=5&pt_name=Accessories
> 
>   Asix AX88179 chip:
>   http://www.asix.com.tw/products.php?op=pItemdetail&PItemID=131;71;112
>   "Supports Jumbo frame up to 4KB"
> 
>   But ifconfig rejects any value > 1500:
>   ifconfig ue0 mtu 1501
>   ifconfig: ioctl SIOCSIFMTU (set mtu): Invalid argument
> 
> I tried mtu of 100, 500, 1000, 1400 but they all give
> rcp: lost connection
> 
> USB disks are fast, so the USB controller seems to work ok.
> 
> I also tried a Tek Republic TUN-300 which has the same AX88179,
> and it acts the same as the Siig.
> 
> So, transmit works, but is slow.  Receive works if the amount of 
> traffic
> is low enough (limit rate of data sent, limit Ethernet speed, or
> use USB-2). But if data is received too fast it gets silently 
> corrupted.
> Setting -rxcsum does not work, and cannot set mtu other than 1500.
> 
> Questions:
>  Why does -rxcsum not work?
>  Why does attempting to set a larger mtu fail?
>  Why does setting a smaller mtu make rcp fail?
>  Why is the chip acting slow?
>  How do I get it to work properly? (fast and without data corruption)
> _______________________________________________
> freebsd-usb@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-usb
> To unsubscribe, send any mail to "freebsd-usb-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2cb00163a4b0165f6f05dff56a20ae56>