Hacker News new | ask | show | jobs
by Goz3rr 1008 days ago
Software controllable USB ports already are a thing, Per-port power switching can be found in the USB 2.0 spec and there's a bunch of hubs out there that implement it, controllable via USB instead of I2C. Since USB 3.2 any device that has downstream type C ports is required to implement PPPS.

A DIY hub that uses a chip with PPPS support can be found here for example: https://oshwlab.com/iamseer/ch335-hub

1 comments

Cool, got any suggestions for products that already implement this, particularly those with existing software shims that could be easily integrated into a test suite? I'd be a happy customer if there were such a thing, easily orderable, but I confess I don't quite know what keywords to use to find it ..
"already"? It's something available since USB 1.0 has been created (see section 11.10). For example, it can be automatically used by the Linux kernel (after setting pm_qos_no_power_off to 0), and recently a node to disable a port explicitly has been added as well.

The support for commands themselves (SET/CLEAR_FEATURE) is mandated by the spec, so all hubs support it. However, some hubs don't feature port power control at all (are physically unable to selectively turn off power - you can only turn them all off or not at all), but for those it doesn't matter how you control them ;)