AX88179 USB-to-Ethernet is slow and silently corrupts data
clay at milos.co.za
clay at milos.co.za
Wed Apr 11 06:30:54 UTC 2018
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 at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-usb
> To unsubscribe, send any mail to "freebsd-usb-unsubscribe at freebsd.org"
More information about the freebsd-net
mailing list