Иногда подключенный к компу юсб-модем/телефон выпадает в осадок. При подключении к инету выпадает «в модеме произошла аппаратная ошибка», или софт какой не работает… Помогает только отключение и включение девайса. А если это нужно сделать в автоматически? У меня была задача перегрузить модем с командной строки. Гугль признался о двух прогах.

Первая — это devcon от M$. Из описания на офсайте: «DevCon — это программа с интерфейсом командной строки, которая используется в качестве альтернативы диспетчеру устройств С ее помощью можно включать, выключать, перезапускать, обновлять, удалять и опрашивать отдельные устройства или группы устройств.»

Получаем список юсб- девайсов:
devcon status usb\*
и дальше
devcon restart «USB\VID_19D2&PID_FFFE*»
будет перезагружен cdma-модем ZTE AC8700

Если к компу подключены несколько устройств одного производителя — нужно указывать как pid так и vid, потому как если указать сам vid девайса (например, usb\vid_19d2*) — будут перезагружены все zte-модемы, которые подключены. Ну и в данном случае название устройства нужно взять в двойные кавычки »

Единственное, что мне не нравится: если модем используется (например, запущен софт или подключен инет) — то устройство не перезагрузится.

Вторая прога — USBDeview. Работает как в оконном, так и в консольном режиме.
USBDeview /disable_by_pid 19d2;fffe — отключит модем и
USBDeview /enable_by_pid 19d2;fffe снова включит его.

Здесь уже если приказал «вырубить», то проге наплевать — используется ли устройство, аль нет: отключит питание не спрашивая.

Загружаем: devcon, usbdeview.