В целом, неплохо.
Когда-то писал нечто подобное, чтобы передергивать YOTA-модем, реализовывал путем отправки «0» в /sys/bus/usb/devices/DEV/power/autosuspend для выключения питания, и «auto» в /sys/bus/usb/devices/DEV/power/level для включения. И ведь помогало)
Вроде как большинство умеет. А вот на бытовых роутерах, зачастую, обратная ситуация: мало кто умеет коммутировать USB питание, поскольку в целях экономии оно заведено напрямую. А значит для комбинаций роутер + модем приходится выдумывать альтернативные схемы.
Там может не отключение питания, а сброс шины USB возможен. При удалённом доступе к компу на Windows «передёргивали» устройство путём отключения/подключения USB-хаба в диспетчере задач.
Сторожевой таймер для 4G-модема в CentOS 7