USB-C for Engineers, https://www.reclaimerlabs.com/blog/2017/2/1/usb-c-for-engine...
An example of USB power delivery, https://www.reclaimerlabs.com/blog/2017/5/16/example-usb-pow...
Twitter thread which observes “ethernet-like” protocol over control channel of USB power delivery, https://twitter.com/whitequark/status/1035764804886126592
It would be even cooler to have a device that you could plug into a port to identify what USB-C features the host supports, but I don't know if that's possible.
In general I like USB-C, but having such a large mix of capabilities without an easy way to identify what's supported is a big pain point.
When engineers see 5 different physical ports, they want to consolidate, because there's no good reason for them to be different, and there are real benefits to be gained by having them all the same.
E.g., Stuart Cheshire (Chairman, ZEROCONF Working Group), 2002: "My hope is that in the future — distant future perhaps — your computer will only need one wired communication technology. It will provide power on the connector like USB and FireWire, so it can power small peripheral devices. It will use IP packets like Ethernet, so it provides your wide-area communications for things like email and Web browsing, but it will also use Zeroconf IP so that connecting local devices is as easy as USB or FireWire is today. People ask me if I'm seriously suggesting that your keyboard and mouse should use the same connector as your Internet connection, and I am."
It's a great vision, but unfortunately, on the path from here to there, features get cut. If your product needs to support 5 different protocols, and you have to cut 1 to ship on time, that's still pretty good as far as your own product is concerned (80%!). If every manufacturer does this, though, you end up with a mess of cables and connectors that aren't quite compatible with each other -- and users are more miserable than before this whole exercise started.
I don't think anyone wants their USB-C device or cable to be intentionally incompatible with another USB-C device or cable. They just don't make 100% compatibility a hard requirement.
Only certain engineers. Don't group the ones who love gratuitous complexity and "value engineering" with those who think complex standards like USB-C are a horrible idea and would rather have separate and simple interfaces.
There's a reason RS-232/485 (along with good old D connectors) are still extremely prevalent in non-consumer equipment.
With a single USB OTG cable I can connect almost any peripheral to my phone, including my XBox 360 controller and my endoscopic camera. Why not a monitor as well? Why do they have all these other weird non-USB connectors like HDMI and DVI? I'm sure there's a good answer from a developer's perspective but from a user perspective or makes perfect sense for there to be a single connector to rule them all.
Edit: another example is that sometimes I connect more than one mouse or keyboard to a single computer. Imagine if there were still dedicated ports for each type of peripheral – would I need to buy a special motherboard with two mice slots? Or a mouse port expansion card? What a nightmare.
Eventually we'll reach the dream and it will be great, but there was no need to jump in the pit of spikes on our way there. It wasn't blocking the road, it wasn't camouflaged, it was out there in the open, and the USB-C guys decided it would be fun to jump in. Why?
Now we have those smart peripherals and 20x the complexity. Thanks Intel. And thanks Apple for making Firewire too expensive.
In my alternate universe my home AV equipment networks with GPIB and 1Ge PoE with SCTP.
We already had the technology to do that decades ago or more. If I had the right power and influence, I'd take the Ethernet connector and magnetics, make it smaller, add default POE support then release the smallest possible IP stack so that it can be implemented on small microcontrollers too. Very small devices would talk IP only, bigger ones can add upper protocols such as TCP, UDP etc. All that while gradually phasing out USB.
This way we would have open protocols on open media with some peculiar advantages over USB, openness aside: near realtime, stackable (add a layer and you go to the Internet), intrinsic security (USB devices are getting more complex every day, yet there's no such thing as a firewall against malicious ones; Internet protocols support filtering by default), galvanic signal isolation (excellent for instrumentation or audio stuff) and the cable can safely extend a lot more than USB ones. Where low power consumption is vital, magnetic transformers could be swapped with optocouplers.
Except for cost or being "too open to be profitable" (royalties) I don't see a single reason why a beefed up Ethernet shouldn't replace USB entirely.
It wouldn't, though. Instead, it would collapse under the weight of IP's management capabilities and worst-in-class feature creep. Despite decades of effort by people like Stuart Cheshire, getting two computers to talk over ethernet is still orders or magnitude more difficult than getting them to talk over a thumb drive. Why would I want that for my mouse, keyboard, and display?
Don't get me wrong, I've read Cheshire's zeroconf book and I'm a big fan of zeroconf IP and mDNS, but technological solutions to these problems are a dime a dozen. Political coordination is the difficult problem and from that perspective mDNS hasn't succeeded (Windows). The network guys can't even coordinate well enough to get name resolution working and I should trust them with doing application-layer coordination competitive with USB and PCIe? Please.
Then, re-evaluate if the increased complexity and energy consumption is worth it, e.g. just for a mouse or keyboard.
Then go ahead and specify how you want this spec to have comparable compatibility modes to USB-C, e.g. if you are going to run displays and external hard drives, as well as HIDs and power...
Considering the alternatives, USB-C is not too shabby for the intended uses.
Specifically motivated by certain interoperability and regulatory floodgates being opened _worldwide_ such as high bandwidth line-of-sight spectrum becoming unlicensed, vast-area indoor-penetrating national digital dividends from band compaction transitioning TV broadcasts away from wasteful allocations, and (at least the US) militaries becoming frustrated enough with industry in prioritizing the supply chain for hyper-specialized and thus useless-for-DOD- R&D consumer circuitry rather than general purpose hardware that there is essentially an unspoken implicit nod to defense contractors where fulfilling the requirements of reconfigurability will land you the necessary political backing to avoid the business trap of previous administrations' regulatory bodies shutting down your tech and revenue-generating capacity.
Then of course there's the growing trend of consumer choice towards wireless technologies, such as forgoing traditional ISPs for mobile broadband LTE which today is fairly on-par or even lower than many wired WAN connections in terms of latency after the backend transition to an all-IP core network with far improved reliability, robustness, mobility, shareability, and flexibility in choosing MVNO bandwidth resellers that will now offer low-cost reasonable rate-limited wireless pipes to the Internet without the bullshit of yesteryear.
Anyone who isn't susceptible to advertising gimmicks knows that with improved latency, today's cheap rate-limited "unlimited" bandwidth is perceptually infinite for the amount of data that a human brain can even process. As long as you choose your 'data providers' carefully and eliminate unreasonable people from your social circle such as 'audiophiles' or 'videophiles' who insist on conspicuous-data-consumption for snob appeal and completely block all the malvertising, tracking junk, and generally clueless companies with anti-hero images or insane JS dependency webs, you can have a far better UX time on the 'Net than anyone else.
Then add in all the technical improvements rapidly happening in the past few years: wireless PAN peripherals for a better connection UX, compact high-density rechargeable batteries, industry adoption of inductive wireless charging outside of niche cases like water-immersible toothbrushes, low-energy wireless transmission developments such as building on mature RFID back-scattering techniques as a legit form of transmission when coupled with processing-intensive error correction and noise-immunity coding that are becoming much more feasible now even for lowly uCs, and software-defined radios becoming extremely commonplace due to cheap/fast reprogrammable logic and the availability of common open-source low-level networking stack components available exclusively in software such as Linux's softmac or GNU Radio blocks.
Finally mix in politics and business realities such as Chinese-workarounds to any current and future DMCA-enforced IO-DRM, lessening grip of FCC authority against technical-workarounds to government spectrum mismangagement, public awareness of things like TEMPEST surveillance which removes one of the last selling points of wired devices as privacy enhancements allowing consumers to finally jump ship into the deep crypto waters, and the drive for miniaturization of cables and connectors is physically at odds with things like realizable tensile strength, power dissipation, heat tolerance, shielding requirements, and the humorous scenario with IO pads on a silicon die eventually consuming far more real-estate than the processing circuitry itself all while the logic transistors switching at GHz rates are far more effective radiators of high bandwidth and potentially high goodput, assuming competent software engineers that can modulate those stray emissions instead of requiring another pass of electrical engineers to remove that capability with filters to comply with regulations, once you factor in the signal loss from the impedance mismatch between small logic and huge external pins going the wired route.
And it should have been obvious that charging-focused cables with no superspeed lanes would exist.
When it comes to different qualities of wire, and Superspeed vs. Superspeed+, I'm ready to blame the manufacturers. But is that actually a problem in practice? Are there 1 meter cables that have been tested to not support Superspeed+?
And the mess of what-supports-what with thunderbolt speeds is definitely Intel's fault.
Like with SD card speeds its a hard sell on the store shelf to get the more expensive one. People don't know how Superspeed vs Superspeed+ is going to affect them. Plus given the markup at Best Buy people can barely afford the cable as it is.
I always found it funny Fry's has a separate cable section near where they sell soldering irons for people who know better.
Put another way, people will not buy a product just because it is better. It only matters if it is better in a way that is hard to miss in the short time (think 15 seconds or something) that someone might spend deciding which product to buy.
This is one reason competition isn't a silver bullet for ensuring the best products win.
There is no easy way to avoid this. If all somebody knows is that they want a "video cable" they're going to come home with an RCA cable. At best you have someone you trust who can answer your questions, at worst you pay the cost of learning for yourself.
It became very cheap to put inside a chip. That's it.
And how do you propose performing such measurements for any less than the minimum 6-digit entry cost to acquire the necessary calibrated instruments for any meaningful test that might be considered proper?
If you want to go from PD to QC3, someone has a USB PD sink board that asks for the most power from the PD source and outputs that as a DC voltage.
Then, aliexpress sell the QC3 boards that take an input voltage.
1×USB-A(Orange): 5V-0.3A/9V -2.0A/12V - 1.5A
1×USB-C : 5V-3.0A/9V - 2.0A/12V - 1.5A
it is quality https://lygte-info.dk/review/USBpower%20Xiaomi%20Mi%2060W%20...
Lots of reviewers simply don't do decent testing like the writer Henrik Jensen does. For instance he does over-voltage testing, which sometimes breaks an otherwise decent-looking charger.
The EEVBlog does a good review of things:
https://www.youtube.com/watch?v=_Z9es-D9_8g [TS-80 Review]
https://www.youtube.com/watch?v=EEYt2jTTVdE [TS-100 vs TS-80 comparison]
It sucks that the standard is so complex that a small number of design houses and consulting shops will end up with a de facto cartel of understanding the Sacred Knowledge, but nobody's stopping you coming up to speed by reading the whole spec and doing a lot of implementing. But it's not like you can build a solid TCP stack these days either simply by reading the original late 70s RFCs.
And you don't have to use this spec -- you can still use RS-449 if you think the USB spec has become overly complex. In fact I used that in a design only a few years ago!
I literally did this. It's called smoltcp (https://github.com/m-labs/smoltcp) and we use it in production as an lwIP replacement with great results.
‘You can and I have running code”.
This is why HN is great.
Then you can guarantee the project is small and haiku-like forever!
LWIP started off small, and it grew...
I don't think any TCP/IP implementation is going to be "haiku-like", the protocol stack is way too messy.
Having done the same, I agree completely
Before, I used to think that hardware specifications and protocols would be simpler purely because hardware people don't really like complexity and it would make implementation harder, and that was usually the case. Now it seems like elements of Enterprise Java have slowly creeped in...
The fact that the adapter has far more nonvolatile memory than it needs is somewhat unsettling, not just in the wasteful sense but also in the "hidden surveillance device" sense.
The spec includes cryptographic signatures for the whole signal chain for "authenticity".
In addition to preventing the use of third party power bricks, it also makes all of those USB-C docks with power passthrough useless.
A good idea is to not to let too many people on standard bodies.
Intel alone had more than enough clout to push the mass adoption.
What's the best one to use if you want to actually build a widget that talks to the FUSB302 and does PD negotiation?