3 ms·
Why? In practice it would be equivalent to a device with two say micro-usb-ports. Unusual for sure, but necessarily non-compliant?
by tjoff 5y ago
Why? In practice it would be equivalent to a device with two say micro-usb-ports. Unusual for sure, but necessarily non-compliant?
- masklinn 5y ago> Why? Because the official spec says so, and as described above USBx was originally a strictly host-device protocol, the A plug is at the host, and the B plug is at the device. An A-A cable is a host-host link, which from the USB standpoint doesn't make sense (pre type-C). In particular, the host is in charge of sending power, the device is supposed to be able to handle it. In particular if one of the hosts gets powered off, its 5V now gets powered (possibly without limitation) by the other, drawing way more than the 500mA specified by the spec, and damaging the cable if you're lucky (until that catches on fire and burns down your house) or the electronics (and killing your mobo). Think of it as creating a plug-plug extension cord and connecting two of your house's outlets together (don't do that). > In practice it would be equivalent to a device with two say micro-usb-ports. micro-USB has both A and B variants (likewise mini). What you're probably thinking of is a micro-B plug. And having a B-B cable is also not compliant though nobody does it because it's completely useless (because the device side is "passive", so nothing can happen). > Unusual for sure, but necessarily non-compliant? Yes necessarily non-compliant. [0] "Smart" devices like smartphones and tablets can be both device and host which created an issue, this was acknowledged and support was added with "On The Go" (OTG) and mixed-compatibility receptacles (so USB mini and micro have AB receptacles, aka female, which can thus accept either an A plug — acting as host — or a B plug — acting as device). OTG cables are still asymmetric, with an A side and a B side, and A-A cables are still illegal OTG. Type C replaces this with a fully symmetrical cable.
- tjoff 5y agoI feel like you haven't read a single word I've written. Please reread my original comment. Imagine two usb-to-serial adapters. Now, imagine connecting them to different PCs. Now connect a serial cable between those two adapters. That is what I'm describing. Only the usb-to-serial-adapters are actually inside the cable. No USB host is talking directly to another USB host. No USB host is "powering" another USB host etc. Your comments are not relevant to the scenario described.
- masklinn 5y agoYes I clearly misunderstood your comment. Because frankly it doesn’t make any sense as a response. What you’re describing here is a multi-host device, like a KVM. That is completely unrelated to the original comment, it’s two unrelated host-device links. Probably with what amounts to a broken device in the middle: both hosts will behave as hosts to the serial link, and USB is a host-centric protocol. So at best nothing will happen because they won’t be able establish anything, and at worst they won’t be able to cope with unexpected transactions and will get corrupted.
- tjoff 5y agoNo, it is highly relevant as some USB-A to USB-A cables do function exactly like that. And again there seems to be some serious disconnect somewhere here because I've got no clue what you are trying to say. My made-up usb-to-serial adapter example will work as is - even with two hosts talking to each other (through a intermediary). Just as well as such a cable will work. Why talk about corruption? Why would host-centric be a problem in this scenario?