top | item 34439112

What happens if you plug two USB-C laptops into each other using a USB-C cable

76 points| tosh | 3 years ago |twitter.com | reply

85 comments

order
[+] bradrn|3 years ago|reply
Later in the conversation someone links to a Twitter exchange which I found quite interesting:

> (@m_ou_se) I just tried to charge my phone by connecting it to my laptop (with USB-C), but instead of my phone, my laptop started getting charged, quickly draining my phone's battery. Uh, what.

> (@Gankra_) in case you aren't familiar: there was a semantic function of asymmetric usb cables that symmetric usb-C has broken. to "fix" this, each device picks a number for how subby it is, and the less subby one is the dom and charges the sub. these numbers can be surprising.

> (@m_ou_se) After some experimenting, I concluded that Dell laptops are the most powerful USB-C PD doms followed by ThinkPads, while phones and MacBooks are (equally) subby. Connecting phones and MacBooks with each other results in a switch fight.

(https://twitter.com/m_ou_se/status/1502664680602492933)

[+] xg15|3 years ago|reply
But wasn't there supposed to be a way to change the roles afterwards, according to user input?

It would be super useful at times to charge one laptop (or phone) off the other - provided I have some way to specify which one should be charged.

[+] mkl|3 years ago|reply
This metaphor seems backwards. Wouldn't the sub give its power to the dom?
[+] Traubenfuchs|3 years ago|reply
Is there like a C function, dll or device manager property I can check to find out how subby or dom my device is or is this only possible via comparison?
[+] misnome|3 years ago|reply
This is more interesting than the linked poll, thanks.
[+] smith7018|3 years ago|reply
My M1 Max MacBook Pro treats my Galaxy Tab A8 like an external battery which makes development quite annoying. It's strange that this hasn't been figured out in 10 years.
[+] detrites|3 years ago|reply
I can't fathom how we all went ten years without knowing this stuff.
[+] karmakaze|3 years ago|reply
> phones and MacBooks are (equally) subby.

Do you mean phones here or iPhones? I've been charging my LG phones (G6 & G8) from MacBook Pros for years and never noticed an unexpected switch.

[+] ThinkBeat|3 years ago|reply
A link ot a poll?

That was disappointing I was expecting a write up and pictures. Should I know who this person is? The headline should be modified to lower expectations.

"Guy polls Twitter about the result of connecting usb c laptops with usb c cable." "Twitter poll on the outcome of connecting two usb c laptops with a usb c cable"

I am no good at headlines obviously.

Further it depends on the USB C cable being used, and the properties / capabilities of the ports being used.

Given all the different things a USB C port can do these days and the fun smallish fire that happens if you use a cheap usb c cable and abuse it to do something it was not intended for I think there could be multiple distinct outcomes.

[+] remram|3 years ago|reply
Especially useless since it depends on the laptops (models & config)
[+] rebolek|3 years ago|reply
What happens if you plug USB-A late 2008 aluminum Macbook into USB-microA Panasonic DC-FZ82?

It will show your photos.

What happens if you plug USB-C Thinkpad T480 into USB-microA Panasonic DC-FZ82?

It will show your photos.

What happens if you plug USB-C 2022 Macbook Air into USB-microA Panasonic DC-FZ82?

Nothing. It won't even show in `/dev/` and you need to use an annoying and shitty app over stupid Wi-Fi.

[+] xenadu02|3 years ago|reply
You'd think the USB-PD spec would have devices exchange their battery capacity, charge level, and AC power state. There is no scenario where anyone wants a 80-100Ah device like a laptop to charge from a 3-4Ah device like a phone if both are on battery. Only if the device with a small battery is on AC power should it offer anything to the larger device. So the spec should prohibit this.

Secondly you'd think for devices of comparable battery capacity they'd prioritize having the one with AC power feed the one without it. If neither have AC power then have the one with a higher charge level feed the one with a lower charge level only when the one with the lower level reaches 20% and only as much as necessary to maintain 20%. Once the system providing power hits some threshold (40%?) stop feeding power altogether. This would do what most people want when you connect two laptops or two phones: share enough power to keep the other device running but don't completely drain them.

If a "battery bank" flag is set then it should always be a supplier unless the other end is a power supply.

You can have minor quibbles about the exact numbers here but this strategy is simple and does the right thing the vast majority of the time.

[+] jefftk|3 years ago|reply
> If a "battery bank" flag is set then it should always be a supplier unless the other end is a power supply.

If I plug my laptop into the wall and my battery bank into my laptop I want the laptop to charge the battery bank.

[+] rektide|3 years ago|reply
USB HID defines a good number of power/battery telemetry/control items. It's bothered me a lot that no battery pack or chargers expose themselves as such in actual USB.

This whole series of resistors in usb legacy and aux channel chat in usb-pd makes me more than a bit sad. I would have liked to have used longstanding usb hid specs to implememt usb-pd, rather than having assorted side-band negotiations.

It still leaves the question of how two laptops would work. The naive "wait to see if there's a device and if not become the device" strategy more or less mirrors what usb-pd already does, with all the weird uncontrollable quirks. Im not sure how usb4 figures out there is a host-to-host link & negotiates networking, that's another wrinkle that might give us a good extension point to build from to enable bidirectional control. Maybe we run usb-ip over the network link - expose our usb hid battery/charger devices over that! ;p

[+] pydry|3 years ago|reply
>You'd think the USB-PD spec would have devices exchange their battery capacity, charge level, and AC power state.

Screw that. They just need a signal for one device to tell the other that it wants to charge or be charged. The rest can be left up to the UI. It's better if it isn't smart.

I'm mystified that we have this many USB C cable types, chargers and data transfer speeds and there isn't some protocol for explaining what is available when a cable is plugged in or dictating behavior based upon that.

[+] have_faith|3 years ago|reply
What happens if you daisy chain a load of devices together into a circle?
[+] number6|3 years ago|reply
The circle becomes a particle accelerator.

Source: I have a theoretical degree in physics.

[+] Faaak|3 years ago|reply
Supposing they each charge each other, the overall battery will drain due to the inefficiency of the DC/DC converters
[+] MontagFTB|3 years ago|reply
“Check out these bitcoin mining hacks! Number four will surprise you.”
[+] HPsquared|3 years ago|reply
Depends on their relative position in the hierarchy
[+] mensetmanusman|3 years ago|reply
Devs need to solve this ambiguity with standardized pop-ups that ask the user what the goal of the connection is.
[+] elwebmaster|3 years ago|reply
Total nonsense of technology. I can assemble a whole PC without knowing anything about its components just by virtue of there being only one way to connect components to each other. Yet, one can’t even consistently charge a phone these days by just plugging it to a laptop.
[+] musicale|3 years ago|reply
A USB to Lightning cable has worked consistently for me for charging my iPhone (and iPad, Apple keyboard and trackpad, etc.) for the past decade or so.
[+] skunkworker|3 years ago|reply
I ran into a similar issue with thunderbolt and two laptops. Laptop A was being charged by a usb-c dock, I plugged laptop B into laptop A via thunderbolt (for thunderbolt bridge networking). And laptop very slowly drained power in the battery but was running off of the power from Laptop A.

Then I plugged laptop B into it’s own USB-C brick (on the same surge protector), and nothing happened other than it took me a quick second to think if it was okay to do.

[+] TobiWestside|3 years ago|reply
Tried this a few weeks ago with two MBPs: one of them started charging, depending on which end of the cable I plugged in first.
[+] prettyStandard|3 years ago|reply
I plugged my TitanRidge ThunderBolt PCIe add in card to my Framework Laptop and my 2019 MBP. It didn't charge either. I did plug my power supply in to the TitanRidge.

Very Disappointed. I was under the impression when you plug two thunderbolt devices into each other you got charging and a network connection.

[+] hbossy|3 years ago|reply
Plugging Dell Vostro 15 5510 into Thinkpad L580 starts charging on Thinkpad and shows a bunch of `[104408.050983] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?` messages in dmesg on both machines.
[+] Traubenfuchs|3 years ago|reply
I will do this now with my new macbook pro and an old thinkpad. I will update you with what happened.

Lenovo at 50% charges Macbook at 100% if and only if the right macbook port is used. If another macbook port is used, nothing happens. When using this one macbook port (the one right next to the charging port) lenovo also tried to set up a new "macbook pro device", I didn't let it finish. The Lenovo has just one USB-C port.

I now wonder what two macbook pros or two lenovos would do to each other.

[+] johnwalkr|3 years ago|reply
I have a work (intel) and personal MacBook Pro (m1) and sometimes I plug the 2 together using a thunderbolt 3 cable (only one connected to a charging cable). Both charge and internet sharing/networking also works.
[+] musicale|3 years ago|reply
> two macbook pros

IIRC the second one you plug in charges the first.

You can also charge from a single MacBook Pro that is plugged into a power adapter, in a daisy-chain or star topology.

[+] antipaul|3 years ago|reply
Which MBP model? I think it may matter
[+] musicale|3 years ago|reply
Apple laptops can charge each other; I believe the second one you plug in charges the first.

I haven't tried a feedback loop however.

A possibly more useful scenario that I've seen when power outlets are scarce is daisy-chaining multiple laptops to the one that is plugged in.

[+] vlan0|3 years ago|reply
Reminds me of the IEEE 1394 days. https://www.rfc-editor.org/rfc/rfc2734
[+] ilyt|3 years ago|reply
Think Linux even had kernel driver for it. It was even technically useful as even slowest firewire was faster than then-typical 100Mbit ethernet
[+] sylware|3 years ago|reply
Personally, I use such cable in order to use xHCI DBC capabilities.

Aka, debug tracing.

[+] senttoschool|3 years ago|reply
Plugged a 16" AS MBP into a Lenovo. Nothing happened.