- Паутина - http://pauk.org.ua -
«Перезагрузка» юсб-устройств
Posted By Паук On 14.03.10 @ 22:12 In Hard & Soft,mobile | 35 Comments
Иногда подключенный к компу юсб-модем/телефон выпадает в осадок. При подключении к инету выпадает «в модеме произошла аппаратная ошибка», или софт какой не работает… Помогает только отключение и включение девайса. А если это нужно сделать в автоматически? У меня была задача перегрузить модем с командной строки. Гугль признался о двух прогах.
Первая — это devcon [1] от M$. Из описания на офсайте: «DevCon — это программа с интерфейсом командной строки, которая используется в качестве альтернативы диспетчеру устройств С ее помощью можно включать, выключать, перезапускать, обновлять, удалять и опрашивать отдельные устройства или группы устройств.»
Получаем список юсб- девайсов:
devcon status usb\*
и дальше
devcon restart «USB\VID_19D2&PID_FFFE*»
будет перезагружен cdma-модем ZTE AC8700
Если к компу подключены несколько устройств одного производителя — нужно указывать как pid так и vid, потому как если указать сам vid девайса (например, usb\vid_19d2*) — будут перезагружены все zte-модемы, которые подключены. Ну и в данном случае название устройства нужно взять в двойные кавычки »
Единственное, что мне не нравится: если модем используется (например, запущен софт или подключен инет) — то устройство не перезагрузится.
Вторая прога — USBDeview [2]. Работает как в оконном, так и в консольном режиме.
USBDeview /disable_by_pid 19d2;fffe — отключит модем и
USBDeview /enable_by_pid 19d2;fffe снова включит его.
Здесь уже если приказал «вырубить», то проге наплевать — используется ли устройство, аль нет: отключит питание не спрашивая.
Article printed from Паутина: http://pauk.org.ua
URL to article: http://pauk.org.ua/?p=636
URLs in this post:
[1] devcon: http://support.microsoft.com/kb/311272/ru
[2] USBDeview: http://www.nirsoft.net/utils/usb_devices_view.html
[3] devcon: http://pauk.org.ua/wp-content/uploads/2010/03/devcon.exe
[4] usbdeview: http://pauk.org.ua/wp-content/uploads/2010/03/usbdeview.zip
[5] : mailto:mmg737@mail.ru
[6] : http://rghost.ru/3446006
[7] : http://depositfiles.com/files/z2frqfdio
Click here to print.
© 2013 Паутина.
35 Comments To "«Перезагрузка» юсб-устройств"
#1 Comment By Lisicin On 14.04.10 @ 15:44
Пользуюсь вторым решение — USBDeview.
#2 Comment By AiS On 16.04.10 @ 01:22
Пользовался и тем и тем, но в консольном режиме с USBDeview не получается.
Как например, просмотреть серийные номера и т.п.
Как я не пробывал, не получается ничего подобного, и к тому же запускается окно USBDeview.
Подскажите на примере, пожалуйста.
#3 Comment By Паук On 16.04.10 @ 19:03
AiS, если ничего не получается — значит пришло время прочитать хелп.
USBDeview.exe /stab list.txt
Сохранит список устройств в текстовый фал (list.txt). Ну а дальше его обработать — дело техники.
#4 Comment By AiS On 16.04.10 @ 21:27
Паук,
хелп конечно читал, вариант вывода в файл работает, но меня интересовало аналогичное этому:
devcon status usb\*
т.е. вывод не всего и в файл, а конкретное значение и в консоль.
#5 Comment By Паук On 17.04.10 @ 13:27
Ну хоть в файл есть. Напиши разработчику предложение — может и реализует…
#6 Comment By Rimsky On 16.06.10 @ 12:04
СПАСИБИЩЕ Вам за советы и проделанную работу!
вопросик: нельзя ли к USBDeview /enable_by_pid 19d2;fffe прикрутить if, записать в батник и поставить на расписание каждую минуту, чтобы не рвать связь каждый раз, а автоматом если модем оффлайн then USBDeview /enable_by_pid 19d2;fffe
СПАСИБО!
#7 Comment By Паук On 16.06.10 @ 20:59
Rimsky, я делаю немного по другому.
Проверяю, есть ли соединение (если нет — то подключается инет), проверяю, есть ли входящий траф. Если трафа нет — пингую гугль. Если нет пинга — то модем на перезагрузку, а потом установка соединения.
До того, как делал модему перезагрузку — иногда модем зависал, нужно было руками передергивать. Теперь с марта (с момента публикации сообщения) модемы (zte mf620 и zte ac8700) еще ни разу не зависли.
#8 Comment By Rimsky On 17.06.10 @ 10:51
Этот процесс автоматизирован? или руками?
#9 Comment By Паук On 17.06.10 @ 19:46
Естественно автоматизирован)
#10 Comment By Rimsky On 18.06.10 @ 21:10
Поделитесь, пожалуйста, автоматизацией.
#11 Comment By Енот On 08.07.10 @ 11:52
Присоединяюсь к запросу, как расписал автоматом?)
#12 Comment By Паук On 09.07.10 @ 15:49
Скоро сооружу статейку
#13 Comment By Rimsky On 26.07.10 @ 08:42
«Скоро» еще не наступило?
#14 Comment By Паук On 04.08.10 @ 20:48
не((
туго со временем, чтобы расписать все «от а до я»
#15 Comment By Rimsky On 24.08.10 @ 07:28
Оченно просим сделать!
#16 Comment By Interest On 17.11.10 @ 01:40
Странно, а у меня UsbDeview не отключаем модем Huawei, хотя пробовал и в консоли и в программе
#17 Comment By Паук On 17.11.10 @ 11:26
Мой ZTE AC8700 обе проги перегружают без лишних телодвижений, а вот ZTE MF620… Если модем в сети — то он не перегрузится, для начала нужно его вырубить с сети командой at+cfun=0 в терминале.
Пробуй.
#18 Comment By Interest On 17.11.10 @ 18:02
пробовал, все равно не получатся, сам модем уже не работает, а вот корневой usb концентратор все равно работает
поступил таким образом:
сначала в гипертерминале отключаем модем, после его перезагружаем из гипертерминала командой, и пока не перезагрузился включаем devcon (usbdeview) и отключаем корневой usb концентратор, только таким образом получилось отключить usb
только вот возник сразу же попутный вопрос: а можно ли как-нибудь прописать команды для 3g модема из командной строки, т.е. сделать bat-файл, в котором бы запускался терминал или его аналог и далее в этом файле содержались бы команды для модема. получается, что запускаем bat-файл и из него передаются команды на модем и он отключается? искал, пока такое решение нигде не нашел, может Вы, что сможете придумать и подсказать?
#19 Comment By Паук On 17.11.10 @ 19:40
Можно
Либо echo at+cfum=1 > com7
но не всегда работает
Или через putty: нужно в нем создать профиль modem и файл init c содержимым at+cfum=1
Затем plink -load modem < init
#20 Comment By Interest On 18.11.10 @ 15:40
а файл init, с каким должен быть расширением, может txt? и где ог создается, произвольно в Блокноте….или это делается как-то в самом putty не смог разобраться…
а насчет команды echo at+cfun=1 >com7 бесполезно, много раз пробовал, не выходит
#21 Comment By Interest On 18.11.10 @ 17:57
погуглил, что-то не получилось найти информацию об этом файле ini, что это такое? и как его создавать?
#22 Comment By Паук On 18.11.10 @ 18:42
Interest, файл обычный текстовик. Можно без расширения txt, если будеш создавать init.txt — тогда делаеш plink -load modem < init.txt
#23 Comment By Interest On 18.11.10 @ 22:25
Pauk, странно и таким образом не хочет, просто зависает командная строка и все. после создания профиля modem и набора в командной строке plink -load modem можно задавать команды, как если бы просто набрал plink, а как только добавляю < init, никакой реакции со стороны модема и командная строка зависает, в ней нельзя ничего набрать
#24 Comment By Паук On 19.11.10 @ 10:09
Странно
У меня отправляется в порт команда, которая в файле «инит» + после этого в командной строке появляется ответ модема…
#25 Comment By Interest On 19.11.10 @ 17:56
Pauk, агромистое спасибо за советы! вроде получилось, только с помощью другой программы easyport, порядок действий похожий, что и с plink, однако, чего он не хочет с «инит» работать нет знаю.
узнал только что об совмещенной команде: at+cfun=1,1 в ходе которой модем перезагружается и снова регистрируется в сети. очень нужно, чтобы модем перезагружался и модем не включался снова после перезагрузки, а лишьт принудительно командой. для этого случая пробовал набрать at+cfun=0,1 — пишет +CME ERROR: operation not supported, что это может значить? может прошивка модема не та, почему это не поддерживается?
#26 Comment By Interest On 19.11.10 @ 17:59
а вот еще, в чем разница между командой at+cfun=1 и at+cfun=6. как бы эти команды перерегистритруют модем, а в чем разница, не могу понять…на сайтах разные мнения, единого мнения нет
#27 Comment By Паук On 20.11.10 @ 14:18
Нужно читать талмуд по ат-командам именно для твоего производителя, т.к. даже для основных команд каждый изобретает свой велосипед
#28 Comment By Interest On 21.11.10 @ 13:56
нашел талмуд, однако и там о совмещенной команде не написано, тем нее менее, Паук, спасибо за помощь!!!
#29 Comment By Мурат On 25.11.10 @ 10:53
Привет Паук.
Хотел узнать ты не разбираешься в воркшопе?
Вопрос такой, можно ли поменять ЕСН в чистой руимке, через сотовый телефон подключенный к ПК через воркшоп. Воркшоп телефон видит и читает данные с руимки. Ну вот не знаю может ли он поменять.
просто у меня демо версия воркшопа. А полную установить почему то не могу.
Убедительная просьба ответьте мне пожалуйста на ящик. [5]
Большое вам спасибо!
#30 Comment By Netwalker On 01.12.10 @ 18:47
Вот ТЕСТОВЫЙ cmd скрипт с пингованием инета.
Настройки изменить под себя (имя соединения, логин, пароль, ID модема)
Используйте на свой страх и риск, за последствия (и кучерявые руки) не ручаюсь.
[6] или [7]
#31 Comment By B@rs On 23.08.12 @ 06:59
Попробуй программу MonConnInet
Автоматически перезагрузит любой модем, команду перезагрузки указать в настройках программы
#32 Comment By Паук On 23.08.12 @ 09:23
B@rs, ну и причем тут dsl модемы с интерфейсом ethernet к USB модемам?
#33 Comment By kir On 09.01.13 @ 17:50
Можно скрипт ещё раз выложить?Спасибо.
#34 Comment By Kmr On 17.09.17 @ 06:22
Подниму эту тему ещё разок. Есть десятая винда и йота модем. Последний виснет наглухо раз в 6 часов. Вышеуказанными способами победить не удалось. Devcon в 10ке отказывается работать. В линуксе все более менее ясно и осуществимо. Есть какие нибудь варианты с десяткой?
#35 Comment By Teddie On 31.10.17 @ 20:19
в режиме совместимости не пробовали запускать?