And USB is also only supposed to supply 100 mA until the device negotiates for more.
But literally every device in the real-world just wires the port to the 5V rail with 2 A overcurrent protection and your "dumb" USB-powered fan gadget can draw as much as it wants without any negotiation.
I can totally see TVs doing the same
Except Macs, Macbooks, iMacs, I think also at least the Thunderbolt Display from <very many years ago>. They all have a software overcurrent protection that is very triggerhappy. No negotiation and it will whine and shut the offending device off, and same if the negotiated current draw is exceeded.
Might be worth a try somewhen when I'm rich enough to afford a dynamic resistor bank to verify all the characteristics...
Macs will shut down a port if it goes over 2.4 A (IIRC) without USB-PD negotiation (mainly with the cable rather than the device).
But the USB standard says they should limit to 100 mA without USB 1.x negotiation, and it's not doing that.
Not quite. To be USB Compliant, you have to do some work here and there. There's about six different options. The most common is overcurrent detection, such as is seen in [1]. There is a whole specification built by USB-IF on how to handle higher current ("battery charge") situations, spurred by apple [2], with all sorts of weird corner cases [3].
Now, USB-C changes that and specifically calls out that a "compliant" downstream device has to negotiate USB PD or declare yourself a USB-2.0 type-C device. [4] It's not uncommon for newer devices that conform strictly to the USB4 specification to not even power a port that hasn't negotiated USB-PD or Legacy PD -- if you encounter devices that get weird when powered via a usb-c to usb-c cable but work fine on a usb a-to-c cable, you've seen someone skimp out on $0.00001 in resistors.
[1] https://www.microchip.com/en-us/development-tool/EVB-USB2514... [2] https://www.usb.org/document-library/battery-charging-v12-sp... [3] https://www.graniteriverlabs.com/en-us/technical-blog/usb-ba... [4] https://community.infineon.com/t5/Knowledge-Base-Articles/Te....
It supplies 5v at up to 50mA from a sink device like a TV.
That's only a quarter of a Watt, which is perhaps enough for something like an EDID ROM, or maybe a switch or perhaps an extender. It is not enough power to run a Chromecast.
HDMI 2.1b Amendment 1 [0] can supply up to 300mA at 5v, but that specification is only a year or so old. It requires a special cable. And 1.5 Watts maximum isn't enough to run a Chromecast, either. (The intent is to be able to use it to run a somewhat thirstier extender than the earlier specifications would permit.)
0: https://www.hdmi.org/spec21sub/cablepower