Why does USB-B exist? (computer cable)

Is the cable doing something beyond connecting two devices?

Let’s say there are six wires…A, B, C, D, E & F.

USB-A has those connections and USB-B has those same connections. The wires run from one end to the other…A, B, C, D, E & F on both ends. The only difference is how they are arranged at each end in a different plug. The cable has nothing “smart” in it to alter the signal. It is a path. A bridge from one thing to another. It is up to the devices on either end to deal with what they are sending/receiving. The cable has nothing to do with it.

I do not want to be a pain about this but I really am not seeing why USB-A differs from USB-B except in the plug shape.

Having dedicated A (host) and B (peripheral) plugs physically prevents the user from connecting two host devices together. If two host devices are connected that both supply power, that could be a problem…like starting a fire—or at least damaging the devices.

Does an extension cord do anything but connect 2 or 3 wires?

It doesn’t.

But, it prevented people from doing stupid things, like plugging two printers into each other.

Right, and there is a reason that there are no legal power extension cords with male plugs at each end (aka “suicide cables”).

I can plug my cell phone into a battery and my cell phone charges. I can also plug my cell phone into another cellphone with low battery and it will charge that cell phone.

I use USB-A → USB-A cables all the time. Have forever. No problem (using some now). Same with USB-A → USB-C. No problem (again, using some now).

Why are printers and scanners and the odd external hard drive special when everything else works with no problem?

What you might be thinking about as a USB-A->USB-A cable isn’t really that kind of cable. A USB-A–>USB-A would have a USB-A connector on each end, like this:

I don’t think those kinds of cables are very common.

Only with USB-C. If you had tried that with old school USB it wouldn’t have worked. USB-C has a whole raft of additional capabilities that finally sorted out the majority of the problems with early USB. USB-C isn’t just a different connector. It provides a backwards compatibility mechanism to let you connect dumb USB devices via USB-C, but it that is all.

Depends for what. USB introduced a variant, on-the-go that allowed a device to operate as either host or peripheral. But that came a lot later. It allowed a lot of useful capabilities that the original USB system simply could not provide.

The point remains - the original USB system was only a host → peripheral protocol and electrical design. The cabling system made sense. Later new capabilities were added. That doesn’t mean the early design was stupid. Improvements just made it obsolete.

That’s not true. I own some. And they are a bad idea, because usb-c can carry more power than usb-a did. I burned out a device i cared about using that dongle. :cry:

(Usb-c devices can negotiate how much power they want. Usb-a/b devices don’t do that.)

I doubt everything else “works with no problem”. You seriously did not notice that, before USB-C became standardized, all the peripherals had a USB-B (standard, mini, or micro) connector?

They exist… I needed one to connect an Nvidia Shield TV to a computer, for example. You would only need them for such niche cases (also, USB A/B is legacy now)

USB-A → USB-A cables violate the USB 1.0 and 2.0 specifications. If you connect two power-supplying devices together with them (like two laptops), you can fry them.

I guess some electronics manufacturers make all kinds of non-compliant devices, even ones that are a bad idea.

And yet really common:

https://www.monoprice.com/product?p_id=5443

I was under the impession the original (big) B connector (which I recall was called the “D” connector) was the original design for USB to connect peripherals to a PC, typically the printer. (Replacing things like the clunky centronics printer plug, RS-232 plug etc.) The mini versions came along as an afterthought when it was also needed for other peripherals like web cameras that would benefit from a smaller plug. Unfortunately, this lead to the same problem as before - too many different types of cables. (Especially, adding in the iPhone connectors)

On top of that, every different type of cellphone appeared to have it’s own power plug, often hard-wired to the charger brick. When USB-C came along, the EU mandated it as the connector standard for all cellphones to charge with, to reduce the confusion and e-waste that happened every time someone changed phones - and so chargers. Apple eventually had to comply too.

As mentioned, originally USB was only wire-to-wire extension cords. By the time USB-C was developed, it was very cheap to put basic electronic control so that a mistake in connections simply did nothing.

There’s the joke that when the inventor of the USB-A plug dies, they’ll put his coffin in the ground, pull it out, flip it over, put in back in the ground. Then, pull it out and flip it to put it back in the first way.

I don’t know about common, but in any case the state of USB in 2026 is wholly different from when it was released three decades ago in 1996.

It’s like asking why we invented saddles when cars don’t even use them.

To expand. Because these are all peripheral devices. They are dumb. Even in the modern world they are generally not endowed with compute capabilities that make them do anything other than behave as dumb peripherals.

Just how dumb a printer or scanner can be is something to behold. Disk drives are an anomaly as modern disks have enough compute in them that they could run a local fully capable operating system. But that compute is directed at making them perform. The interface they provide over USB hasn’t really changed. It has just got faster. There is no capability inside any of these peripherals that makes sense to connect them to another peripheral. It makes as much sense as taking a length of garden hose and connecting two lawn sprinklers togther.

After that you are looking at more dumb devices - keyboards, mice - although many people just use Bluetooth and generally forget that USB was originally introduced to serve them. Then you jump to fully capable computer devices, and want to connect them together. Prior to USB on-the-go it wasn’t possible to connect two hosts. End even then, one of them had to decide to play dumb and look like a peripheral. I remember being quite annoyed that I could not connect my iPod to my USB speakers. The iPod was a peripheral only device, and basically looked just like a USB disk to a host computer when connected. It didn’t have the capability of operating as a host, and intrinsically could never be upgraded to talk to my speakers.

We now however live in a world where our prized digital devices are fully capable computers. Phones, tablets, laptops, desk computers and so on. These need to talk to one another as peers. USB intrinsically was not able to do this until much later, and really only got the full deal with USB-C. And even here, there is a lot happening under the covers. What we loosely call USB-C is a whole pile of things. The connector is the start. But the protocols running over the wires can be vastly different. And we can do things like run Thunderbolt or HDMI over the system as well. None of that is possible with the old USB.

Taking anything that happens when you use a USB-C connector and comparing it to older USB is not a useful excersise. They are intrinsically different things.

Fair enough but that also means printer manufactures have had three decades to improve.

But to what end? Printers work perfectly well as they are. The few really dumb ones still around still work fine.

The vast majority of printers operate using TCP/IP. (WiFi, ethernet, whatever). A USB connection is a legacy connection capability left in for the tiny number of users that for some reason want a directly wired setup and don’t have a network. Most people expect their printers to operate with an industry standard network print protocol. I don’t expect to connect my phone to a printer with a USB cable in order to print.

Users that want to connect their printers to a PC using USB really need to get with the program. They have had decades to do so.

They have, nobody uses USB for printers anymore. If there was any kind of incentive to adopt a modern USB spec they would, but do shoppers care?

Well… before USB-C, there were only three: B, mini-B, and micro-B receptacles. B and micro-B got backward-compatible SuperSpeed variants; mini-B did not. Cables with those terminate in a USB-A plug. At Nokia, we briefly used micro-A as a data transfer adapter cable, but outside of that you are never going to encounter anything but full-size USB-A.

“USB-A to something that looks like USB-A but is actually meant for the peripheral and not the host” is a hack that may, or may not, fortuitously work but either requires active circuitry in the cable or for the receptacle device to play by its own rules. They are not common for the same reason any other cables you could technically solder are not common. USB 1.0 and 4-pin DIN both technically have the same wiring (VCC, ground, data+, data-) but there is no reason to expect there to be a passive USB-A to DIN cable.

With the decline in mini ports, USB has one physical standard for host receptacles, and one physical standard for peripheral receptacles that comes in a large variant (B) and a small variant (micro-B). The receptacles are different because USB is directional by design. If you don’t want USB to distinguish between hosts and peripherals at the physical interface level, the time to fight that battle would’ve been back in the early 90s, but it is what it is.

But also,

You keep saying this but I am not sure why you think it is special to printers and scanners. Off the top of my head, of the devices I use regularly enough to remember, non-micro B is the connector used on every larger device that is not USB-C—4 audio interfaces/mixers, 3 game controllers, 3 hard drive enclosures (every one that is not bus powered and takes a barrel jack for power), 2 USB hubs, an oscilloscope, and a microphone.

(and a scanner)

It is also the standard connector for 3D printers, the kind of CNC machines you can run from your computer, and every full-size Arduino before the Uno R4. Even with USB-C becoming more popular, it’s still a connector with extremely wide usage, by any company that intends to follow the USB standard, because the standard enforces a distinction between hosts and peripherals even if misusing that distinction may not necessarily cause damage.