Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
* [Cerowrt-devel] usb3 gigabit adapters
@ 2022-04-21  5:55 Matt Taggart
  2022-04-21  6:59 ` Sebastian Moeller
  0 siblings, 1 reply; 2+ messages in thread
From: Matt Taggart @ 2022-04-21  5:55 UTC (permalink / raw)
  To: cerowrt-devel

[-- Attachment #1: Type: text/plain, Size: 1391 bytes --]

Has anyone reviewed the various available usb3 gigabit adapters for 
features, linux driver support, bufferbloat, BQL(can usb NICs do BQL?), etc?

With some single board computers having reasonable usb3 now, I can see 
people making routers out of them. But it would also be good to know if 
that's reasonable and in general which to recommend.

Some searching in drivers/net/usb/ for gigabit capable things I found:

aqc111: Aquantia AQtion USB to 5GbE
ax88179_178a: ASIX AX88179, ASIX AX88178A, Sitcomm LN-032
lan78xx: 7800/7801 usb3 devices
r8152: r8153 usb3 devices
smsc75xx: only usb2?
Maybe there are others?

In real life I have:

1) an r8152 device (came with a Asus laptop). It's been reliable.

2) an ax88179_178a device 
(https://www.amazon.com/gp/product/B00MYTSN18). Worked at first, but 
started acting up after a recent kernel upgrade and I haven't tracked 
down what changed yet.

I've attached some ethtool output for the features of each.

Ebay has tons of $10 options, but little details. Some also have 
integrated USB ports on them, some are "docking station" like and have 
hdmi as well. If you search for "usb 3.2" you can find some that are 
2.5gbit.

Also some interesting (but from 2019) info in this post
https://raspberrypi.stackexchange.com/questions/100040/what-sort-of-throughput-is-achievabe-over-the-usb-3-0-port-on-the-pi-4

-- 
Matt Taggart
matt@lackof.org

[-- Attachment #2: ethtool-r8153.txt --]
[-- Type: text/plain, Size: 2046 bytes --]

# ethtool -i eth3
driver: r8152
version: v1.11.11
firmware-version: rtl8153a-2 v1 10/23/19
expansion-rom-version: 
bus-info: usb-0000:00:1d.7-1
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

# ethtool -k eth3
Features for eth3:
rx-checksumming: on
tx-checksumming: on
	tx-checksum-ipv4: on
	tx-checksum-ip-generic: off [fixed]
	tx-checksum-ipv6: on
	tx-checksum-fcoe-crc: off [fixed]
	tx-checksum-sctp: off [fixed]
scatter-gather: on
	tx-scatter-gather: on
	tx-scatter-gather-fraglist: on
tcp-segmentation-offload: on
	tx-tcp-segmentation: on
	tx-tcp-ecn-segmentation: off [fixed]
	tx-tcp-mangleid-segmentation: off
	tx-tcp6-segmentation: on
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: off [fixed]
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-gre-csum-segmentation: off [fixed]
tx-ipxip4-segmentation: off [fixed]
tx-ipxip6-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-udp_tnl-csum-segmentation: off [fixed]
tx-gso-partial: off [fixed]
tx-tunnel-remcsum-segmentation: off [fixed]
tx-sctp-segmentation: off [fixed]
tx-esp-segmentation: off [fixed]
tx-udp-segmentation: off [fixed]
tx-gso-list: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]
tls-hw-tx-offload: off [fixed]
tls-hw-rx-offload: off [fixed]
rx-gro-hw: off [fixed]
tls-hw-record: off [fixed]
rx-gro-list: off
macsec-hw-offload: off [fixed]

[-- Attachment #3: ethtool-ax88179_178a.txt --]
[-- Type: text/plain, Size: 2139 bytes --]

# ethtool -i enx000ec6bd480a
driver: ax88179_178a
version: 5.10.0-13-amd64
firmware-version: 
expansion-rom-version: 
bus-info: 2-2:1.0
supports-statistics: no
supports-test: no
supports-eeprom-access: yes
supports-register-dump: no
supports-priv-flags: no
# ethtool -k enx000ec6bd480a
Features for enx000ec6bd480a:
rx-checksumming: on
tx-checksumming: on
	tx-checksum-ipv4: on
	tx-checksum-ip-generic: off [fixed]
	tx-checksum-ipv6: on
	tx-checksum-fcoe-crc: off [fixed]
	tx-checksum-sctp: off [fixed]
scatter-gather: off
	tx-scatter-gather: off [fixed]
	tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
	tx-tcp-segmentation: off [fixed]
	tx-tcp-ecn-segmentation: off [fixed]
	tx-tcp-mangleid-segmentation: off [fixed]
	tx-tcp6-segmentation: off [fixed]
generic-segmentation-offload: off [requested on]
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: off [fixed]
tx-vlan-offload: off [fixed]
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: off [fixed]
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-gre-csum-segmentation: off [fixed]
tx-ipxip4-segmentation: off [fixed]
tx-ipxip6-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-udp_tnl-csum-segmentation: off [fixed]
tx-gso-partial: off [fixed]
tx-tunnel-remcsum-segmentation: off [fixed]
tx-sctp-segmentation: off [fixed]
tx-esp-segmentation: off [fixed]
tx-udp-segmentation: off [fixed]
tx-gso-list: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]
tls-hw-tx-offload: off [fixed]
tls-hw-rx-offload: off [fixed]
rx-gro-hw: off [fixed]
tls-hw-record: off [fixed]
rx-gro-list: off
macsec-hw-offload: off [fixed]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Cerowrt-devel] usb3 gigabit adapters
  2022-04-21  5:55 [Cerowrt-devel] usb3 gigabit adapters Matt Taggart
@ 2022-04-21  6:59 ` Sebastian Moeller
  0 siblings, 0 replies; 2+ messages in thread
From: Sebastian Moeller @ 2022-04-21  6:59 UTC (permalink / raw)
  To: Matt Taggart; +Cc: cerowrt-devel

[-- Attachment #1: Type: text/plain, Size: 2259 bytes --]

Hi Matt.


Over on the OpenWrt forum there are a lot of reports of tp-link's ue300 using an RTL8153 chip working robustly and reliably with speeds up to the expected limit for gigabit ethernet. Reports for Asix model(s) indicate some driver inefficiencies that make it impossible ot reach the expected 940-950 Mbps TCP/IPv4 goodput.

As far as I can tell none of the USB ethernet dongles support BQL... (this is why the OpenWrt on raspberry pi 4B crowd generally uses the USB dongle as the WAN interface and uses a traffic shaper there to keep latency under load in check, while the on-board ethernet adapter is used without saer as the LAN interface, typically connected to a switch).

Regards
	Sebastian


> On Apr 21, 2022, at 07:55, Matt Taggart <matt@lackof.org> wrote:
> 
> Has anyone reviewed the various available usb3 gigabit adapters for features, linux driver support, bufferbloat, BQL(can usb NICs do BQL?), etc?
> 
> With some single board computers having reasonable usb3 now, I can see people making routers out of them. But it would also be good to know if that's reasonable and in general which to recommend.
> 
> Some searching in drivers/net/usb/ for gigabit capable things I found:
> 
> aqc111: Aquantia AQtion USB to 5GbE
> ax88179_178a: ASIX AX88179, ASIX AX88178A, Sitcomm LN-032
> lan78xx: 7800/7801 usb3 devices
> r8152: r8153 usb3 devices
> smsc75xx: only usb2?
> Maybe there are others?
> 
> In real life I have:
> 
> 1) an r8152 device (came with a Asus laptop). It's been reliable.
> 
> 2) an ax88179_178a device (https://www.amazon.com/gp/product/B00MYTSN18). Worked at first, but started acting up after a recent kernel upgrade and I haven't tracked down what changed yet.
> 
> I've attached some ethtool output for the features of each.
> 
> Ebay has tons of $10 options, but little details. Some also have integrated USB ports on them, some are "docking station" like and have hdmi as well. If you search for "usb 3.2" you can find some that are 2.5gbit.
> 
> Also some interesting (but from 2019) info in this post
> https://raspberrypi.stackexchange.com/questions/100040/what-sort-of-throughput-is-achievabe-over-the-usb-3-0-port-on-the-pi-4
> 
> -- 
> Matt Taggart
> matt@lackof.org

[-- Attachment #2: ethtool-r8153.txt --]
[-- Type: text/plain, Size: 2119 bytes --]

# ethtool -i eth3
driver: r8152
version: v1.11.11
firmware-version: rtl8153a-2 v1 10/23/19
expansion-rom-version:
bus-info: usb-0000:00:1d.7-1
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

# ethtool -k eth3
Features for eth3:
rx-checksumming: on
tx-checksumming: on
	tx-checksum-ipv4: on
	tx-checksum-ip-generic: off [fixed]
	tx-checksum-ipv6: on
	tx-checksum-fcoe-crc: off [fixed]
	tx-checksum-sctp: off [fixed]
scatter-gather: on
	tx-scatter-gather: on
	tx-scatter-gather-fraglist: on
tcp-segmentation-offload: on
	tx-tcp-segmentation: on
	tx-tcp-ecn-segmentation: off [fixed]
	tx-tcp-mangleid-segmentation: off
	tx-tcp6-segmentation: on
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: off [fixed]
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-gre-csum-segmentation: off [fixed]
tx-ipxip4-segmentation: off [fixed]
tx-ipxip6-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-udp_tnl-csum-segmentation: off [fixed]
tx-gso-partial: off [fixed]
tx-tunnel-remcsum-segmentation: off [fixed]
tx-sctp-segmentation: off [fixed]
tx-esp-segmentation: off [fixed]
tx-udp-segmentation: off [fixed]
tx-gso-list: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]
tls-hw-tx-offload: off [fixed]
tls-hw-rx-offload: off [fixed]
rx-gro-hw: off [fixed]
tls-hw-record: off [fixed]
rx-gro-list: off
macsec-hw-offload: off [fixed]

[-- Attachment #3: ethtool-ax88179_178a.txt --]
[-- Type: text/plain, Size: 2210 bytes --]

# ethtool -i enx000ec6bd480a
driver: ax88179_178a
version: 5.10.0-13-amd64
firmware-version:
expansion-rom-version:
bus-info: 2-2:1.0
supports-statistics: no
supports-test: no
supports-eeprom-access: yes
supports-register-dump: no
supports-priv-flags: no
# ethtool -k enx000ec6bd480a
Features for enx000ec6bd480a:
rx-checksumming: on
tx-checksumming: on
	tx-checksum-ipv4: on
	tx-checksum-ip-generic: off [fixed]
	tx-checksum-ipv6: on
	tx-checksum-fcoe-crc: off [fixed]
	tx-checksum-sctp: off [fixed]
scatter-gather: off
	tx-scatter-gather: off [fixed]
	tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
	tx-tcp-segmentation: off [fixed]
	tx-tcp-ecn-segmentation: off [fixed]
	tx-tcp-mangleid-segmentation: off [fixed]
	tx-tcp6-segmentation: off [fixed]
generic-segmentation-offload: off [requested on]
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: off [fixed]
tx-vlan-offload: off [fixed]
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: off [fixed]
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-gre-csum-segmentation: off [fixed]
tx-ipxip4-segmentation: off [fixed]
tx-ipxip6-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-udp_tnl-csum-segmentation: off [fixed]
tx-gso-partial: off [fixed]
tx-tunnel-remcsum-segmentation: off [fixed]
tx-sctp-segmentation: off [fixed]
tx-esp-segmentation: off [fixed]
tx-udp-segmentation: off [fixed]
tx-gso-list: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]
tls-hw-tx-offload: off [fixed]
tls-hw-rx-offload: off [fixed]
rx-gro-hw: off [fixed]
tls-hw-record: off [fixed]
rx-gro-list: off
macsec-hw-offload: off [fixed]

[-- Attachment #4: Type: text/plain, Size: 173 bytes --]

> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-04-21  6:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-21  5:55 [Cerowrt-devel] usb3 gigabit adapters Matt Taggart
2022-04-21  6:59 ` Sebastian Moeller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox