Forums -> Глюкодром -> Программисты - нужна помощь!
| Full Version

VxWorks
ДАНО

Устройство (по USB интерфейсу) подключено к компу 24х7. Таких устройств в системе 4. Периодически, так происходит, что Винда забывает о наличии одного из них в системе.
Производитель девайса кроет матом комп, винду, Билла Гейтса и господа Бога. Но сам он, естественно, не виноват ни в чем. Документации на драйвер НЕТ, но я знаю адреса, по которым он общается с девайсом, так что послать обычный запрос и обработать ответ, теоретически можно.

Устройства к компу подключены всегда и никогда от него отключены не будут, разве что физически помрут, что редкость и в данной задаче не рассматривается.

ТРЕБУЕТСЯ

Определить в Винде - живы ли ВСЕ девайсы. Если нет, симулировать отключение-включение, чтобы Винда сделала enumeration (хз как по русски).
Сделать это надо мне, но я в Винде ни в зуб ногой. Из девелоперского софта - только MS VS Express.
Программа, которая будет такое делать, не должна сидеть резидентом - отработала и хватит. То есть, действовать по принципу "когда понадобится, вас позовут". Консольная аппликация, есс-но.
mts
Не програмное решение, но всё же. Попробуй запретить винде возможность отключения питания на USB "для экономии электроэнергии" :diablo:
VxWorks
Это я уже делал - не действует :)
inzerus
Я сам не пробовал, но есть такая программка - DevCon (описание, сама программа). Судя по описанию, вполне подойдет для опроса/reset-a USB устройств. И к тому же, консольная.

Другая идея - а что если просто из командной строки делать "dir U:" (или как там у вас в системе устройство называется) - может это реактивирует USB устройства?
VxWorks
Под адресом имелось в виду, что я знаю физический адрес (типа 0x8005AEAE) устройства. Как на такое можно сделать Dir? :)
inzerus
QUOTE (VxWorks @ 20-01-2006, 20:32)
Под адресом имелось в виду, что я знаю физический адрес (типа 0x8005AEAE) устройства. Как на такое можно сделать Dir? :)
Значит, dir пролетает. :)
А как насчет DevCon - подойдет?
VxWorks
Посмотрю чуть попозже :) Когда до системы доберусь :)
UGIN
QUOTE
USBINFO™ allows you to browse for and select a USB Device for Performance Test, execute the built-in USB Device Stop/Restart Process, and start running a Performance Test in just a few seconds and with just a few mouse clicks - On Windows 2000/XP the whole process is seamless and fully automatic.

Если такое поможет - брошу файл или линк..
Взято - отсюда.
Set
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q259697
VxWorks
Спасибо! В понедельник наложу свои лапы на систему, посмотрим, что из этого получится.
obaldin
QUOTE (VxWorks @ 20-01-2006, 19:32)
физический адрес (типа 0x8005AEAE)
А ты знаешь, что тебе в этот адрес надо сказать, чтобы оно ресетнулось?
VxWorks
Сказать-то я знаю, но при определенных событиях, Винда девайс просто теряет :( Соответственно, таймаут и device not found.
Michael2000
Железо надо прямое покупать...и БИОС обновлять...
(не обижайся,ворчу...старею).
FiL
странно, что программисты (а ведь такие явно есть на нетлабе) не отзываются. Всё админы/техники.

P.S. Если кого обидел по незнанию, то порстите. Не со зла.
admik
FiL пятница, вечер/ночь. какое тут юсб
obaldin
FiL, область уж больно специфическая. Но и то, вроде, в основном рассказали.
Самое близкое к теме, что я когда-то делал, была просто задача пречислить все USB-устройства, отобрать из них нужные по vendor id и вызвать на них парочку IOCTL'ов. Есдинственная хитрость была та, что среди USB-устройств могут быть USB-контроллеры и тогда нужно рекурсивно смотреть, что висит на них.
VxWorks
QUOTE (Michael2000 @ 21-01-2006, 02:14)
Железо надо прямое покупать...и БИОС обновлять...
(не обижайся,ворчу...старею).
Железо это очень специфическое - JTAG BDM. Стоит что-то около 2К баксов за 1 штуку. То, что оно кривое, знают все, но вариантов нет - либо этот девайс, либо iSystems за 25 штук.
Michael2000
QUOTE (FiL @ 21-01-2006, 06:03)
странно, что программисты (а ведь такие явно есть на нетлабе) не отзываются. Всё админы/техники.

P.S. Если кого обидел по незнанию, то порстите. Не со зла.
Ну потому что надо начать а там уже по ходу дела решать по одной.Я вообще на расстоянии никогда не умел,у меня с машинами очный секс. Да и привык к домашним конфигам...
А народ до понедельника глядишь отзовется...
inzerus
QUOTE (FiL @ 21-01-2006, 08:03)
странно, что программисты (а ведь такие явно есть на нетлабе) не отзываются. Всё админы/техники.

P.S. Если кого обидел по незнанию, то порстите. Не со зла.
Программисты бывают разные. :) Я, например, программист, но программированием USB и похожими задачами никогда не занимался.
Set
Не успел Воркс... повязали ребят из MI-5 вместе со злополучным камнем... :laugh:
VxWorks
QUOTE (Set @ 24-01-2006, 21:59)
Не успел Воркс... повязали ребят из MI-5 вместе со злополучным камнем... :laugh:
Никто никого не повязал... кроме того, что проект накрылся медным тазом из-за начальства, которое выдало гениальную фразу еще в понедельник утром : "клиенту это не нужно, а если и нужно, то х.. с ним, с таким клиентом". Уродыбл ©

Завтра поеду к этому клиенту, разбираться, может, он на мое начальство наедет и мне дадут заняться хоть чем-нибудь интересным...
obaldin
QUOTE (VxWorks @ 25-01-2006, 00:18)
может, он на мое начальство наедет и мне дадут заняться хоть чем-нибудь интересным...
А тебя прикалывает такая возня с USB?
VxWorks
QUOTE (obaldin @ 24-01-2006, 23:25)
QUOTE (VxWorks @ 25-01-2006, 00:18)
может, он на мое начальство наедет и мне дадут заняться хоть чем-нибудь интересным...
А тебя прикалывает такая возня с USB?
Ну, мне хоть бы чем заняться, лишь бы не писать маячащие на горизонте два Application Note - первая о том, как устанавливать программу отладки на систему с двумя микроконтроллерами, подключенными через JTAG scan chain (хз как это по-русски будет), а вторая - наглядное пособие о том, как разрабатывать код, который можно перемещать из одного участка памяти в другой (в смысле - загружаться во флешку, а исполняться из RAM) в произвольный момент времени... То есть, программу-пример я уже написал и давно, но начальство требует, чтобы я объяснил, как это все работает, причем так, чтобы даже самому заклятому индусу было понятно. Короче, "планчик-конспектик" на 40 страничках каждый...

Честное слово, я бы лучше с USB повозился...
obaldin
QUOTE (VxWorks @ 25-01-2006, 01:46)
"планчик-конспектик" на 40 страничках каждый...

Честное слово, я бы лучше с USB повозился...
Ну, при таком богатстве выбора -- да, USB выглядит очень привлекательно :lol:
Set
Это точно, там вроде как одной API функцией весь процесс запускается. :actu:
obaldin
Процесс чего?