Veja Controlando uma fonte de alimentação USB (ligado / desligado) com linux , versão curta, para novos kernels "suspend" não funciona mais:
echo "0" > "/sys/bus/usb/devices/usbX/power/autosuspend_delay_ms"
echo "auto" > "/sys/bus/usb/devices/usbX/power/control"
Mas, literalmente, não corta a energia, sinaliza o dispositivo para desligar, cabe ao dispositivo implementar o gerenciamento de energia e fazer a coisa certa.
Você tem muitos detalhes na documentação oficial no kernel, lá Ele explica os vários arquivos em /sys/bus/usb/devices/.../power/
e como gerenciar os dispositivos e portas.
Para coisas que não são dispositivos usb reais (sua lâmpada usb aparece em lsusb?) você está sem sorte, eu tentei com uma lâmpada usb e com um logger gps que carrega sua bateria e transfere dados através de usb que aparece como um usb cp210x para serial, e também não faz poweroff. Eu posso "desconectar" o GPS com echo '5-4.6' > /sys/bus/usb/drivers/usb/unbind
e reconectá-lo com echo '5-4.6' > /sys/bus/usb/drivers/usb/bind
, mas a luz de carga da bateria está sempre ligada.
Mas parece que alguns hubs fazem isso corretamente .