Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> USB перезапуск устройства 
:(
    Опции темы
bass
Дата 27.9.2014, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 315
Регистрация: 5.8.2007

Репутация: 2
Всего: 2



Доброго времени суток.

Суть проблемы такая. Есть некий девайс весящий на УСБ порте. Определяеться как HID устройство. В девайсе стоит ватч дог (Если устройству не приходят команды от программы то он переодически ребутаеться). Бывает такое что девайс подвисает.... Не знаю что присходит но дело в УСБ, очень редко. Причем хост УСБ не понимает сразу что девайс отвалился..... Вач дог срабатывает через 1 мин.... При попытке программы послать данные в УСБ данная функция зависает.... Пока не сработает ватч дог в девайсе..... Хочу избежать данной ситуации.... Есть паралельный поток который отслеживает данное подвисание. Но пользуюсь библиотекой от атмела AtUsbHid..... Закрыть устройство не помогает..... Можно как то послать системе чтобы она ребутнула данный девайс.... Или просто отключила.... Через одну минуту всеравно подцепиться... В какую сторону ковырнуть.

За ранее спасибо.
PM MAIL   Вверх
Alexeis
Дата 27.9.2014, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 7
Всего: 459



  Устройство питается по УСБ или свое питание имеет?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
bass
Дата 27.9.2014, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 315
Регистрация: 5.8.2007

Репутация: 2
Всего: 2



Хороший вопрос.
Там два устройства...... Причем одно берет питание с USB а второе может питаться от USB и от внешнего питания (Питание МК подаеться с любого источника.)..... Только если не будет питания USB шины второе устройство не инициализирует USB и будет переодически перезагружаться в течение одной минуты.  Могу выкрутиться путем разделения потоков обрабатывающих устройсва..... Просто получаеться виснет одно устройство, тянет за собой подвисание второго... Кода много переписывать, хочеться отделаться малой кровью . Хочеться чтобы система просто поняла что данного устройства нет в системе..... А через одну минуту оно снова подцепиться...
PM MAIL   Вверх
kuzulis
Дата 28.9.2014, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 5.9.2007

Репутация: 1
Всего: 1



Попробуй использовать WinAPI функции семейства CM_* / SetupAPI - там много чего интересного...
А вообще, забанили в гугле что-ли? 
PM MAIL   Вверх
Dem_max
Дата 29.9.2014, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 16
Всего: 39



Цитата

Если устройству не приходят команды от программы то он переодически ребутаеться


Это не есть хорошо, не должно быть этого.


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
Akira
Дата 30.9.2014, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 26.3.2012

Репутация: нет
Всего: нет



Это часом не Китайский агрегат для подлючения всевозможных жестких дисков?
Если оно, то у меня эта скотина тоже глючит.
Можно в принципе поискать доки если вы точно назовете устройство и модель, поскольку тут множество ньюансов, без которых можно очень долго растекаться мыслями по дереву.
PM MAIL   Вверх
bass
Дата 5.10.2014, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 315
Регистрация: 5.8.2007

Репутация: 2
Всего: 2



Цитата(Dem_max @ 29.9.2014,  18:10)
Цитата

Если устройству не приходят команды от программы то он переодически ребутаеться


Это не есть хорошо, не должно быть этого.


Может быть и не должно.. Но встречалась проблема: Ребутаеться система по причинам не зависящих от моей системы. А устройство винда не подцепляет(Сталкунулся на нескольких машинах)..... Прошивку в устройство писал я. Вернее в два устройства. Ну а работа устройства без прикладного ПО не имеет смысла. Устройство ребутаеться (При этом корректно завершает работу USB). Подцепляеться, ПО видит что устройство в системе и переодически отсылает команду устройству что есть соединение и устройство не ребутаеться. Как то так. Так же есть в ПО тайм аут для нахождения устройсва. 
PM MAIL   Вверх
Dem_max
Дата 6.10.2014, 07:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 16
Всего: 39



Значит что то у тебя с прошивкой, раз винда не определяет.


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
bass
Дата 9.10.2014, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 315
Регистрация: 5.8.2007

Репутация: 2
Всего: 2



Цитата(Dem_max @ 6.10.2014,  07:06)
Значит что то у тебя с прошивкой, раз винда не определяет.

Стандартный пример от атмела. HID устройство.
Встречал что на данные системные блоки также есть устройства которые ребутаються..... На данных системах специфичная материнская плата, может что в биосе выставлено.. Я уже задавал данный вопрос на форуме.... Даже вы советовали использовать библиотеки луфа.... Но руки так и не добрались, выкрутиться ребутом. Спасибо за помощь.... Теперь дело в зависании, это происходит редко.... Но бывает... Как правило выяснилось из-за глючного порта USB. Ладно перераспределю потоки....

Это сообщение отредактировал(а) bass - 9.10.2014, 22:17
PM MAIL   Вверх
borisbn
Дата 15.10.2014, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 6
Всего: 135



У меня была похожая проблема, но с Cypress-овским контроллером. Никак не победил. Пришлось сделать коммутатор питания для платы, которым моя программа управляла через GPIO. Если программа видит проблему с платой, то она выключает, а затем включает питание платы. Вроде работает.


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0811 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.