-
- CDC драйвер винды 100% виснет при выдергивании шнурка, если в это время идет обмен данными. - Гудвин(14.01.2019 11:33)
- А можно про "композитный девайс с СОМ-портом и HID-ом одновременно" подробнее? Как делать композитные девайсы с разными HID'ами, я знаю (все дескрипторы пихаю в одну кучу), но скрестить HID с CDC не могу (слишком уж они разные). Их, Ксения(93 знак., 14.01.2019 19:03 - 19:05)
- Точки разносятся естественно. PIDы тоже разные ставятся. Более того надо *.inf-файлик драйвера править под виндой, чтобы указать номер интерфейса. Вообще я черпал инфу Звероящер(274 знак., 15.01.2019 06:03)
- В дескрипторах я разбираюсь, а в разделении точек нет, т.к. все случаи в моей практике были одноточечными. USB - сложный интерфейс, а потому хотелось бы живого примера вместо чтения мануалов. - Ксения(15.01.2019 10:19)
- По ссылкам примеры - живее некуда и ссылка на гитхаб. - Звероящер(16.01.2019 08:56)
- В дескрипторах я разбираюсь, а в разделении точек нет, т.к. все случаи в моей практике были одноточечными. USB - сложный интерфейс, а потому хотелось бы живого примера вместо чтения мануалов. - Ксения(15.01.2019 10:19)
- Устройство содержит конфигурацию с двумя интерфейсами. Не? Dingo(41 знак., 15.01.2019 04:52, ссылка)
- Точки разносятся естественно. PIDы тоже разные ставятся. Более того надо *.inf-файлик драйвера править под виндой, чтобы указать номер интерфейса. Вообще я черпал инфу Звероящер(274 знак., 15.01.2019 06:03)
- HID consumer control так же виснет. Не виснут только клавиатурные-мышиные HID. Но как их заюзать в проге - ХЗ. - ASDFS(14.01.2019 13:43)
- Что подразумевается под "виснет"? Опыт с FT232 показывает, что при выдергивании-вдергивании порт пропадает, его програмно закрываешь, открываешь и все опять работает. Правда у него свой драйвер, возможно он CDC винды не использует. - AlexBi(14.01.2019 12:47)
- После помехи на любые команды ReadFile, WriteFile, CreateFile выдаёт ошибку. Единственный способ заставить работать - это выткнуть USB и снова воткнуть. - Ale3000(15.01.2019 04:23)
- Угу. Мы по этой причине забили на CDC и перешли на WinUSB. Он намного стабильнее работает. - =AK=(23.01.2019 01:52)
- С CDC какая-то бяка с реестром происходит. =AK=(182 знак., 23.01.2019 01:56 - 02:12)
- Кстати, читал как-то что у видны есть несколько способов определять наличие COM-порта. Так вот только один способ корректно определял наличие USB-COM порта - Звероящер(15.01.2019 09:38)
- Если используется МК, а не FTDI/etc, то можно с его стороны отслеживать повисание шины и эмулировать disconnect/reconnect. Ессно в софте надо корректно обрабатывать исчезновение устройства. - LightElf(15.01.2019 08:51)
- Угу. Мы по этой причине забили на CDC и перешли на WinUSB. Он намного стабильнее работает. - =AK=(23.01.2019 01:52)
- В софтине вызывается ReadFile/WriteFile и блокируется... Ведь способа узнать, для софтины, что порта больше нет -- не предусмотрено. - fk0(14.01.2019 13:00)
- А я по сообщению WM_DEVICECHANGE с параметром DBT_DEVNODES_CHANGED посылаю CDC-девайсу команду ClearCommBreak(). Если отвечает false, то закрываю порт, считая девайс выдернутым из гнезда. На этой команде открытый порт не виснет. А если там не Ксения(109 знак., 14.01.2019 17:19)
- В чем проблема таймаут поставить на write? Другое дело, что если до повторного втыкания порт не освободить, он может и другим номером встать. И часто проблема не в перевтыкании, а в тупом подвисе шины или драйвера, или хз чего. - Andreas(14.01.2019 13:24)
- После помехи на любые команды ReadFile, WriteFile, CreateFile выдаёт ошибку. Единственный способ заставить работать - это выткнуть USB и снова воткнуть. - Ale3000(15.01.2019 04:23)
- А можно про "композитный девайс с СОМ-портом и HID-ом одновременно" подробнее? Как делать композитные девайсы с разными HID'ами, я знаю (все дескрипторы пихаю в одну кучу), но скрестить HID с CDC не могу (слишком уж они разные). Их, Ксения(93 знак., 14.01.2019 19:03 - 19:05)
- CDC драйвер винды 100% виснет при выдергивании шнурка, если в это время идет обмен данными. - Гудвин(14.01.2019 11:33)