3W with USB-GbE adapter vs 3E?

Does the GbE port on the 3E use a USB to Gigabit Ethernet converter on the board? And connect to the RK3566 SoC via USB?

Or is it a dedicated Ethernet connection direct to the SoC (and therefore better than using a 3W with an external USB to Gigabit Ethernet adapter?)

Well using dmesg… It is not obvious to me what Ethernet is bridged via USB…

[   24.466062] rk_gmac-dwmac fe010000.ethernet eth0: PHY [stmmac-1:00] driver [RTL8211F Gigabit Ethernet] (irq=POLL)
[   24.475873] dwmac4: Master AXI performs any burst length
[   24.475906] rk_gmac-dwmac fe010000.ethernet eth0: No Safety Features support found
[   24.475939] rk_gmac-dwmac fe010000.ethernet eth0: IEEE 1588-2008 Advanced Timestamp supported
[   24.476481] rk_gmac-dwmac fe010000.ethernet eth0: registered PTP clock
[   24.477220] rk_gmac-dwmac fe010000.ethernet eth0: configuring for phy/rgmii link mode
[   28.558586] rk_gmac-dwmac fe010000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx

However… looking at the USB bus…

Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The vendor id of 1d6b… has provision for an ‘ethernet’ gadget…

At device id 0103…

0103 NCM (Ethernet) Gadget

I don’t see 0103 device id on the USB bus, but not sure that says anything. So I would say, likely, it is Ethernet bridged across USB until someone says otherwise.

Thanks for checking.

Looking at the RK3566 datasheet, the SoC does support Ethernet directly: https://www.boardcon.com/download/Rockchip_RK3566_Datasheet_V1.1.pdf (Sections 1.2.15 and 1.3). But no confirmation if this is what the Ethernet port on the 3E uses.

The IDs from lsusb don’t seem to show any USB Ethernet adapter connected, then it looks like it might be using the Ethernet directly, but can’t confirm.

Right, since we could not find any obvious indicator of Ethernet over USB, not sure how it is implemented per se.

The testing I have done, the Ethernet port is fast as far as SBCs go. I have an IndieDroid NOVA which is a bit older now, but rock chip based, the zero3e speed is comparable to it, I have like 500 down and 25 up (all I need), and the zero3e consistently did about 440 down and about 23 up.

However, I did not have any attached to the USB bus at the time… I will try to get around to that later today or tomorrow, connect a USB drive, and generated some disk IO then try the network IO tasking again, see what results.

For reference I am using the b6 Debian xfce build, but I also plan to use the newer Ubuntu server build, which is much more current, kernel 6.1+, etc., released in April 2024, where as the official Debian build is old as dirt so to speak, kernel 5.1. For my future use cases I need several of the now in-kernel drivers that are only appearing in kernel 6.2 and later.

That would be a very interesting test.

I will be receiving a 3W shortly, and I can run a similar test with a USB to Ethernet adapter connected.

Found the answer in the schematic: https://dl.radxa.com/zero3/docs/hw/3e/radxa_zero_3e_v1200_schematic.pdf

The Ethernet on the 3E doesn’t going through USB. There’s an external RTL8211F chip for the Ethernet PHY and that goes straight to the Gigabit Ethernet MAC on the RK3566. (this was also confirmed by your dmesg output)

Which, I did not notice explicitly until last night, when I notice the RTL reference, looking for something else. This also, suggests why the throughput on the Ethernet NIC did comparatively well when I ran the internet speed tests, noted before. LOL… maybe this will encourage other SBC designers to do the same?

Getting about 330Mbps on Zero 3W with a USB3-Gigabit Ethernet adapter connected to the USB-C port.

Tested using iperf3 with a direct connection to laptop.