Hacker News new | ask | show | jobs
by itsspring 2197 days ago
Heh, just this week I was struggling to get a device to work with my laptop, until after 90+ minutes I realized there were different types of USB-C, and the one I had (the Apple charger cable) only did charging.

I needed one that transmitted video, so I then went to order a $10 USB-C, only to realize those also only did charging. Finally found what I needed, but I thought USB-C was finally "universal", but turns out much of that is just marketing...

Edit: Turns out the one I just bought ($40 USB-C Apple thunderbolt cable) doesn't even fit into the device because the edges are too thick. Ridiculous

6 comments

I think it's one of those things where it sounds good as an idea but breaks down in implementation.

"Let's design a port/interconnect standard that does everything" is great in concept, but one manufacturer or another is going to leave out bits in the cable to keep costs down or not implement something in their device-side firmware. You end up with the situation we have now where there's insane levels of fragmentation, and you can never be quite sure whether two things are going to work together or not.

Clear branding would help with a lot of it. E.g. mark dumb cables that only do charging as USB-PWR while full feature cables are USB 50 or USB 100, for example, depending on data rate.
Which only covers a couple of the dozen different use cases, now covered by USB. Which is why thunderbolt and the like would require yet another marking.

All this nullifies the point of having a single port+cable.

If your going to mark it, why not just modify the cable to have different keys, one for charging, one for higher speed, etc. Then at least you know right away its not going to work.

But for that matter, once you have fixed the plug & port compatibility you might have well have just used different ports. Because that is what you have, they just look similar enough to cause confusion.

The whole thing, is just a false set of choices brought on in large part by the same industry (mobile phones) which couldn't be bothered to actually make their parts compatible with actual standards. Its doubtful you will ever see any of those manufactures actually build a fully compliant USB part either, since they have regularly proven to be unable to do it even with the simpler standards. This despite charging top dollar for parts that are built with the cheapest design/etc.

Did micro USB have different keyings for different power levels? No, we just plugged in our device and it charged at the rate the charger could support, and if you needed fast you found a fast charger.

Broadly speaking faster charging and faster speeds are just... faster. The beauty of USB is that you can plug into a billion different chargers around the world, anywhere, and while the charge rates might vary, you can charge up anywhere. Keying breaks that.

There is only one power spec for usb cables before type C. Anything beyond that was a proprietary variant that, yep, wasn’t always obvious upon inspection.

Not defending USB type C here.

Sorting by speed, plus an icon for higher power cables, covers almost all real world uses. It would not have to be complex, and would not nullify the point of a single port/cable.

Even just marking speed would mean a cable never unexpectedly fails to do its job.

Worth mentioning that USB Type C is the plug and it is indeed universal. The protocols are a whole different matter and finding a good cable is a challenge.
Or for that matter even knowing which ports on a device are which. I have a tablet that has two usb-c ports. Only one will charge the device.
That's true, we swapped physically visible complexity to software invisible one.. one set of wires and one connector but 24 different set of features depending on who knows what.

I don't see mainstream user liking this at all.

Fortunately the time will likely sort it out. We had similar issues with the original USB at the beginning. (When you actually needed extra pci card to support it) Now USB connections "just work". Hopefully it will happen to usb-c as well.
It’s been 6 years since the 2015 single-USB-C MacBook came out. Patience is wearing thin. Also I don’t recall the original USB having widespread problems with non compliant cables that can fry your device or burn down your house. And of course there still aren’t any true USB-C hubs available.

All this would be even worse without the tireless efforts of Benson Leung and his merry band of USB-C avengers.

Yes, and unlikely to change unless USB4 spec mandate anything. And so far this doesn't seems to be happening.

i.e There is no real solution insight. And USB-C will remain the same for the next 3 - 5 years. And yet proponents are still defending it. It baffles me. Why cant we just admit mistakes and walk back to simple solution?

There was only a very short time with hardware issues on USB. What really plagued it in the beginning was that Play and Play (the big selling point for USB 1.0) was really mostly Plug and Pray.
In tech support we called it Plug and Die

Thankfully it more or less sorted itself out, but I still secretly curse 'driver first' installations, so counterintuitive for users

Not quite - I use a wired Apple keyboard (otherwise a great keyboard, feels way better than the magic keyboard and the usb on the side connects to my mouse) that doesn’t work on my MacBook unless I use the extension cord, on another MacBook it works without. It might have to do with something with the NVRAM battery being weak but I didn’t have the time to explore further. [1]

In theory we should be able to get rid of cables, but that is also a messed up standard, I’d rather connect my keyboard that extends to the mouse than switch devices with Bluetooth.

Sounds like we need another standard: https://xkcd.com/927/

[1]: https://discussions.apple.com/thread/5676379

>In theory we should be able to get rid of cables

In theory, but no thanks. I don't want wireless peripherals.

What's the downside of a wireless keyboard and mouse that just work?
It doesn't just work. If I get a wireless keyboard and mouse that "just works" in theory but in practice does not "just work" always, then that's a load of hassle that far outweighs any advantages it may have.

In essence, the drawback is the lack of trust, because the promises of wireless that "just works" have been repeatedly made and broken. Fool me once, shame on you, fool me twice... I won't allow myself to be fooled again by such promises.

So if you do have a system that just works, then I'd refuse it on principle (because I simply won't believe your claims, no matter what you say) until at least multiple years have passed with it being widely used resulting in a general consensus that it really does just work in all cases, without there being e.g. a 1% minority talking about all the many edge cases they encountered where it turns out that it does not actually "just work".

They don't "just work". Whether it's Logitech or Apple mouse, my cat laying in front of the pad breaks the connection. (Not enough to disconnect, just adds jitter)

When playing games, wireless keyboard/mouse introduce enough latency that twitchy platformers or competitive shooters are impacted. (Unless you buy super expensive game-oriented device)

Bluetooth devices are terrible... by design because of Bluetooth and its problems. Special dongles don't function well when plugged in on the back of monitors and sometimes need manual "replug" to register after a reboot.

Then there's battery replacement / charging.

Wireless is subject to interference and introduces new security concerns. They run on batteries which you then have to replace. They tend to cost more. That's a lot of trouble to avoid a two foot USB cable.
The problem is unnecessarily occupying wireless spectrum for devices than can use a cable.

You can make a wireless monitor. I expect it to work just fine in a home environment. I expect it to fail in all kinds of crazy ways in an office with dozens of these monitors side by side among other devices also using wireless communications like phones.

Stopping to work in the middle of a live presentation or in the middle of a game. My mouse is excellent, I love it but I have a magnetic USB cable next to the mouse pad for the times where I get a warning 10 seconds before shutting down.
Potential interference, crowded spectrum, battery required, extra weight due to the presence of battery, and if the encryption is weak then you have a signal broadcasting all that you type in the vicinity which could be a security nightmare.
The need for battery charging or replacement. That alone makes me shy away from them.
Batteries.
Just wondering, by Apple Keyboard, is that the same as old Scissors Keyboard ? And by Magic Keyboard, you are referring to the new Keyboard on MacBook Pro 16"?
I think so. From the page on apple keyboards [1] I’m referring to A1243 and A1843.

[1]: https://en.m.wikipedia.org/wiki/Apple_Keyboard

The solution to this is a "self test" every time a device is plugged in.

Each device should run a full test suite of the cable and the device at the other end, and if any fail, it should refuse to work.

Part of the test suite should be checking that the device at the other end of the cable is also running the test suite.

Everything should be tested - for example if USB can transmit video over certain pins, the test suite should involve sending a frame of video, even if your device is a usb stick and doesn't need video. That way nobody can leave out bits of the spec.

USB is insanely fast, so thousands of tests should be doable in under a second, and in fact if the other device can't pass the tests quick enough that should be reason for failure.

Who would buy, e.g., a laptop that refuses to work with most existing cables / devices? What do you gain from having a flash drive fail to work because you can't send video over it?

I can see the value of having this test suite for you to run personally, when you want to test. Or having someone certify capabilities and publish the test results for a particular piece of hardware.

But I can't imagine anyone (especially a non-tech-savvy person) using it by default and without an escape hatch - it should "just work".

I think the point is that if every device did this from the start, there wouldn't be a market for anything but cables that work for everything (because a cable that doesn't work for everything then works for nothing), so all cables would just work, for everything.

That sounds pretty unrealistic to me, though.

Looked at the other way, who would buy a faulty cable that doesn't meet this self-test specification? That would be a feature imo. Cable makers will need to all start meeting the specification very quickly or nobody will buy their cable.
It always seems that the drivers or something could say what the cable did or if it was detecting a signal or something.

I had a ton of octopus cable swag and took a bunch without testing on a trip and found out none of them charged my iphone! Frustrating to say the least!

I bought a bunch of Micro USB cables for the same reason. Most of the ones I had on hand didn't have data lines as they were only for charging, which can be fun to troubleshoot as devices connected to the cables just don't show up.
Those are a special kind of evil. I always made sure to properly mark them to not spend time debugging non-working USB connections.
Some of them will let you trick the phone into charging with a full 2/3 amps, even though you've plugged it into a laptop or something that would normally show "charging slowly".

Obviously you're relying on the laptop circuitry to not burn out, but laptops are typically designed with very robust USB circuitry because people often short them out by putting in broken cables.

You might want to keep them around, because sometimes you want to ONLY charge a device, without allowing the possibility of a data connection.
Sure but I always flag them with red electrical tape so their true nature becomes obvious
That's strange, I've never encountered a usb-c cable that did not support data at all. My understanding (and the article suggests) that charging and data are fine in general, but just not as fast as the device can support. Basically they will charge or transfer data at regular usb or micro-usb speeds.
Ya, I found the answer on Apple's site:

https://support.apple.com/en-us/HT208368

> Compared with Apple USB-C Charge Cable The Apple USB-C Charge Cable is longer (2m) and also supports charging, but data-transfer speed is limited to 480Mbps (USB 2.0) and it doesn't support video. The Apple Thunderbolt 3 (USB-C) cable has Thunderbolt logo on the sleeve of each connector. Either cable can be used with the Apple USB-C Power Adapter.

I definitely have encountered this. One was even a device intended for development via USB. For some strange reason, the USB-C cable shipped with the product only supported power, requiring the customer to buy another cable for data transfer.
Just to clarify, are you talking about a usb-c to usb-a cable, or a usb-c to usb-c cable? I think the usb-c to usb-a cables are just temporary while we get to usb-c everything, and so are not implemented that well. With usb-c to usb-c cables, I've never had a problem with power or charging.
I’ve amassed quite a collection of charging-only Type-C to Type-C cables over the years. People usually don’t realize they have such cables because they typically come alongside a charger, so people only ever attempt to charge devices with them.

Grab a USB-C to USB-C cable that came with a phone or similar device and was intended for use with a USB-PD charger and give it a test. You might get USB 2.0 speeds if you’re lucky, but you’re unlikely to see anything beyond that.

nope, there are plenty of power only usb-c to usb-c cables.

Even more fun, many of them don't properly list what power they can handle and fry your device or catch fire if you put to much through them!

> Even more fun, many of them don't properly list what power they can handle and fry your device or catch fire if you put to much through them!

That doesn't make sense. Any cable will be capable of many more volts than USB will ever put through it. How is anything going to get fried?

I suppose a cable could get too warm, but lying about capacity only takes you from 3 to 5 amps. That little bit extra should never be enough to cause a fire. And if it can't even handle 3, then the problem was not that it was lying about capacity. It also costs extra money to lie about being a 5 amp cable since that requires a chip.

The only case I know of where a USB-C cable fried something, it was horribly broken. https://www.engadget.com/2016-02-03-benson-leung-chromebook-...
Volts don't melt power cables, amps do. Regular cables do 2.5 to 3A, the 5A cables are relatively rare and more expensive.
The cable that comes with the Mac chargers is only a USB 2.0 + USB-C power delivery the cable and doesn’t support usb 3.0/3.1 data rates or TB.

USB type-C cables that support power delivery can have 2 ground pints, 4 VBUS (power) pins and 1 CC (cable connect/config channel) pin.

The first MacBook model with USB-C shipped with a USB 2.0 cable for its charger that only supported charging. I don't know if this is still true, though (I haven't checked the one that came with my newest one).
Do you have a source? I looked for a while and couldn't find anything except ones that say it supports data, just usb 2.0 speeds.
Found it here: https://support.apple.com/en-us/HT208368

> Compared with Apple USB-C Charge Cable The Apple USB-C Charge Cable is longer (2m) and also supports charging, but data-transfer speed is limited to 480Mbps (USB 2.0) and it doesn't support video. The Apple Thunderbolt 3 (USB-C) cable has Thunderbolt logo on the sleeve of each connector. Either cable can be used with the Apple USB-C Power Adapter.

Right, but it literally says there it supports data transfer. So it's not charging only.
I haven't seen one either but I can easily believe it, as there are proprietary magnetic USB-C adapters that do not support data (they only have 5 or 6 pins). I can imagine a "normal" cable behaving the same way.
Two pins for power, two pins for data, a pin or two for cable detection, what's the problem with that number of pins?
2 data pins is USB 1.X/2.X USB 3.X requires 6 data pins at a minimum.

USB type-C cables that only support charging will only have 5-8 pins 1-2 GND, 2-4 VBUS (power) and 1-2 CC (cable connect/config channel) pins.

The standard config for charge only cables (e.g. the Nintendo Switch charger) is 2-2-1.

> 2 data pins is USB 1.X/2.X USB 3.X requires 6 data pins at a minimum.

USB-C cables don't have to support 3.X to support data. You only need the two pins.

> The standard config for charge only cables (e.g. the Nintendo Switch charger) is 2-2-1.

That's a shame. It's really not that much effort to support 2.0 data.

I specifically bought a charge-only USB-C cable so I wouldn't have to worry about plugging my phone into an untrusted port to charge.
I have a somewhat similar problem, where my nvme drive enclosure works with the USB-C port on one side of my laptop but not with the other - but both ports should be identical spec wise. Nothing makes sense any more.
Does this same thing happen in different operating systems?
I have a MIDI piano that takes USB 2 Type B. I bought a B-to-C cable and it works fine with my laptop and desktop. I decided I needed an extension cable (for connecting a microphone) and I opted for USB-C.

The piano's cable doesn't work with the extension, unless you connect it the right way 'round. USB-C shouldn't need a right way 'round...

Generalized extension cables aren't legal with USB for several reasons, including this.
And yes, when you get a USB-C that does data, it could also have been a cable that only do USB 2.0 Speed, or USB 3.1 Speed but not USB 3.2 2x2 Speed. And with USB4 there will be additional layer with Thunderbolt 4.

And all these were known since Day 1 in 2016.