Real-World Layer-2 GHOST – RealTek USB NIC is Total Junk vs Known Good Quality Replacements
Realtek RTL8153-based USB NIC
Troubleshooting (another) tech problem that should have been simple but instead became insanely obnoxious, costing some hours, hardware swaps, etc. Details at the bottom. Just below are known working USB NICs that do not use RealTek chipset.
1

StarTech USB 3.0 to Gigabit Ethernet Adapter (AX88179)
StarTech.com USB 3.0 to Gigabit Ethernet NIC Network Adapter – 10/100/100 Mbps Network Adapter – USB to Ethernet LAN Adapter – USB to RJ45 (USB31000NDS)
- Chipset: ASIX AX88179
- Speed: Gigabit
- Model:
USB31000S
https://amzn.to/4ioLFZm
2

StarTech USB 3.0 to Gigabit Ethernet Adapter (AX88179)
StarTech.com USB to Ethernet Adapter, USB 3.0 to 10/100/1000 Gigabit Ethernet LAN Adapter, USB to RJ45 Adapter, TAA Compliant
https://amzn.to/4ijGdqz
3

Cable Matters USB to Ethernet Adapter (AX88179)
Cable Matters Plug & Play USB to Ethernet Adapter with PXE, MAC Address Clone Support (USB 3.0 to Gigabit Ethernet, Ethernet to USB, Ethernet Adapter for Laptop) Supporting 10/100/1000Mbps
- Chipset: ASIX AX88179
- Speed: Gigabit
- Model: Varies (check for AX88179 in description)
https://amzn.to/428EaRk
4

Plugable USB 3.0 to Ethernet Adapter (AX88179)
Plugable USB to Ethernet Adapter, USB 3.0 to Gigabit Ethernet, Supports Windows 11, 10, 8.1, 7, XP, Linux, Chrome OS
- Chipset: ASIX AX88179 (confirmed)
- Speed: Gigabit (USB 3.0)
- Linux support: Native since kernel 3.9+
- Model:
USB3-E1000
https://amzn.to/3E6Cq1R
Bloody Details
RX Path Failure on USB NIC
eth3
could send packets (ping
,arping
,tcpdump
shows ARP requests)- But it never received replies from
.151
or.22
- Even ARP replies were not received, despite clearly being emitted
This is a classic symptom of:
🔧 Fault | Description |
---|---|
Dead RX PHY | The USB NIC hardware literally cannot receive |
USB power issue | Insufficient power to sustain full duplex operation |
Driver bug | Kernel sees interface, but NIC’s DMA never fills buffers |
PHY desync | Electrical-level mismatch between NIC and switch/peer |
Broken frame handling | RX checksumming silently drops frames |
2. Switch could not “see” or learn the USB NIC MAC
Switch MAC table may not have been populated correctly due to:
- Broken RX/ACK
- No successful bidirectional exchange
- Learning failure = dropped frames
3. Moving .87
to Intel NIC proves USB NIC was bad
Once you reassigned .87
to the Intel NIC:
- Full Layer 2/3 functionality restored
- Pings work
- ARP works
- Routing works
.151 ↔ .87
and.22 ↔ .87
all work
→ Zero software changes needed.
Why Intel NIC Works
Intel NICs (especially 82574, i219, i210) are:
- Very reliable
- Fully supported in Linux
- Clean DMA & buffer handling
- Excellent offload support
- No weird USB bottlenecks or power limits
How to Avoid This in the Future
Action | Benefit |
---|---|
Avoid Realtek / ASIX USB NICs for core networking | Eliminates 99% of weirdness |
Always test bidirectional ping + arping | Catch RX-only or TX-only failure |
Check tcpdump on both ends | Quickly spot one-way traffic |
Use ethtool -S to look for RX errors or overruns | Detect broken RX path |
Try direct cable with static IP | Bypasses switch confusion |
Bottom Line
The USB NIC (
eth3
) had a silent hardware or driver fault on receive.
Moving.87
to a good Intel NIC instantly restored proper function.
This validates that all your routing, ARP, and system setup were already perfect.
FAULTY VERSION
driver=r8152
driverversion=v1.12.13
firmware=rtl8153a-[3|4] v2 02/07/20
What’s the Problem with RTL8153?
Realtek RTL8153 (the chip inside both eth2 and eth3 here) is notorious for:
Issue | Explanation |
---|---|
Broken RX path under Linux | Common bug in r8152 driver, especially with power save |
Flaky link negotiation | Interface reports 1Gbps but link=no — switch may reject autoneg |
USB power suspend issues | Power management disables NIC RX silently |
MAC spoofing + RX combo bug | Certain MAC spoofing results in dropped incoming frames |
Needs driver patches | Newer kernel or backported r8152 fixes these (e.g., 2.15+) |
