Working 1 Gbit/s Ethernet USB-C adapter
Published:
Early this year I bought a new laptop that has everything that I need except an Ethernet port. And so, I also had to get an Ethernet to USB adapter. The laptop I bought is the StarBook Horizon from starlabs. I also got the StarPort hub to go with it, because it has a few extra ports, including a gigabit Ethernet one.
The thing is, StarPort uses a Realtek chip for its Ethernet adapter, and these are very hit-or-miss devices in my experience. Here is what I get when I list the USB devices on my system:
lsusb | grep -i gigabit
Bus 002 Device 006: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
The adapter has been recognised alright, but something was not right.
The network feelt sluggish.
You can use ethtool to see what the system thinks your Ethernet
device is doing:
ethtool enp0s20f0u2u1u1
Settings for enp0s20f0u2u1u1:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 10Mb/s
Technically, the device is capable of pushing 1 Gbit/s, but the link's speed
is only 10 Mbit/s.
Forcing it to 1 Gbit/s manually with ethtool just brings
the interface down, hard.
Apparently, it can only push 100 Mbit/s reliably, and even this has to
be forced.
ethtool -s enp0s20f0u2u1u1 speed 100 duplex full
This was still not what I wanted, so I decided to look for another adapter. As it turns out, many Ethernet-to-USB adapters use the Realtek chip, but fortunately not all of them. I have finally found one with a ASIX AX88179A chip: a Delock USB Type-C™ Netzwerk Adapter Gigabit LAN 1 x RJ45 kompakt schwarz ASIX (yes, it is German). You have to be careful, though, because there is also a Realtek variant of this adapter.
After plugging the ASIX adapter directly into one of the laptop's USB-C
ports, I looked at what ethtool reported.
To my disappointment, I noticed that it did not report much—almost all the
fields were either blank, "not reported", or "unknown".
Linux includes a module (ax88179_178a) with a driver for the
chip, but for some reason it was getting skipped, and another driver
(cdc_ncm) was being loaded instead.
Exactly the situation described by
this thread
on Arch's forum.
However, despite the scary-looking lack of information from
ethtool, the adapter works perfectly fine.
It pushes 1 Gbit/s without any problems, as I have verified with
iperf3.
Installing ASIX's
own
driver fixed the problem of ethtool not being able to
report anything, and also enabled full features of the adapter.
Previous: Marty (1955)