5 ms·
Ask HN: Why wasn't USB designed to handle peer-to-peer data transfer?
A friend and I were wondering why USB wasn't designed to accommodate the peer-to-peer (computer-to-computer) data transfer use case? In the DOS and Win 3.1 days we used to transfer files across computers via either serial or parallel port connections. It seems that USB "crossover cables" do exist but they either have some kind of active electronics in the middle, or expressly say "do not use this to connect two computers together".
- gregjor 4y agohttps://en.wikipedia.org/wiki/USB https://en.wikipedia.org/wiki/USB > USB was designed to standardize the connection of peripherals to personal computers, both to communicate with and to supply electric power. > USB has a strict tree network topology and master/slave protocol for addressing peripheral devices; those devices cannot interact with one another except via the host, and two hosts cannot communicate over their USB ports directly
- tssva 4y agoWhen Intel designed USB they worked with peripheral makers to develop the requirements. Connecting two computers directly together doesn't help sell peripherals.
- frou_dh 4y agoThat's what USB "On The Go" mode was for I think. The 2 devices weren't peers simultaneously, but you could decide which device was in control and "using" the other one.
- beardyw 4y agoExactly. My DSLR happily pretends to be a drive if I plug it into my phone using an OTG cable.
- warrenm 4y agoHost-to-Host transfer was added in 2019 in USB4 (per https://en.wikipedia.org/wiki/USB#Version_history https://en.wikipedia.org/wiki/USB#Version_history) As to why it wasn't there initially ... why should it have been? How many people were going to put their desktops close enough together that a 1m USB cable could reach between them? Peak speed on USB1 (1996) was 12Mbps - home and corporate networks were already operating at at least 10Mbps, and handle data transfer quite nicely (and over far longer distances) If you wanted to go host-to-host with ethernet, you only needed a crossover cable to do it USB access for external devices like Zip drives was available - and, if you used Zip disks, the media'd interoperate between internal and external variants One of the first computers to exclusively rely on USB for peripherals was the first-generation iMac back in 199 USB thumb/external drives appeared about the same time (a couple "history of thumb drive" sites list it as 1999, others as 1998 ... I suspect is the difference is between "design/prototype" and "on sale") In short, there was no reason to enable host-to-host transfers with USB
- solardev 4y agoThat wasn't that long ago. Back then serial direct transfer cables were available, and people even used IRDA (infrared) to send files between ThinkPads. Wifi wasn't super common yet and ethernet crossover cables were sometimes used to meet this need. All to say, the reason was there indeed. It just wasn't part of the initial USB host vs peripheral design.
- warrenm 4y agoThere wereample solutions that already addressed this use case - hence me saying "there was no reason" for USB to implement it :)