Hacker News new | ask | show | jobs
by joshvm 2969 days ago
It's a bit odd, most older Macbooks have current limiting ICs on the USB ports. I've found this out when tinkering with devboards and accidentally shorting things. In fact most motherboards have some kind of protection for overcurrent conditions.

But USB-C isn't limited to 5V, power delivery is at 20V. That might explain what's going on here (since the user reports 20V on the output) - it thinks that the peripheral is a power hungry device and it's trying to charge it. That's a problem, but it could be that the peripheral is poorly designed and is mistakenly asking for power that it can't actually handle.

Edit: in this case the peripheral seems to be the Macbook charger... and plugging it in causes 20V on all the other outputs with only a dongle plugged in. Oops. Yeah not good.

I wonder what happens if you actually load the port? Perhaps it'll drop down to 5V? Or maybe it'll fry things.

That said, my comment above still applies: USB-C relies on both devices to be compliant with the spec. Otherwise you can get into situations where one device fries the other, or tries to charge things it shouldn't, etc.

3 comments

> most older Macbooks have current limiting ICs on the USB ports.

And thank goodness for this, early in engineering school I was doing a project on an arduino and because I was young and stupid I kept accidentally shorting power to ground. Killed at least 5 or 6 ATMega328's but the MacBook just helpfully chirped that I was drawing too much power and it was shutting off the port. Saved my ass at least a dozen times over.

This feature has been on motherboards going back to the 90s. I remember that some DSL modem was notorious for requiring a reboot of the computer because the USB ports stopped working.

The reality was that the modem was drawing too much power and the motherboard just disabled every port on the bus.

I accidentally shortened my USB port on a PC in a long chain of USB peripherals and only realized when I almost burned my finger on the most remote (wrongly connected) peripheral. I am really happy my mainboard didn't throw in the towel then.
> But USB-C isn't limited to 5V, power delivery is at 20V. That might explain what's going on here (since the user reports 20V on the output) - it thinks that the peripheral is a power hungry device and it's trying to charge it. That's a problem, but it could be that the peripheral is poorly designed and is mistakenly asking for power that it can't actually handle.

This was my interpretation, the host sets the output voltage to 20V incorrectly (due to a software bug or a hardware failure). Putting a crowbar circuit defensively on the peripheral side would save the peripheral.

Ah ok, I misunderstood - yeah it baffles me why manufacturers don't do this. I make it a point to fuse absolutely everything at work, it's a minor expense to save a ton of time later.

Last week I blew up a $100 CO2 sensor because I wired it in backwards. Entirely my fault for not checking the pinout, but a 10 cent diode or a fuse would have saved me.

This is the same issue with telescope controllers. Plenty are rated for 6V absolute maximum, whereas typical power supplies in astro, e.g. the power tanks, or LiPos are 9V or 12V. Boom. Another $100 when a zener would have saved the day.

A zener costs atleast 2 cents a piece when ordered in bulk. That's 2 ENTIRE CENTS LESS PROFIT!1!
You laugh, but that could be a significant part of the profit for some Chinese peripherals.
Hmm. Ever since I got the new macbook, my USB devices (especially my keyboard with built-in hub) often don't register properly when plugged into the Anker usb-c hub. I wonder if an overvoltage is happening and the keyboard has a polyfuse in it...