[HN Gopher] A Chip to Bridge the USB 2 - USB 3 Divide ___________________________________________________________________ A Chip to Bridge the USB 2 - USB 3 Divide Author : zdw Score : 65 points Date : 2022-03-07 18:25 UTC (4 hours ago) (HTM) web link (hackaday.com) (TXT) w3m dump (hackaday.com) | StillBored wrote: | The unstated is that the core problem here (lack of USB2 on a | USB3 connector) is _NOT_ standard. This is generally only a | problem on the plethera of shit arm/etc SoCs using garbage IP | where the vendor is only interested in checking a box, than | actually providing a working/compliant implementation of the | specification. | | Part two of this problem are the USB2 implementations that don't | provide USB1 Transaction Translators (TT), so keyboards/etc won't | work. | | And as a 3rd note, the Pi4 actually has good USB3 because its | implemented by a 3rd party XHCI controller like one might find on | a random PCIe card. Combined with a usb3 hub with multiple TT's | it should be possible to attach a number of SDR's etc at | reasonable rates. Good luck figuring this out from the usb3 hub | details unless it lists the chip its using. | de_Selby wrote: | >The unstated is that the core problem here (lack of USB2 on a | USB3 connector) is _NOT_ standard. | | It does say this at the end of the article. | cma wrote: | >Good luck figuring this out from the usb3 hub details unless | it lists the chip its using. | | Any recommended hubs with the right chip? | MayeulC wrote: | > the core problem here (lack of USB2 on a USB3 connector) | | Not sure if that's the core issue here? That's one of the | issues, but there are more uses for that chip, like the | introduction that hints at sharing USB3 bandwidth between | multiple USB2 devices. | rektide wrote: | usb4 still preserves a legacy usb2 connection pair. | | on the one hand it's kind of absurd. on the other, a long | distance capable, supported everywhere wire protocol is great to | be able to assume. displayport's aux channel is a great example | of why keeping legacy connectivity around on a second track: it | makes lowhgrade kvm like connectivity ultra easy & low cost. | it's, ultimately, a pretty good thing that the 480mbit/s pipe is | available for use by cheap & common devices. i dont see what else | we could do. | | (aside from mandate that each usb-4 hub integrate a usb-2 over | usb-4 adapter like this on each port, which probably makes sense, | but also probably would be uncertifiable, would be likely to | cause some random device misbeaviors... whitequark will probably | have found a dozen random constraints by the end of the week to | this chip.) | mikepurvis wrote: | How wild is it that 480 Mbit/sec is low speed and low cost? | | Like, it makes sense on one level, but it's just crazy to me | how fast that still is compared with PS2 (16kbps), RS232 | (115kbps), CANbus (1Mbps), USB 1.1 (12Mbps), 10/100 Ethernet | (100Mbps), Firewire (400Mbps). | | Obviously totally inadequate once you're talking to solid state | storage or if there's video/display data in the mix. But | still... 480Mbps is fast. | Dylan16807 wrote: | That kind of mess, but worse, is what thunderbolt used to do. | It would cut off USB signals (2 _and_ 3) when the port switched | modes, and downstream USB support depended on pcie- >usb chips. | | https://www.reddit.com/r/UsbCHardware/comments/mjz2pu/usb4_a... | MayeulC wrote: | > displayport's aux channel is a great example of why keeping | legacy connectivity around on a second track: it makes | lowhgrade kvm like connectivity ultra easy & low cost | | On this topic, I wish it was used a bit more. | | What do you mean with that? Do you actually tunnel keyboard and | mouse data trough that aux channel? I am not aware of it being | supported by any OS? Or are you only referring to DCC data, | using it to switch inputs? (Which you can also do on HDMI and | VGA screens). | | If there is any alternative to HDMI CEC on the DisplayPort | side, I'm all ears. That and standardized audio support are | features where HDMI currently stands out, IMO. | kevin_thibedeau wrote: | This behavior is already done to translate 1.5 and 12Mbps | packets into 480Mbps. USB 1.1 didn't do that and 1.5Mbps data | effectively stole bus time from higher speed traffic. | teruakohatu wrote: | Reading the comments, apparently the Valve Index uses one of | these chips. Supply is so bad nobody is selling this chip. | ridgered4 wrote: | > if you have a USB 3 hub plugged into a USB 3 port, multiple USB | 2 devices plugged into it still cannot break through the USB 2 | uplink limit of 480 MBps. | | I had a weird project where I ran into this. Or rather, I was | actually aware of it and tried to work around it. I wanted to | attach a large number of optical drives with sata to USB | converters to a single port, basically a hot attachable ripping | tower kind of thing. To assure a single port would provide enough | bandwidth I needed USB 3.0 throughout. But SATA to USB 3.0 | converters that exist seem to have...shaky support for optical | drives as they're only really meant for SSDs/HDDs. My project | ended in at least temporarily failure due to that unreliability. | | I remember reading about this device and not finding it a | reasonable solution. In addition to not being easily available, | I'd need one device per port to break the uplink limit. That | wouldn't save me any money and it would be a cabling nightmare. | If the chips were a reasonable price and easily available I might | have looked into it more seriously anyway though. | R0b0t1 wrote: | There's a bunch of weirdness. Lack of USB2 to USB3 translation | is one of them, but there's also a lack of USB3 and USB2 | concurrency. | | E.g., if I put a USB 2 device on a bus with a USB 3 flash drive | I would find constant stalling due to the USB2 bus activity. It | even went so far that the output of `lsusb -t` would show the | speed downgraded to 480Mbps at the bus level and not just the | port. This has since been changed, but I notice stalling and | bad performance. This is supposed to be fixed in USB3.1 and 3.2 | but I am not sure we're going to see it in practice. The | original spec does not say they are supposed to happen at the | same time but the spec authors have made themselves clear that | they were supposed to operate concurrently. | MayeulC wrote: | Maybe you'd have more chance using USB 3 drives directly, | unless you actually require a 3.5 inches form-factor? Another | option might be to use IDE drives... | marktangotango wrote: | > USB 2 uplink limit of 480 MBps. | | That should be "Mbps", usb 2.0 max is 60 megabytes per second. | Odd that even hackaday gets this wrong from time to time. | OJFord wrote: | > Odd that even hackaday gets this wrong from time to time. | | Is it? Isn't 'hackaday' just various unvetted user | contributions? | blip54321 wrote: | My pet peeve are webcams. You can only plug in a few before you | run out of bandwidth. | stathibus wrote: | In my biased opinion USB 2 fallback is a misfeature. Most devices | that use USB 3 for a good reason do terrible things when run at | USB 2 speed, and it requires expertise to figure out why things | aren't going the way they're supposed to. | | On the other hand a mouse and keyboard will work pretty much the | same... | rektide wrote: | thatcs not what this chip is for/does. from the second | paragraph: | | > _If you have a USB 2.0 device and a host with only USB 3.0 | signals available, this chip is for you._ | vlovich123 wrote: | The main problem I've observed with fallback is that 3.0 | devices plugged into 3.0 ports sometimes get detected as 2.0 | devices. Sometimes there's a spontaneous port disconnect and | the reenumeration causes it to be detected as USB2.0. | | If I recall correctly this was primarily only happening with a | non-standard optical repeater cable so it could be the cable | was doing something unexpected (eg 3.0 enumeration was taking | longer than some timeout and it was going into 2.0 mode). | | In general though users preferred functionality, even if | performance was reduced. | a9h74j wrote: | A USB2 to USB3 divide? Curse you, social media. | | If only there were a chip to bridge other divides. | mschuster91 wrote: | I ran into a similar problem when trying to extend a Mac Pro 4.1 | with a USB-C/Thunderbolt card and an USB-C to 4x USB-A hub on my | desk. High speed USB devices like a HDD worked just fine - but my | mouse and keyboard did not. The reason took me a while to find | out: These "add Thunderbolt"-style cards carry only a USB3/TB PHY | and pass USB2 D+/D- right through to a connector which you are | supposed to plug into your motherboard's onboard USB connector. | | I was just thinking "wtf, who invented _this_ madness... are you | serious? "... also, how much money would it have cost Intel to | put in an USB2 PHY into the TB chipset? A couple cents maybe... | that's just bonkers. | dijit wrote: | Semi-related: Is it possible to monitor USB hub bandwidth in a | meaningful way? | | The only time I've ever noticed bottlenecks is when things | stopped working, or work intermittently, and sometimes informs | (via kernel messages) that USB is overloaded... but it strikes me | odd that we have top/iftop/radeontop/intel_gpu_top/etc but I'm | not aware of _anything_ for monitoring USB hubs. | | EDIT: well crap, I guess I never looked; there exists USBTop: | https://github.com/aguinet/usbtop -- leaving my stupidity so | others may learn. | R0b0t1 wrote: | You might get more useful things from /sys/kernel/debug as | well, but you'll need to get familiar with the spec. It would | let you know how a device is doing something wrong and can be | made better. | amelius wrote: | Wireshark can read USB communication. | wanderer_ wrote: | I love me some packet-sniffing fun! ___________________________________________________________________ (page generated 2022-03-07 23:00 UTC)