sobr 0 15 октября, 2023 Опубликовано 15 октября, 2023 · Жалоба Добрый день! Есть у меня на руках USB железка использующая Сustom Сlass и подписанный драйвер. Решил я к ней прикрутить еще и CDC. Собрал Composite Device содержащий Сustom Class и CDC. Так вот... Если VID/PID поставить неизвестные ОС, то появляется составное устройство состоящее из виртуального ком-порта (что и требуется) и неизвестного устройства (драйвер устройства Custom Class не видит своих VID/PID). А если VID/PID поставить знакомые драйверу, то в системе появляется устройство Custom Class, и никакого составного устройства... Изменения в inf файл драйвера Custom Class мне Windows 10(64) не позволяет внести. Отсюда вопрос: Как мне рассказать Windows о том, что для CDC необходимо установить стандартный драйвер ком-порта, а для Custom Class свой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 15 октября, 2023 Опубликовано 15 октября, 2023 (изменено) · Жалоба Нет ли ошибок в нумерации интерфейсов? Interface Association descriptor есть у каждой функции в данном составном устройстве? Ещё... попробуйте сменить vid pid у устройства и проверить- любой ли вариант порядка функций будет опознаваться одинаково? Каждый теаст делайте на новом pid или удаляйте устройства Изменено 15 октября, 2023 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sobr 0 16 октября, 2023 Опубликовано 16 октября, 2023 · Жалоба 22 часа назад, GenaSPB сказал: Нет ли ошибок в нумерации интерфейсов? ... Нет, там все в порядке. Все происходит согласно спецификации Microsoft. Если для вид/пид нет зарегистрированного драйвер - грузится универсальный. Ставится CDC и неизвестное устройство т.к. в дескрипторе интерфейса указано vendor specific. Если вид/пид совпадают с каким нибудь драйвером грузится он. Но в моем драйвере Custom Class нет ни слова про интерфейсы. Только вид/пид. Соответственно в систему ставится только Custom Class. Но... Если в inf файле драйвера Custom Class добавить строчку с указанием вид/пид/интерфейс то все работает как надо! Воткнешь только Custom Class ставится только он, воткнешь в составе Composite Device ставится весь композит девайс с Custom Class. Проблема в том, что Window (x64) не позволяет устанавливать неподписанные драйверы. Решений для своего компа более, чем одно. Но как быть с распространениям своего девайса? Microsoft не предлагает решения. Т.е. они полагают, что производить USB устройства могут только большие производители, которые могут отдавать 300-400$ в месяц за сертификат? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 16 октября, 2023 Опубликовано 16 октября, 2023 · Жалоба У вас vendor specific это что-то отличающиеся от winusb? Для него есть штатный способ автоинсталляции драйвера Про смену порядка устройств вы е ответили... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sobr 0 16 октября, 2023 Опубликовано 16 октября, 2023 · Жалоба 8 часов назад, GenaSPB сказал: У вас vendor specific это что-то отличающиеся от winusb? Для него есть штатный способ автоинсталляции драйвера Да, отличающийся немного, да есть штатный способ инсталляции. НО дело не в инсталляции драйвера. Он (драйвер) установлен нормально. Дело в том, как винда его применяет. Мой способ с добавлением строчки тоже не взлетел. Работает только если винда запускается в защищенном режиме. Если в обычном тоже применяет драйвер Custom Class и не устанавливает Composite Device. Остается только вовсе убирать из драйвера строчку без указания интерфейса. Цитата Про смену порядка устройств вы е ответили... Смена порядка интерфейсов тоже ни к чему не приводит, да и не должна была... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 17 октября, 2023 Опубликовано 17 октября, 2023 · Жалоба 18 hours ago, sobr said: Смена порядка интерфейсов тоже ни к чему не приводит Правильно ли я понял, что подписанный драйвер перестает ставится если добавляется интерфейс CDC в любом месте? Или CDC сам не ставится? зы: давно бы дамп дескриптора скинули. Частая ошиька например - что в IAD не те номера интерфейсов пишут IAD и перед тем дескриптором что принадлжит оригинальному устройству есть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sobr 0 17 октября, 2023 Опубликовано 17 октября, 2023 · Жалоба 5 часов назад, GenaSPB сказал: Правильно ли я понял, что подписанный драйвер перестает ставится если добавляется интерфейс CDC в любом месте? Или CDC сам не ставится? зы: давно бы дамп дескриптора скинули. Частая ошиька например - что в IAD не те номера интерфейсов пишут IAD и перед тем дескриптором что принадлжит оригинальному устройству есть? Вы меня конечно извините... Но Вы либо плохо читаете, либо плохо понимаете прочитанное. Нет никаких ошибок! Все происходит согласно тому как Микрософт декларирует! Композитное устройство как устройство имеет вид/пид подписанного драйвера. Виндовс находит подписанный драйвер на это вид/пид и не найдя ни слова про номера интересов в драйвере ставит весь девайс как устройство прописанное в подписанном драйвере! Только его! Никакого композитора! Если вид/пид сменить на неизвестный, то не найдя вид/пид в своих записях виндовс начинает читать дескрипторы и найдя там композитное устройство ставит драйвер стандартного класса CDC и неизвестное устройство, т.к. там в дескрипторе указанно вендор специфик. Но если в подписанном драйвере добавить к вид/пид номер интерфейса то все начинает работать! Но как скормить виндовс измененный драйвер, не локально а массово? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 17 октября, 2023 Опубликовано 17 октября, 2023 (изменено) · Жалоба Странности рассказываете... Знаю что ходит по рукам одна конструкция, в которой USB композитное устройство - и у нему подходит драйвр VCP от ST, подписанный. На остальных интерфейсах там живёт аудио карта. Я сам не держал в руках, но слышал... Может на время решит? "c:\Program Files (x86)\Windows Kits\10\bin\x86\Inf2Cat.exe" /v /driver:. /os:6_3_X86,6_3_X64,8_X64,8_X86,Server8_X64,Server2008R2_X64,7_X64,7_X86,Server2008_X64,Server2008_X86,Vista_X64,Vista_X86,Server2003_X64,Server2003_X86,XP_X64,XP_X86,2000,10_X86,10_X64,Server10_X64 "C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86\signtool" sign /v /n "yoyr_name" /a /tr http://timestamp.globalsign.com/?signature=sha2 /td sha256 *.cat pause Изменено 17 октября, 2023 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sobr 0 18 октября, 2023 Опубликовано 18 октября, 2023 · Жалоба 10 часов назад, GenaSPB сказал: Странности рассказываете... Знаю что ходит по рукам одна конструкция, в которой USB композитное устройство - и у нему подходит драйвр VCP от ST, подписанный. На остальных интерфейсах там живёт аудио карта. Я сам не держал в руках, но слышал... Может на время решит? "c:\Program Files (x86)\Windows Kits\10\bin\x86\Inf2Cat.exe" /v /driver:. /os:6_3_X86,6_3_X64,8_X64,8_X86,Server8_X64,Server2008R2_X64,7_X64,7_X86,Server2008_X64,Server2008_X86,Vista_X64,Vista_X86,Server2003_X64,Server2003_X86,XP_X64,XP_X86,2000,10_X86,10_X64,Server10_X64 "C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86\signtool" sign /v /n "yoyr_name" /a /tr http://timestamp.globalsign.com/?signature=sha2 /td sha256 *.cat pause И всё-таки не хотите вы вникать в написанное... Первое - Как подписать драйвер самоподписанным сертификатом я знаю. Второе -По поводу конструкции, которая ходить по рукам... В драйвере для VCP от ST прописан номер интерфейса (все как меня, когда я доработал драйвер для custom class) а аудиокарта - стандартный класс «Audio Device Class» (у меня CDC). Третье - В моем случае да и другие начиная с windows 10 для VCP драйвер от ST уже не нужен, в винде уже прописан класс CDC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 18 октября, 2023 Опубликовано 18 октября, 2023 (изменено) · Жалоба Про то что в inf не был прописан номер интерфейса я упустил ... Про встроенные в десятую винду драйверыся,в курсе и этим пользуюсь Изменено 18 октября, 2023 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sobr 0 15 февраля Опубликовано 15 февраля · Жалоба История продолжается. Предыдущую проблему удалось решить покупкой сертификата от GlobalSign. Появилась новая: Берем две одинаковые на первый взгляд ОС (номер сборки, разрядность и т.д.), при отсутствии драйвера на одной мой девайс определяется нормально, композитное устройство состоящее из компорта и неизвестного устройства (драйвер пока не установлен). На другой - композитное устройство с восклицательным знаком, при попытке указать ему на нужный драйвер появляется сообщение "Возникли проблемы с установкой драйвера" и появляется мое устройство с восклицательным знаком. компорт вообще не показывается. Программа USBLyzer показывает, что на обоих системах девайс корректно передает все дескрипторы. Эта ситуация наблюдалась на одинаковых Windows 7 и одинаковых Windows 10. Вопрос: Как узнать что вторую систему не устраивает? Почему она нормально не идентифицирует композитное устройство и не определяет хотя бы стандартный компорт? Есть ли какие нибудь способы (средства) диагностики? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 19 февраля Опубликовано 19 февраля · Жалоба Логи инсталлятора посмотрите, иногда помогает понять, что не нравится системе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться