Привет!
Я много сделал юсб -девайсов и почти во всех применял V-USB, который при подключении к компу запрашивал драйверы, короче работал через LibUSB-win32. Было все ок, но мне в нем не нравилось то, что ему нужны были драйвера и глючность самой библиотеки (под комп) на некоторых компах(например когда девайс е подключен и т.д.). Но вот в последнее время решил пересесть на HID, тут либа стандартная и дравера не надо, а значит, будет работать на большинстве платформ.
Чтобы не паять девайс для теста, я просто решил переделать тот, который щас разрабатываю. Я Просто изменил дескриптор репорта, отключил опрос по RS485(это одна с ф-ций девайса), и сделал пару изменений в конфиге, переделал прогу под комп и девайс начал кидать байтики на комп. Потом влючл опрос по RS485, но не подключал витую пару - работало тоже нормально. Потом подключил конектор с витой парой и как только остальные девайсы по рс485 начали передавать байты на главные девайс (тот, на котором юсб), программа перестала находить девайс

. Заглядывал в диспетчер устройств, там девайс нормально определяется, потом решил посмотреть через эверест. Оказывается, что при нормальной работе девайса в эвересте отображаются производитель, продукт, VID/PID, клас, а когда программа не может найти устройство, то только VID/PID. Соответственно, программа не может его найти. Но при этом, даже когда програма не видит устройство, оно работает нормально (опрос по рс485, отображение на дисплее, сканирование клавы). Я потом начал втыкать usbPoll() куда только можно, всеравно не работает. Короче мучался полторы суток и заработало, почему не знаю, но хотелось бы знать.
Конечно пробелма решилась, но не факт, что она опять появится, особенно фигово будет когда оно начнет глючить у заказчика.
Может кто-то сталкивался с подобной пробемой?
Забыл добавить: глюк происходит вне звисимости от частоты опроса (5 сек или 50 мсек)