USB 3.0 to 10/100/1000 Gigabit RJ45 Ethernet LAN 1000Mbps Network Adapter (WHL #34)
While I’m at computer peripherals…this one has been laying around for quite some time. Bought in January 2017 for 5.68€ on AliExpress, but current pricing is basically the same. Guess IC prices haven’t dropped much, although laptops that do not carry an ethernet port due to height limitations have become more common. Yeah, bullshit, but Jon Doe likes thin hardware with cooling problems. Always reminds me of the Macbook Air / Thinkpad X300 ad parody…
That aside, I really wanted to compare this Gigabit adapter with the two other types of network interfaces that I have available – some Realtek onboard stuff that I deem “good enough” for everyday use, and some PCIe addon card from Intel that is usually considered worth the upgrade (after all, people still buy sound cards, right?). The counter part would always be the integrated Intel NIC from my Thinkpad T400.
Turns out, that doesn’t work. It works for both onboard and Intel card, but the USB adapter simply refuses to work in Windows and several Linux distributions. But first things first.
The device comes in a nice paper package that doesn’t really feel as cheap as expected. The front only says “USB3.0 Ethernet Adapter” (WC0065 1178497.GSXXV. B.32_0000.N W009A341(2/10) – whatever that sticker means), the back has a little more detail on it. There’s also the “4088153RY” barcode on the device itself that does yield some search results of similar devices. Engrish incoming, the cheapness level slowly increases to over 9000.
USB 3.0 to Gigabit Ethernet Network Adapter was made up of strong plastics [that’s the main reason I bought it for!)], with selected materials and fine workmanship [we’ll see that in a minute]. It transforms the 10/100/1000M Ethernet port to high Speed USB3.0 [3.1 Gen1, amateurs!] transfer interface port for computers connection to the Internet.Set Gigabit Ethernet connection Tablet PC/Ultrabook /Mac Book / Laptop / Desktop Computers easily.
Integrate USB3.0 PHY controller, compliant to USB3.0 transmission standard, compatible with USB2.0/USB1.1. Support all USB3.0 power saving mode of U0/U1/U2/U3, support bus power supply or automatic detection of power supply equipment at USB super speed / high speed / full speed mode with the function of the PHY Circulation Diagnose. [I bet that part is straight out of Google Translate, isn’t it?]
Use single chip USB 3.0 to 10/100/1000M Gigabit Ethernet controller, support IEEE 802.3azenergy-saving Ethernet(EnergyEfficientEthernet/EEE); [these IEEE numbers are getting out of control!]
support Ipv4 and IPv6 packet checksum and offloadengine(COE), TCP large send to uninstall V1 [what?], mega frame, effectively reduce the CPU load; support IEEE802.1p secon layer priority encoding and decoding; supportfull-duplextransmission, IEEE802.3x flow control and half duplex backpressure flow control;support the paralleldetection and automatic polaritycorrection [MDI/MDIX? That’s mandatory for Gigabit…]; support Wake-on-LANfunction through the link change,magic bag[MAGIC BAG!], Microsoft Wake-on-Lan function or external pin-wake intosleep mode or remote Wake-on-Lan.
The Application Range
Suitable for desktop and notebook computer/tablet computer, Ultrabook. Support WindowsXP, Vista,7, 8, or 32 bit and 64 bit oprtating system; support MAC OS XV10.6 and Win CE, 10.8, Windows Mobile6, MAC, LINUX, compatible with almost all of the operating systems in the market; support hot plug, allow you to connect to the 10/100/1000M network to experience the high speed Internet.
Made in China
I think I like the magic bag best.
What’s under the hood? Glad you asked. I didn’t take a peek upfront, instead I spent well above 5 hours of configuration clicking in Windows, exploring the depths of the registry, old, unplugged and invisible devices in the hardware manager, strange cases of Windows not accepting gateway settings, plus some fiddling under various Linux live distros – and some solid hours of Watchcut videos on the laptop nearby. I would have shattered it to pieces if I had to focus the entire time on that piece of shit…
Simple construction – bottom lid is easily removed, the PCB is held in by a single screw: (after first removal, the lid flaps around in the breeze and needed some hot snot to attach properly)
Bottom of the PCB: Not that much on there, a 25.000 MHz crystal, a chip labelled GAL1217 25Q80BSIG E4H157 (“GigaDevice” brand 25Q80BSIG type 8-Mbit SPI flash, 20mA active / 5µA sleep consumption on 3.3V) and quite a lot of passives around the chipset. Note that the RJ45 jack does have two mounting holes populated per side, but only one is soldered on.
Top side: Well, surprise, surprise, the Ethernet jack is purely mechanical and needs some SWAPnet brand W1143 NS892402P magnetics, which doesn’t seem to have a public datasheet available. I found some NS892402 non-P PDF in a forum, which is attached to this post in case you want to have a look. The main chip is a Realtek RTL8153 G3K45E1 GG15, which apparently is one of the first USB3 to Gigabit solutions after the popular ASIX AX88179 made it to market. The datasheet to this one is much easier to find, and it is pretty detailed on its 33 pages (depending on revision and NDA level). DC-DC for the necessary core voltage(s) seems integrated, there’s just a tiny inductor and some capacitors visible, but no separate chip for that.
Well, I’m not a big fan of that USB wiring. It does seem to do the job, but I wouldn’t associate it with the “fine workmanship” claim on the packaging
It’s working fine under Ubuntu 16.04.3 LTS with kernel 4.10:
usb 10-2: new SuperSpeed USB device number 3 using xhci_hcd
usb 10-2: New USB device found, idVendor=0bda, idProduct=8153
usb 10-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 10-2: Product: USB 10/100/1000 LAN
usb 10-2: Manufacturer: Realtek
usb 10-2: SerialNumber: 00E04C680126
usb 10-2: reset SuperSpeed USB device number 3 using xhci_hcd
r8152 10-2:1.0 eth1: v1.08.8
IPv6: ADDRCONF(NETDEV_CHANGE): enx00e04c680126: link becomes ready
r8152 2-2:1.0 enx00e04c680126: carrier on
RTL8153 as expected, handled by the r8152 driver. The eth1 label is of course dependent on the overall network config and mine is getting renamed to some weird ass enx + serial number (MAC!) identifier, but can be renamed manually to something like eth1.
sudo ifup enx00e04c680126=dhcp
Internet Systems Consortium DHCP Client 4.3.3
Copyright 2004-2015 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/enx00e04c680126/00:e0:4c:68:01:26
Sending on LPF/enx00e04c680126/00:e0:4c:68:01:26
Sending on Socket/fallback
DHCPREQUEST of 192.168.0.129 on enx00e04c680126 to 255.255.255.255 port 67 (xid=0x420e0e3b)
DHCPREQUEST of 192.168.0.129 on enx00e04c680126 to 255.255.255.255 port 67 (xid=0x420e0e3b)
DHCPNAK from 192.168.0.1 (xid=0x3b0e0e42)
DHCPDISCOVER on enx00e04c680126 to 255.255.255.255 port 67 interval 3 (xid=0xe4b3016d)
DHCPREQUEST of 192.168.0.104 on enx00e04c680126 to 255.255.255.255 port 67 (xid=0x6d01b3e4)
DHCPOFFER of 192.168.0.104 from 192.168.0.1
DHCPACK of 192.168.0.104 from 192.168.0.1
bound to 192.168.0.104 -- renewal in 352209 seconds.
ifup and ifdown work as expected (what is the DHCPNAK doing in there? Never seen that!), but as this laptop only has an USB 3.0 Express Card and no on-board ports, it doesn’t really work as fast as a on a computer with native USB3 ports. It does, to emphasize that, but it’s only half to 2/3 of Gigabit speeds. So…I went to plug it into my Windows machine. Which is where I lost an entire day of my life because, ehem, this RTL8153 chippy is a piece of shit.
Let me explain what I found out: It did work fine on the laptop, which has USB 2.0 ports from the Intel ICH9 (GM45 chipset), and also the Express Card ports provided by the NEC/Renesas uPD720200. It obviously cannot shove a Gigabit through the 480Mbit of USB2, but it doesn’t reach full bandwidth on the PCIe 1.1 x1 connection (2Gb/s, full duplex) of the Express Card either. Same is true for my higher-end USB flash drives, so that low performance is caused by a combination of chipset of card and mainboard, as well as possibly power saving features. After all, this board is 2008 vintage, and Lenovo never was quick at getting new tech into their Thinkpads. So the Realtek chip doesn’t have to be at fault here.
It’s a little bit different on the desktop computer. The machine isn’t the most recent as well, but it has USB 3.0 onboard. So the main chipset, an AMD 970 with SB950, only offers USB 2.0 – and that works fine (as I noticed countless hours later ). For USB 3.0, it uses an ASMedia 1042 controller (not sure if 1042 or 1042A – device ID string is VEN_1B21&DEV_1042&SUBSYS_84881043&REV_0, so probably non-A version). That is also doing fine – when an USB 2.0 extension cord (or power meter) is used, so that is has to fall back to USB 2.0 transfers. If you run the USB 3.0 host chip and the USB 3.0 network adapter on full USB 3.0 SuperSpeed…it does not work. I know, I know, who would ever do such a thing, but I wanted to know. And there is no sign of general problems – no popups of “uuh, this device can do this and that if you use a different port”, there is no sudden disconnect of the adapter (aside from the initial one when Windows has no drivers – is that a clue), there is no entry in the system logs of both Windows or Linux, and Linux is also not complaining at all. It just sits there, presents a network interface to the system, randomly accepts and sends packets, but it DOES. NOT. FRIGGEN. WORK. At all. Not with DHCP autoconfig, not with manual config in a DHCP enabled network, not in a two-computer direct setup. I tried different drivers for Windows (current 7.0.35 and older 7.0.30 – thanks Realtek for not providing these on your website from the early 1990s) and also different versions of the r8152 Linux driver across several live distributions (including the v1.08.8 that works on the Thinkpad). On the contrary, I never had USB issues on that mainboard, that is, after the ASMedia drivers have matured quite a bit from the old days of “woo, new USB 3.0”. Both the mainboard and the USB network adapter work absolutely fine with literally anything else that I have access to – but there is no way to make this Realtek adapter work with the ASMedia 1042 host interface on USB 3.0 speeds. Period.
As I don’t give a flying fuck whether that is the fault of Realtek or ASMedia, I’ll just post the results of the adapter running in the 2.0 mode. Dear Realtek, if that bothers you and makes your hardware look shitty: Make your friggen device work with this standard USB chip. Or, if it can’t, just issue a warning via the driver, like FTDI does when it detects some China fakes. Or just kill the entire device when a faked chip is detected, like FTDI did for a short time (which I fully support – having ongoing issues with flaky, dicky RS232 converters ruins your day, every time). But having a perfectly “functional” device sitting there that simply refuses to even connect to any network is unacceptable!
So here’s the benchmarks – no looking pretty for the 8153! But the good old 8168 is really hitting hard on that 30 bucks EXPI9301CT / 82574L card…
I’ve also benched the other way round, meaning the other device is playing server instead of client. That’ll just flip RX and TX in theory, and I’d take the deviations as measurement uncertainty. Not really much happening, but have a look yourself:
(bäm, 110 MB/s+ – or USB2 bandwidth limit for…certain…competitors)
UDP doesn’t really shine, I guess that can be tweaked with the RX/TX buffers, so that packets don’t get dropped or changed in their order, which also seems to count as lost packet, requiring a retransmit and therefore lowering overall throughput. That’s for whatever reason especially brutal at 2k transmit size, where the 8153 actually wins by a huge margin. Hooray!
Power consumption, just by the way, is 140 to 160 mA = 0.7 to 0.8W straight. Once it has picked up a connection, it slurps this amount of power, regardless of being idle or transmitting at a whooping 30 MB/s. I’m not sure how that is possible, but it really does get warm the same amount no matter the network load. So that is, depending on your application, really neat or really wasting power. I wonder if all the promised power saving modes are exclusive to the USB 3.0 mode?
My verdict: Buy a ASIX AX88179 device instead. Similar power consumption, probably needs driver download as well, but known to work with basically anything that looks like USB. I might even bench such a device from work in the next few weeks and update the results. Personally, I’m done with both Realtek and ASMedia (which btw. is held 41% by ASUS, go figure…), and my next machine will be free of ASMedia at all, and I’ll avoid Realtek as much as possible. Hard to get something different as a sound chip, but I’ll go the extra mile if there’s a motherboard available. That shit really pissed me off big time…
And now: Happy new year, see you with proper Wan Hung Lo failures in 2018!