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.
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?
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.
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.
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.
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
>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.
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.
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.
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.
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.
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.
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.
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.
[+] [-] bradrn|3 years ago|reply
> (@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
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
[+] [-] Traubenfuchs|3 years ago|reply
[+] [-] misnome|3 years ago|reply
[+] [-] smith7018|3 years ago|reply
[+] [-] detrites|3 years ago|reply
[+] [-] karmakaze|3 years ago|reply
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
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
[+] [-] rebolek|3 years ago|reply
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
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 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
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
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
[+] [-] number6|3 years ago|reply
Source: I have a theoretical degree in physics.
[+] [-] Faaak|3 years ago|reply
[+] [-] MontagFTB|3 years ago|reply
[+] [-] HPsquared|3 years ago|reply
[+] [-] mensetmanusman|3 years ago|reply
[+] [-] elwebmaster|3 years ago|reply
[+] [-] musicale|3 years ago|reply
[+] [-] skunkworker|3 years ago|reply
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
[+] [-] prettyStandard|3 years ago|reply
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
[+] [-] Traubenfuchs|3 years ago|reply
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
[+] [-] musicale|3 years ago|reply
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.
[+] [-] atemerev|3 years ago|reply
[+] [-] antipaul|3 years ago|reply
[+] [-] unknown|3 years ago|reply
[deleted]
[+] [-] musicale|3 years ago|reply
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
[+] [-] ilyt|3 years ago|reply
[+] [-] unknown|3 years ago|reply
[deleted]
[+] [-] actionfromafar|3 years ago|reply
Edit: whatever is in the post (poll?) won't load for me.
[+] [-] xg15|3 years ago|reply
[+] [-] Traubenfuchs|3 years ago|reply
[+] [-] cf100clunk|3 years ago|reply
https://nitter.priv.pw/d_feldman/status/1615871748708388864
[+] [-] sylware|3 years ago|reply
Aka, debug tracing.
[+] [-] senttoschool|3 years ago|reply