For some reason, my MacBook keeps trying to charge off of my external display's USB Type-C ("USB-C") link even though I have a more powerful source connected.
I care because the monitor is apparently unable to provide the 45W it reports, and after a few seconds the system switches to battery power, and then immediately back to AC power, over and over. This has the effect of flashing the screen on and off, and causing mouse / keyboard interactions with my remaining screens to momentarily pause. Overall, it makes the setup useless.
Here is what pmset -g ac
has to say about the monitor when it is the only device connected:
# pmset -g ac
Wattage = 45W
Current = 2250mA
Voltage = 20000mV
and the same for when my power source is the only one connected:
# pmset -g ac
Wattage = 60W
Current = 3000mA
Voltage = 20000mV
When they are both connected, it reports 45W as though the monitor is the only device.
Log showing the endless loop. Initially I am truly on battery, and then I attach the monitor which triggers the first Now drawing from 'AC Power'
, everything else happens by itself after that:
# pmset -g pslog
Logging IORegisterForSystemPower sleep/wake messages
pmset is in logging mode now. Hit ctrl-c to exit.
2018-03-06 14:45:01 +0000 IOPSNotificationCreateRunLoopSource
Now drawing from 'Battery Power'
-InternalBattery-0 (id=4128867) 94%; discharging; 6:10 remaining present: true
2018-03-06 14:45:08 +0000 com.apple.system.powersources.timeremaining
2018-03-06 14:45:08 +0000 IOPSNotificationCreateRunLoopSource
Now drawing from 'AC Power'
-InternalBattery-0 (id=4128867) 93%; AC attached; not charging present: true
2018-03-06 14:45:08 +0000 com.apple.system.powersources.percent
2018-03-06 14:45:08 +0000 com.apple.system.powersources.source
2018-03-06 14:45:08 +0000 com.apple.system.powersources
2018-03-06 14:45:08 +0000 com.apple.system.powersources
2018-03-06 14:45:09 +0000 com.apple.system.powersources
2018-03-06 14:45:10 +0000 com.apple.system.powersources
2018-03-06 14:45:25 +0000 com.apple.system.powersources.timeremaining
2018-03-06 14:45:25 +0000 IOPSNotificationCreateRunLoopSource
-InternalBattery-0 (id=4128867) 93%; charging; (no estimate) present: true
2018-03-06 14:45:25 +0000 com.apple.system.powersources
2018-03-06 14:45:31 +0000 com.apple.system.powersources.timeremaining
2018-03-06 14:45:31 +0000 IOPSNotificationCreateRunLoopSource
Now drawing from 'Battery Power'
-InternalBattery-0 (id=4128867) 93%; charging; 0:00 remaining present: true
2018-03-06 14:45:31 +0000 com.apple.system.powersources.percent
2018-03-06 14:45:31 +0000 com.apple.system.powersources.source
2018-03-06 14:45:31 +0000 com.apple.system.powersources
2018-03-06 14:45:32 +0000 com.apple.system.powersources
2018-03-06 14:45:33 +0000 com.apple.system.powersources.timeremaining
2018-03-06 14:45:33 +0000 IOPSNotificationCreateRunLoopSource
-InternalBattery-0 (id=4128867) 93%; discharging; (no estimate) present: true
2018-03-06 14:45:33 +0000 com.apple.system.powersources
2018-03-06 14:45:33 +0000 com.apple.system.powersources.timeremaining
2018-03-06 14:45:33 +0000 IOPSNotificationCreateRunLoopSource
Now drawing from 'AC Power'
-InternalBattery-0 (id=4128867) 93%; AC attached; not charging present: true
2018-03-06 14:45:33 +0000 com.apple.system.powersources.percent
2018-03-06 14:45:33 +0000 com.apple.system.powersources.source
2018-03-06 14:45:33 +0000 com.apple.system.powersources
2018-03-06 14:45:33 +0000 com.apple.system.powersources
2018-03-06 14:45:33 +0000 com.apple.system.powersources
2018-03-06 14:45:34 +0000 com.apple.system.powersources
2018-03-06 14:45:34 +0000 com.apple.system.powersources.timeremaining
2018-03-06 14:45:34 +0000 IOPSNotificationCreateRunLoopSource
So: Can I force my MacBook to only charge from the device I select? Or forbid it from charging from devices I know to be unreliable?
System: MacBook Pro (15-inch, 2017) with 3.1 GHz Intel Core i7 and 16 GB RAM