9 ms·
USB-C done cheap: when 2 ports become 1 (2020)
- Taniwha 4y agoThis may simply be smarts on the part of the designers of the chip on the motherboard - either a motherboard vendor can choose to use it without external silicon andoughly get 1 USB-C channel or add the external switch and get 2 channels - it uses roughly the same number of pins for the two sorts of interface (and more importantly the same number of high speed serdes pins)
- mindslight 4y agoWow, that's a negative for the design of the USB-C connector, which would seem to inevitably lead to these down the line tradeoffs. I guess it makes sense needing the controlled impedance, but it seems they could have solved that a different way with a smarter connector geometry. Perhaps MUX chips are cheap relative to the connector, so this optimization only makes sense when there would be an unused port anyway? Also, this setup seem right for bringing back the works-on-the-third-try phenomenon of USB-A connectors, with the help of some devious software.
- Tijdreiziger 4y agoI once got a free Lightning cable from a recruitment talk, but it only had pins on one side, meaning it only worked one way around. It’s hard to complain about things you get for free, but I did find it a bit odd. I’ve never seen another one like it since.
- kalleboo 4y agoThey sell lightning cables like that here in Japan at 100-yen shops
- xg15 4y agoDoes anyone know why the USB-C header was designed to be almost-but-not-quite rotation symmetrical [1]? So now you need some complex electronics for each port to detect the orientation and swap the data and cc lanes accordingly - with lots of opportunities to make errors or be cheap as we see. It seems to me, you could have saved an enormous amount of complexity by simply making the header slightly larger and duplicating the entire pinout on each side, including the data lanes. Or are there electrical reasons why a data lane must only be connected to a single pin? [1] https://en.wikipedia.org/wiki/USB-C#USB_3.0/3.1/3.2 https://en.wikipedia.org/wiki/USB-C#USB_3.0/3.1/3.2
- paulywog 4y agoFrom a signal integrity standpoint, you really don't want both pins (i.e. SSRX1 and SSRX2) tied together. A lot of USB3 routing is reducing stubs. When the signals are going as fast as they are in USB3, they're essentially a wave going down the line, and if there's a "stub" the wave will actually hit the end of the wire and reflect back, causing interference. Having one of the pins not connect to your processor would create a stub inherent in the design, which is probably a bad idea. When you dig into the details of the signals of USB3+ electrically it's truly remarkable they're able to mass produce cheap consumer grade equipment to implement it. To give you an idea, the lengths of USB3 traces in your board need to be matched, so you add wiggles to the shorter trace to make it ever so slightly longer. But those wiggles can't get too far from the opposing trace in the diff pair either because that changes the way the traces are coupled together. Also, if the layer above/below is not a solid ground plane, you will run into issues as the signal will propagate through the wire faster/slower depending on what's around it. This is so critical that you use "impedance controlled" PCBs that place a tight tolerance on the spacing of your layers so that you can be sure it doesn't change along the length of your trace. And, of course, you want to avoid sharp bends in your traces as those will act like a stub. None of this is bad engineering on the part of the USB IF, just that if you want to send data over a USB cable reliably at 5gbits, or now 40gbits, you're really pushing the limits of modern electrical design.
- xg15 4y ago> From a signal integrity standpoint, you really don't want both pins (i.e. SSRX1 and SSRX2) tied together. > Having one of the pins not connect to your processor would create a stub inherent in the design, which is probably a bad idea. I was more thinking that each wire for a lane has two pins, one on the top and one on the bottom, which are electrically connected. So e.g. SSRX1+ on the top would be connected to SSRX1+ on the bottom, SSRX1- on the top with SSRX1- on the bottom, same for SSRX2+, -, etc. With the same wiring in the plug as well as in the socket, there wouldn't be any disconnected pins. The wire for e.g. SSRX1+ would split before the plug, then lead to two pins in the plug; the plug connects to two matching pins in the socket which merge back into a single wire. So in that modified header one differential pair would occupy four pins, two in the top row and two in the mirrored bottom row. This means the header would have 4 additional pins per row (so 8 in total) compared to what it has now. But of course the splits and merges in the wire might cause interference as well.
- rektide 4y agonotably with usb4 support, this should become moot, as 4x2 operation is now mandatory. All the pins will need to be connected to one usb host controller, which will will have to deal with jack orientation.
- cf100clunk 4y agoDiscussion in progress, based on Hackaday writeup of same topic: https://news.ycombinator.com/item?id=34203880 https://news.ycombinator.com/item?id=34203880
- dang 4y agoWe'll merge those comments hither since this thread has the original source.
- wyldfire 4y ago> The “cheap” way I suspect my motherboard is using takes advantage of the fact USB 3.x Gen1 only uses one of the two SuperSpeed lanes present on the USB-C connector, and unlike Gen2, it often does not require a redriver to improve signal integrity. In general it would be great to know if there are ways of finding cables, motherboards, power adapters that don't skirt the requirements. I haven't found a way to know this so instead for now I just try to invest in brands like Anker that seem trustworthy.
- hayleox 4y agoFor years I've loved Anker cables and hubs and such, but I have a whole lot more skepticism about them after the whole debacle with their security cameras doing sketchy things and them lying about it: https://www.theverge.com/2022/11/30/23486753/anker-eufy-security-camera-cloud-private-encryption-authentication-storage https://www.theverge.com/2022/11/30/23486753/anker-eufy-secu...
- Blackthorn 4y agoI wish Blue Jean made usb3 cables. One of the few folks out there I trust not to rip me off on them.
- exmadscientist 4y agoThere's always Digi-Key*/Mouser. Their target market is the sort of people who get pissed if things are not exactly as described, so they tend to get things right! The downside is that their cable prices are usually mediocre, and they do charge a separate shipping fee which can be high for single item orders (or is pretty reasonable for big orders shipped overnight early AM!). (* Digi-Key Marketplace is not as trustworthy as regular Digi-Key and has pissed off a great number of their customers. Engineers buy from Digi-Key to have guaranteed parts from guaranteed vendors shipped with guaranteed delivery rates and dates in the same box as everything else in the order. Most vendors are of of course perfectly good -- there are some huge names on there -- but in general Digi-Key Marketplace does not do any of this. It cuts against the Digi-Key brand and has not been a net positive for Digi-Key, in my and many others' opinion. I know I'm ordering a lot more from Mouser recently, for this and other reasons.)
- r1ch 4y agoOn Windows, a USB device's configuration is tied to its port, so by using this hack the device's settings will change depending on the orientation of the connector. This can't be good for user confidence in USB-C.
- josteink 4y agoThat sounds absolutely terrible, but to be fair, it also sounds more like a Windows-specific issue, than a USB-C specific one.
- gsich 4y agoIt's not really an issue. You'll get the notification "new device detected" or something another time.
- kergonath 4y agoAnd get annoyed as settings changes seem to get reverted arbitrarily for whatever reason. Most “normal” people would carry on, mumbling about how computers are weird and incomprehensible, but it is not really a good thing. Also, a device’s settings that depend on the port to which it is connected is terrible UX.
- gsich 4y agoWhat settings?
- CodesInChaos 4y agoWhenever I plug my USB soundcard into a new port it uses the default microphone volume (which isn't 100% for some reason).
- lreeves 4y agoIf it's a remote receiver like the Xbox wireless one it'll have to be repaired if you use a different port.
- eqvinox 4y agoPretty annoying if you want to specify something by USB "port path" - most common example being mapping an USB port into a VM (regardless of what's plugged into that port.) cf. qemu's "-device usb-host,hostbus=1,hostport=…" option … the obvious workaround is to map "both" ports into the VM …
- crote 4y agoSomething very similar has been happening even before USB-C, actually. While USB 3.0 is backwards compatible with 2.0 for a user, it is both electronically and logically a completely different port. A USB 3.0 hub does not "upgrade" a 2.0 signal to 3.0, but it has separate hubs for each speed. In essence, they are two separate protocols sharing a single connector. This means that you could "split" a proper USB 3.0 port into separate 3.0-only port and 2.0-only port. Some USB docks use this to provide extra ports for free: something like an ethernet adapter uses 3.0, so that gives you a free 2.0 port for a keyboard.