Как правильно подойти к вопросу: некорректная работа USB Serial принтера. В чём дело?
Сейчас ситуация такая: имеется система Windows 10 IoT Enterprise (исходная точка разработки, по определённым причинам поменять на другую её не получится). Под неё разрабатывается система, частью которой являются внешние устройства, одно из которых - принтер (не классический HP и т.п.). При подключении этого принтера к системе, даже в случае если разрабатываемое ПО не запущено, принтер начинает печатать "мусорные бланки". Подключается он посредством USB-B to USB-A кабеля, в системе определяется как USB Serial Device с COM9 - исходя из данных девайс менеджера системы. Во время процесса этой печати так же невозможно программно открыть COM порт, который задействован для принтера. Открытие и печать того, что нам нужно, можно произвести только по окончанию печати. Методом долгих исследований удалось выяснить, что дело в usbser.sys драйвере Windows 10 IoT Enterprise (FTDI драйвер для этого устройства корректно не ставится). Мусорная печать начинается только после запуска системы в момент опроса всех подключённых устройств. Или после того как USB-B кабель был вставлен в порт принтера при уже загруженной системе, при отключении - сразу останавливается. Под рукой оказались Windows 10 Pro и Windows 10 Enterprise Evaluation (без IoT) - при подключении принтера тем же способом к ним такого поведения не наблюдается. COM порт успешно открывается сразу же и принтер без проблем начинает печатать сходу. Тип устройства и драйвер определяются такими же.
По вводным: теоретическая причина такого странного поведения: указанный USB драйвер для IoT Enterprise отличается по формату отправляемых дескрипторов для этого класса устройств и принтер воспринимает низкоуровневые USB запроса как данные на печать.
Сейчас ситуация такая: втыкать в другой USB-порт на компьютере IoT Enterprise проверяли, вероятность "грязного внутренного буфера" тоже исключается: питание принтера идёт от внешнего источника в 12V и до включения в него USB кабеля печать не происходит.
Сейчас ситуация такая: вопрос: есть ли возможность заменить конкретно для этого устройства подходящий драйвер другим или написать под него фильтр? Наткнулся на информацию по последним, но так и не понял как правильно настроить.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос