Posted by calcifer 2 days ago
/* * RealTek 8129/8139 PCI NIC driver * * Supports several extremely cheap PCI 10/100 adapters based on * the RealTek chipset. Datasheets can be obtained from * www.realtek.com.tw. * * Written by Bill Paul <wpaul@ctr.columbia.edu> * Electrical Engineering Department * Columbia University, New York City / / * The RealTek 8139 PCI NIC redefines the meaning of 'low end.' This is * probably the worst PCI ethernet controller ever made, with the possible * exception of the FEAST chip made by SMC. The 8139 supports bus-master * DMA, but it has a terrible interface that nullifies any performance * gains that bus-master DMA usually offers. * * For transmission, the chip offers a series of four TX descriptor * registers. Each transmit frame must be in a contiguous buffer, aligned * on a longword (32-bit) boundary. This means we almost always have to * do mbuf copies in order to transmit a frame, except in the unlikely * case where a) the packet fits into a single mbuf, and b) the packet * is 32-bit aligned within the mbuf's data area. The presence of only * four descriptor registers means that we can never have more than four * packets queued for transmission at any one time. * * Reception is not much better. The driver has to allocate a single large * buffer area (up to 64K in size) into which the chip will DMA received * frames. Because we don't know where within this region received packets * will begin or end, we have no choice but to copy data from the buffer * area into mbufs in order to pass the packets up to the higher protocol * levels. * * It's impossible given this rotten design to really achieve decent * performance at 100Mbps, unless you happen to have a 400Mhz PII or * some equally overmuscled CPU to drive it. * * On the bright side, the 8139 does have a built-in PHY, although * rather than using an MDIO serial interface like most other NICs, the * PHY registers are directly accessible through the 8139's register * space. The 8139 supports autonegotiation, as well as a 64-bit multicast * filter. * * The 8129 chip is an older version of the 8139 that uses an external PHY * chip. The 8129 has a serial MDIO interface for accessing the MII where * the 8139 lets you directly access the on-board PHY registers. We need * to select which interface to use depending on the chip type. */
Oh no!
> /* * RealTek 8129/8139 PCI NIC driver * * Supports several extremely cheap PCI 10/100 adapters based on […]
Also, please, for the love of whatever entity, at least remove the *s on that paste. This is just atrocious and disrespectful of any reader.
It is probably the speed of it being read into RAM.
Try entering sync right after copying to see how long it really takes
It beats my previous desktop's RAM speed, what a time to live in.
Of course, just give them some time and they'll come up with USB4 "gen classic" at 11 Mbps.
https://www.aliexpress.com/item/1005008555989592.html
I have one of these, though I'm using with a USB 3.x port as that's what my desktop has. For me it's working fine, and for others with actual USB 4 ports it seems to be working properly for them.
Interestingly it seems to get burning hot on the MacBook M1 Pro while it remains cool on the M5 Pro model.
Maybe the workload is different, but I would not rule out some sort of hardware or driver difference. I only use a 1G port on my router at the moment.
I am definitely not the person to shed any light on what is going on, but you've added to my feeling that these adapters are all incomprehensible, so I'll try and do the same for you.
I have a USB C ethernet adapter (a Belkin USB-C to Ethernet + Charge Adapter which I recommend if you need it). I ran out of USB C ports one day, and plugged it through a USB C to USB A adapter instead. I must have done an fast.com speed-test to make sure it wasn't going to slow things down drastically, and found that the latency was lower! Not a huge amount, and I think the max speed was quicker without the adapter. But still, lower latency through a $1.50 Essager USB C to USB A adapter, bought from Shein or Shopee or somewhere silly!
I tried tons of times, back and forward, with the adapter a few times, then without the adapter a few times. Even on multiple laptops. As much as I don't want to, I keep seeing lower latency through this cheap adapter.
Next step, I'll try USB C to USB A, then back through a USB A to USB C adapter. Who knows how fast my internet could be!
(Fibre is nowhere near as "sensitive" as some people believe.)
What probably would is something like having PCIe and USB to 1Gbps fiber adapters that cost $5.
I suspect the combination of the absence of cheap-o all-in-one AP/router combo boxes with any SFP+ cages and fiber cabling's reputation of being extremely fragile have much more to do with its scarcity at the extremely low end of networking gear than anything else.
[0] This is a two-port SFP+ PCI Express card
https://www.amazon.com/1000Mbps-Network-Performance-Gigabit-...
https://www.amazon.com/SALAN-Ethernet-Portable-Internet-Conv...
But it's not competing with those, it's competing with the copper port which is already built into most devices.
Another thing that would work is something like this (also $5.99), but with one of the ports as fibre:
https://www.amazon.com/Gigabit-Ethernet-Splitter-1000Mbps-In...
The point being you need some cheap way to plug in existing copper devices if you run fibre to the endpoints.
This plus $5 for a transceiver is pretty close at $15:
https://www.amazon.com/Gigabit-Ethernet-Converter-Auto-Negot...
But +$15 and an extra wall outlet per endpoint is still an inconvenience, and if a two-port device with its own power supply can be made for $15 then where is the PCIe/USB to fibre adapter for <$10?
Yep. Good NICs last for approximately forever, life's way too short to deal with maybe-flaky NICs, and the price difference between the Amazon Special and something that's going to be reliable is -what- two big boxes of Cheerios? Two dozen eggs? Not. Worth it.
> But it's not competing with those, it's competing with the copper port which is already built into most devices.
Correct! That's part of why I was so very surprised to see you suggesting that extremely cheap PCI Express and USB adapters would "solve the chicken and egg problem".
> The point being you need some cheap way to plug in existing copper devices if you run fibre to the endpoints.
That's called a multi-port switch. Netgear sells five-port gigabit ones for like 20 USD. Switches that have two SFP+ cages and eight copper gigabit ports [0] are six times the price of a cheap-o Netgear switch, but are something that's going to last at least a decade. It's also pretty uncommon to find SOHO switches that have SFP+ cages and don't have at least one fixed copper port.
> This plus $5 for a transceiver is pretty close at $15:
If you're connecting a single device, why the hell would you use that when you could slap a copper SFP or SFP+ module in the switch's cage and run a cable? If you're connecting multiple devices, then either install multiple copper modules and run multiple cables, run multiple copper cables from fixed copper ports on the switch, or put a switch where the existing copper devices are.
The problem to be solved is that you want to be able to put fibre inside the walls of the building instead of copper. Running a new cable to the switch closet is the thing to be prevented.
But if the wall jacks are fibre then you need some economical way of hooking them up to every printer and single-purpose device with a network port. If you have to buy another $100+ switch just to get from fibre to copper even when there is only one device near that jack, people aren't going to go for that.
Anyone who talks about 25GBASE-T like it actually exists, doesn't know anything about what they're talking about.
40Gbase-T will never exist, sure. 25Gbase-T very likely will.
To be fair, the power consumption is also my biggest gripe with my WiFi 6 AP, they run extremely hot.
10Gbase-T, to try to get to 100m, throws FEC on it and converts the signal to 4x PAM-16/THP at 800 Mbd, and then uses 4 copper pairs *bidirectionally*. That's the analog magic.
Yes, that signal processing is massively more expensive. A 10Gbase-T PHY is a sophisticated DSP. Not sure if the power needs are exponential, given we only have a few data points, but it's in the ballpark.
(1000base-T PHYs are already DSPs, but nowhere near as sophisticated)
Heck, I don't even know what I should buy for 10G SFP+ ports and a distance of say 30 meters. Guess, I'm back to CAT6 :-)
If you learned what you need for 10GbT you can learn what you need for 10GbLR. Which is:
LC connector, PC or UPC, duplex, OS1 or OS2, and SFP+ modules saying "LR".
Any of the following is wrong: SC, FC, LSH, E2000, ST, APC, simplex, OM[1-5], "SR" or "ER" SFPs.
And that's short enough.
FS does custom multi-fiber cable assemblies too (beyond the duplex patches which is basically the standard), and they can also include pull eyes on them if that’d be helpful.
Single mode is a good choice, common wisdom used to be multimode for short runs but the single mode stuff is not much more expensive and the standard 10km optics will likely brute force the signal over any mistakes like cable kinks or dirt on the connectors.
So IDGAF about how much "better" fiber is. It's unfathomably worse when you factor in the cost and work I'd need to do to convert everything and every new adapter I'd have to buy or build (can I get an $80 USB SFP adapter? Do I have a cable?). The extra marginal cost in electricity will take longer than the lifetime of my equipment to exceed the cost of redoing everything.