GenaSPB 11 10 января, 2017 Опубликовано 10 января, 2017 · Жалоба Да это странности USBLyzer-а. Ендпоинты конфигурируются... ПРосто с нестартующим устройством до них (кроме нулевого) не доходит дело. ... Забил все строковые дескрипторы для ясности нулями. ПОведение не поменялось - нестартующий единственный CDC EEM и нормально работающие остальные варианты. Даже такой как непоставившийся драйвер CDC-ECM и работающий при этом CDC-EEM. Непоказывающийся MAC в ECM это тоже глюк USBLYZER EEM.pdf 2xCDC_ACM_1xCDC_EEM.pdf eem_ecm.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
controller_m30 1 10 января, 2017 Опубликовано 10 января, 2017 · Жалоба Может VID или PID поменять? Например те VID и PID которые есть, вызывают драйвер, которому единственное устройство EEM не нравится... Попробуйте заменить их, чтоб винда заново драйвер для устройства поставила. Или, если не менять VID/PID - удалить драйвер комбинированного устройства, и попробовать поставить с теми-же VID/PID устройство единственное. Может винда чего напишет новое. А если нет, то я тоже склоняюсь к тому, чтобы посмотреть дескрипторы от рабочего устройства. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 10 января, 2017 Опубликовано 10 января, 2017 · Жалоба Менять vid/pid пробовал... Но это и не нужно - драйвер нашелся, в диагностике написано что запустить не может. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
controller_m30 1 10 января, 2017 Опубликовано 10 января, 2017 · Жалоба Попробуйте в "Device Descriptor" для единственного устройства, в полях Class, Subclass, Protocol, поставить значения: 02, 06, 00 02, 06, 01 02, 00, 00 02, 00, 01 Вдруг какое-то заработает. 02, 06, 00 предлагают для ECM на MSDN https://msdn.microsoft.com/en-us/library/wi...7(v=vs.85).aspx 02, 00, 00 на каких-то сайтах про ECM https://sourceforge.net/p/contiki/mailman/message/25268923/ https://www.xmos.com/download/private/AN001...2.0.2rc1%29.pdf Но если EEM работает на дескрипторах ECM, то можно значит пробовать и с другими настройками ECM что-то подбирать для EEM. xx, xx, 01 это мой вариант для сохранения "Interface Association Descriptor", который вроде бы и не влияет, но вдруг. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 10 января, 2017 Опубликовано 10 января, 2017 (изменено) · Жалоба EEM работает на дескрипторах EEM. Не ECM. Если я получу устройство ECM (которое хоть и без драйвера, но опознается корректно - в device manager соответствующее composite device появляется, в отличии от EEM одиночного) - что толку? Тем более, что дескриптор EEM сильно от ECM отличается - в ECM два интерфейса, например вместо одного у EEM. В той строке на которую я сослался в своих исходниках, видно все функции, которые могут поддерживаться в enumerate. Изменено 10 января, 2017 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
controller_m30 1 10 января, 2017 Опубликовано 10 января, 2017 · Жалоба EEM работает на дескрипторах EEM. Не ECM. Согласен. Но поскольку вы используете Class, SubClass от ECM для EEM (0xef, 02) - значит можно для EEM попробовать и другие допустимые для ECM значения Class, SubClass. По моему логично. дескриптор EEM сильно от ECM отличается - в ECM два интерфейса, например вместо одного у EEM. Согласен полностью. Но т.к. работающие комбинированные интерфейсы начинаются с Class 0xef (miscellaneous), и в принципе так и должно быть, раз "замешано" несколько устройств, то может быть для единственного EEM нужен простой Class? Пока ищутся оригинальные дескрипторы EEM, можно попробовать подобрать свои варианты :laughing: (если они хоть как-то логически обоснованы) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 10 января, 2017 Опубликовано 10 января, 2017 · Жалоба 0xef, 02, 0x01 - это означает, что информация о классах берется не из device descriptor, а устройство составное, в нем много разных функций может быть... Эти значения и для аудио и для компортов... может быть для единственного EEM нужен простой Class А почему он не нужен для единственного компорта (было), аудиоустройства, ECM наконец? В аттачменте документ с картинками про составные устройства. iadclasscode_r10.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
controller_m30 1 10 января, 2017 Опубликовано 10 января, 2017 · Жалоба А почему он не нужен для единственного компорта (было), аудиоустройства, ECM наконец? На сайте MSDN если (я правильно понял), как раз для ECM и предлагается 02, 06, 00. Если конечно ECM и ENCM это одно и то же. Вот ещё вариант. В этот раз точно для EEM http://www.usb.org/developers/docs/devclas...s/CDC_EEM10.pdf стр.13-14, Class, SubClass, Protocol: 02, 0x0C, 07 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 10 января, 2017 Опубликовано 10 января, 2017 (изменено) · Жалоба Класс/подкласс и протокол в случае составного устройства берутся оттуда, где им и положено быть - или из interface association descriptor каждой функции или из interface descriptor функции с одним интерфейсом (вольный пересказ документа). Жаль, что DiMonster последний раз был тут Последнее посещение: 11th November 2016 - 22:37 Вот ещё вариант. В этот раз точно для EEM http://www.usb.org/developers/docs/devclas...s/CDC_EEM10.pdf стр.13-14, Class, SubClass, Protocol: 02, 0x0C, 07 А я какой еще мог использовать, как не этот? Изменено 10 января, 2017 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
controller_m30 1 10 января, 2017 Опубликовано 10 января, 2017 · Жалоба Класс/подкласс и протокол в случае составного устройства берутся оттуда, где им и положено быть - или из interface association descriptor каждой функции или из interface descriptor функции с одним интерфейсом (вольный пересказ документа). Да. Но вы же делаете из составного устройства простое, в случае с единственным EEM. Наверное для него нужен и дескриптор простого устройства (хотя бы Device Descriptor). Почему бы нет? Для простых устройств можно указывать Class, Subclass, Protocol прямо в "Device Descriptor". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 10 января, 2017 Опубликовано 10 января, 2017 · Жалоба Но вы же делаете из составного устройства простое, в случае с единственным EEM Нет, это составное устройство с одной функцией. Работает со всеми типами, что я проверял, кроме EEM. У составного и "простого" разные форматы device descriptor для начала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
controller_m30 1 10 января, 2017 Опубликовано 10 января, 2017 · Жалоба Я не видел дескриптора EEM "в глаза", и могу только гадать что там должно быть. В даташите от USB.org написано, что эти значения можно применять не только для "Interface Descriptor", но и для "Device Descriptor". Если 02, 0С, 07 можно поставить прямо в "Device Descriptor", значит возможна и такая конфигурация. Потому и предложил это рассмотреть. Но если дело точно не в дескрипторах, тогда я пока ничего больше предложить не могу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 10 января, 2017 Опубликовано 10 января, 2017 (изменено) · Жалоба Вот такие тоже не работают... Если 02, 0С, 07 можно поставить прямо в "Device Descriptor", значит возможна и такая конфигурация zzz1.pdf именно такой случай. zzz.pdf zzz1.pdf Изменено 10 января, 2017 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 11 января, 2017 Опубликовано 11 января, 2017 (изменено) · Жалоба Применил тяжелую артиллерию... На другом процессоре (Renesas RZA1L) на USB HS интерфейсе одиночный CDC EEM нормально опознался! Однако, соответствующее USB composite device в дереве device manager-а не появилось... При этом, на USB FS так же с ошибкой о неудачном запуске. Если добавлялись иные функции, так же нормально работает и на FS и на HS. ps: в endpoint дескрипторах с типом bulk поле bInterval не игнорируется, а имеет вполне конкретное назначение. USB_CDC_EEM_HS_working.pdf Изменено 11 января, 2017 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
romanetz 0 11 января, 2017 Опубликовано 11 января, 2017 · Жалоба Под линуксом что UAC+ECM, что EEM отдельно опознается нормально. Десятки нет и не будет. Под семеркой - код 28, "нет драйвера". Пробовал покупную сетевуху на ASIX..178 - она вообще vendor defined class. Драйвер подгрузился автоматом из интернета. Может быть, рабочий дескриптор EEM на симках/смарткартах можно увидеть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться