Hacker News new | ask | show | jobs
by gerdesj 25 days ago
I have no idea why we had red cables. There is absolutely no engineering reason why, when ethernet became a thing, that MDI-X wasn't sorted out automatically with some sort of signalling protocol. It was almost certainly a cost thing and that would probably been at the penny level (fuck customers - they don't cost me at the component stage).

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.

4 comments

It was, quite simply, a very different time. This stuff was designed in the nineteen eighties.

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. :)

I ran 10base2 (coax) between two hubs in 1994ish: Out of a window, over the roof and back through a window. The building was a bakery (pie factory) in the Newnham industrial estate, Plymton, near Plymouth, Devon, UK.

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.

I learned what a crossover cable was as a teenager because I was in an electronics store buying an ethernet cable and I picked the cool-looking black-and-red cable. Then the guy behind the counter told me that the cool-looking cable I picked is a special cable and instead handed me a boring grey cable. :(
I thought that it was patent related, other than adding slightly more PHY complexity
Ehhh twisted pair came from the time of 10 mbit hubs. No processing or switching, every port heard every packet. Silicon was at a premium. Automatic switching between MDI/MDI-X would have made the hubs way more expensive. Only a few years before that we'd string the computers on a coax cable and had all kinds of nasty reflections when there was a literal kink in the cable or a terminator missing.

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.

I hate how USBC is actually electrically directional. And that some shitty devices sont fully implement things properly so it still is only one way to insert it, but both work physically.
If the devices at each end of the cable are built to spec, and the cable itself is also built to spec, and nothing is damaged, then: USB-C is always ambidextrous.

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.

Idiot proofing is part of what makes a good spec good.
The spec is good. Spec-compliant devices tolerate idiot users extremely well.

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.)

Implementers and end users are both customers of the spec.
I see a lot of complaining and very little proposed alternatives. What do you propose USB-C standard should have done?
Sure.

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.