To be fair, I don't know why USB had to wait until a few years back to stop acting quantum with its C incarnation. As you know a USB interface with two possible orientations will require at least three insertion attempts.
I grew up with RS232 and expected better. I had to wait quite a long time. USB C is quite good.
Old 10base-T ethernet used one pair of wires for transmit, and another pair of wires for receive (and the other 2 pairs? they did nothing at all!). This worked for the usual case of plugging computers into a hub.
It was Good Enough, and it fit the style of the time.
Could it have been done better? Sure! But that would have added complexity, and adding complexity means even more cost.
And all of this Ethernet hardware was already very expensive. A person who had enough money get into 10base-T hardware probably also had enough money to get a crossover cable in their hands.
The expense is why people like you and I grew up with using RS-232: That was the affordable way to get computers to talk together.
(Let me guess: You also had a run-in with 10base2 once that became cheap-enough, and you also spent way too long soldering together a cable to get PLIP going between a pair of computers)
---
Anyway, auto MDI/MDI-X is pretty much a solved problem these days. At this point there are surely people reading these pages who have been doing stuff with computers and Ethernet for their entire lives and have never needed to know what a crossover cable is.
This, too, is Good Enough. :)
Hilliers had two sites with a road in between. We had an IBM System/36 (with a dicky fan which needed prodding in summer or the box would shutdown due to overheating). Once we surrounded it with bags of solid CO2 in a really hot summer to keep it running.
The two sites were linked with synced modems on standard phone lines. Normally serial lines are async but these things ran as sync. Even back then a change would take milli-seconds to perhaps deci-seconds to process so why on earth require sync! There will be a reason and it will have been forgotten by today's slapdash approach to nearly everything.
Compared to that, 10BaseT was easy mode. Someone who could manage to keep a coax network working had no difficulty making a cross cable.
By the time switches came along and then 100BaseT, auto MDI switching was no longer expensive and pretty standard. When gigabit came it actually became a requirement of the standard.
The spec works fine. It really does. It is complete and functional in its ambidextrous nature.
The usual problems happen when people and/or companies don't spend the time to understand it, and/or find merit in shaving a few tenths of a cent on the BOM. In these instances, we get out-of-spec things that quite predictably work in out-of-spec ways.
The implementers of the spec are sometimes errant nimrods, though. Errant nimrods can bring a bad time to any party they decide to be involved in. This can be particularly problematic when they're weaponized by having their own manufacturing divisions.
(And that's not new: Errant nimrods have been in charge of manufacturing fucked up devices for as long as we've had devices for them to fuck up. Probably centuries, by now; maybe longer.)
But only one of these groups is responsible for supplying actual-fucking-hardware to the group that simply uses it.
And sometimes, that group consists of errant fucking nimrods.
There's also other ways.
Like USB tethering. Plug the computer into the Android phone with a regular USB cable that is already kicking around. No ethernet adapter required; the phone behaves as a network adapter in and of itself. The computer keeps the phone charged. This worked at least as far back as the OG Motorola Droid, in 2009. (Drivers may be a fun thing to get working depending on the OS, but that's just a software problem.)
Or: Other hardware that is already laying around. The old home network router that has been hosting generations of spiders for over a decade, in a dusty cardboard box at the back of a closet next to the favorite pair of shoes that are simply too nice to ever get worn? There's a good chance that it's hackable and able to run custom firmware. Stuff a period-correct copy of OpenWRT or DD-WRT or Tomato or [something] into it, and turn it into a wifi client bridge so your old Ethernet stuff can chat on the wifi network. (I've had the big, color HP laser printer at the shop connected this way with a hacked Linksys WRT54G for very nearly two decades so far. Part of me says I should upgrade that box one of these years, but it still works fine and I find this amusing.)
Or: Rube Goldberg minimalism. The Raspberry Pi Zero W that is in the drawer next to the extra key for the Ford that got sold a decade ago (and the spiders; there's always spiders): It runs Linux just fine. It talks wifi. It can talk RNDIS to a USB-connected Windows computer. It can therefore become a wifi-to-usb bridge, wherein the computer doesn't even know that it's talking to a wifi network. Drivers for this are built-ins as far back as XP and are downloadable for windows 9x. (The PC provides the power for the Zero W over the same cable that the data flows over.)
There's lots of ways that many/most of us computer-types can get this done without spending a dime, or ever waiting for a delivery. :)
Android USB tethering uses the RNDIS standard, which I believe goes back to the Windows 95 era, so there's certainly no shortage of driver support.
But I've heard rumblings that Linux is dropping/has dropped RNDIS from the kernel. That's unfortunate; it may be broken and ugly, but it's useful and I like useful things. (Those interested in the uber-security can just never install the kernel module, I'd like to think.)
And I've never spent much quality time with a Mac[1]. I'm lead to believe that RNDIS is a third-party thing there.
But, sure: It's all solvable. For getting an old PC online with parts already on-hand, it might even be worth solving. The amount of fun this entails just depends on the OS. :)
[1]: I once had a stunningly-beautiful dumpster-score G4 iMac with an absolutely gorgeous 20" screen, the SuperDrive, and all the RAM. If it had any pores on its flawless exterior, then those pores would have had an effluence of unbridled sex and the most forbidden of fruits just eeking out of them like the exquisite nectar of some kind of visceral deity, and that, if consumed, would constitute such an unholy and sinful act of gustation that books would have been written about it and then transcribed and passed down generationally until the very last moment of the end of all time -- to serve as a warning to others.
It was a very special machine.
Anyway, I just wanted to use it on the bench in the garage to read auto repair manuals, browse some repair forums, and listen to music on Spotify. I couldn't get all of those things done acceptably at that time under any operating system.
Like many so many other beautiful things that ultimately turn out to be impossible to cohabitate with, it turns out that I should have just left it there in that dumpster to begin with.
And that was enough Macintosh for me. I'm over it. No idea what happened to it. With any luck, it got beaten, crushed, and set on fire before finally being buried forever in a landfill, whereafter it can never tempt anyone again.
If you're in a desperate situation where RNDIS does get removed from the kernel but you still need it, I'm guessing there may either be out-of-tree modules you could build, or if all else fails, you could run a VM with an older kernel.
Pre-made wireless bridges generally have web interfaces (and/or dreadful phone apps) to get them set up and chatting the right way.
It's a process that's very similar to that of configuring a home network router, except the bridge works in the opposite direction.
In this way, the devices with ethernet jacks have no idea what things like WEP, WPA, or wifi even are. And that's kind of the whole point. :)
These devices have the wifi/ethernet bridge functionality being discussed, (as well as a bunch of other stuff) and are OpenWRT based. Built in openvpn/wireguard as well. We bought a bunch for our team way back when (IIRC they were < $20 USD then) Gl.iNet has other similar more powerful devices as your use case may need.
The issue you're describing would only be relevant is we used a USB (or other connection type) Wifi adapter.
I would say since it has mpci it’s easy enough to patch the bios and run a newer WiFi chip inside so you’re not locked into this but this is a great workout for older pcs.
Alternatively, many usb WiFi dongles do have windows xp support but yeah with the new standards def something else. It’s a cool workaround!
I wonder what LLMs would suggest as the first option to accomplish that...
Modern ethernet supports Auto MDI-X, which manages that automagically for you.
> https://en.wikipedia.org/wiki/Ethernet_crossover_cable