📅 January 25, 2017
USB 3.0/3.1 is fast enough to accommodate almost any external device at full speed. This includes network adapters.
Need an extra RJ-45 network port on your system? Do you have a portable netbook or laptop that you need to plug into a LAN quickly?
The Plugable USB 3 ethernet adapter is a small device that allows you to connect a computer to a LAN through a USB port. It offers full duplex throughput up to gigabit speeds if connected to a USB 3.0/3.1 port. And best of all, it is 100% plug-and-play compatible with Linux.
Here are my results after using this device with Linux Mint 18.1 and USB 2/3/3.1.
The Gigabit Adapter
This USB device serves the same purpose as the Ableconn USB 3 ethernet adapter. If you have used one of these before, then you know what to expect. Plug it into any free USB port, and then plug a standard network cable into the adapter (assuming the other end of the cable connects to your LAN).
This version has a Type-A USB connector. A version with a Type-C connector is also available, but I did not have one of those to try.
I tried Xubuntu 14.04 and Linux Mint 18.1, and this adapter works perfectly with both. Simply plug it in, and Linux automatically recognizes it. No manual driver installation was needed.
IP Address Assignment
Linux treats the USB adapter as a regular NIC (Network Interface Card), so you can assign a static IP address or use DHCP. You can configure this adapter like any other NIC.
USB Port Compatibility
Even though the box touts “USB 3.0,” you can plug this into any USB port, and it will work. However, you will be limited to whatever speed of the USB port you use.
For example, USB 3.0 and USB 3.1 (using a PCIe USB 3.1 card) both allow the adapter to operate at the full gigabit Ethernet speed. I saw not difference in performance from a motherboard Ethernet port or a dedicated Ethernet NIC. File transfers were as fast as gigabit Ethernet would allow.
However, a USB 2.0 port was much, much slower when connected to the same gigabit LAN. Not because the adapter was faulty, but because USB 2.0 is limited to 480 Mbps max.
So, does this operate at full gigabit speeds?
Yes…IF plugged into either a USB 3.0 or USB 3.1 port. USB 2.0 is slower. I performed synthetic 16GB data transfers with netcat between two computers connected to the same gigabit LAN.
On the listening computer:
nc -l 11111 > /dev/null
On the sending computer:
dd if=/dev/zero bs=1073741824 count=16 | nc -v 192.168.10.10 11111
192.168.10.10 is the static IPv4 address assigned to the USB 3 adapter. I also unplugged all other network cables and manually specified a route using the USB adapter.
sudo route add -net 192.168.10.0 netmask 255.255.255.0 dev eth3
This tells Linux to use the adapter when talking to the 192.168.10.0 network, which is the LAN for this test. The sending system recognized the adapter as eth3. (The predictable network naming system was disabled.)
For comparison, I also tested the Plugable adapter with the Acer Aspire One 722 netbook running Xubuntu 14.04. The netbook is limited to a USB 2.0 port, and its built-in Ethernet port is limited to 10/100Mbps, not gigabit.
USB 2.0/3.0/3.1 used the same system. USB 3.0 and USB 3.1 tie at 115.4 MiB/s since this is the limit of gigabit Ethernet under ideal conditions.
When plugged into a USB 2.0 port, the maximum transfer rate dropped to 43.1 MiB/s. This is normal due to the limitations of USB 2.0. (Remember to restart bmon and iftop and set the route again when unplugging and re-plugging the adapter into different USB ports.)
The netbook was interesting. The Acer Aspire 722 has a built-in 10/100Mbps Ethernet port, and this is a case of where an external USB network adapter would be useful.
When connecting the netbook to a LAN using an Ethernet port, speeds top out at a constant 11.7 MiB/s. But when the USB 3.0 adapter is plugged into the netbook’s USB 2.0 port, then the transfer rate is increased to over triple the speed at 37.3 MiB/s. However, the netbook’s USB 2.0 rate is still a little lower than a full system’s USB 2.0 rate.
7G File Transfer
How about transferring a real file? I formed a 7GB ZIP file of random data, and used time in Bash to measure how long it would take to transfer over the network using the FTP protocol. I installed ftp-upload for this.
sudo apt-get install ftp-upload
ftp-upload is a program designed to script file transfers.
time ftp-upload -h 192.168.10.10 -u username -p password -d ~ data.zip
data.zip is the 7GB data file, and 192.168.10.10 is the destination computer to transfer the file to. This test was performed with each USB port to check for differences. An SSD to SSD file transfer was performed to eliminate any hard drive bottlenecks.
USB 3.0 and USB 3.1 pretty much tie again due to the limitations of gigabit Ethernet. Both took a little over one minute to transfer 7GB while the USB 2.0 port took almost three minutes at 2m48.2s.
We have another product that lives up to its box claims! With a USB 3.0/3.1 port, the Plugable USB Ethernet Adapter will transfer files as fast as a plugin NIC, and it plays seamlessly with Linux.
A device like this is especially useful with a netbook or for any situation requiring a quick but speedy network connection without opening up a computer.