usb composite device что это

Устройство USB Composite является устаревшим устройством USB и может не работать с USB 3.0

USB 3.0 стал крупным прорывом на рынке передачи данных. Отмеченный голубыми USB-портами, USB 3.0 предоставил пользователям скорость до 10 раз больше USB 2.0 (5 Гбит/с), благодаря чему большие медиа-файлы и программы можно было передавать за считанные минуты.

USB 3.0 поддерживает обратную совместимость, что означает, что все устройства, работающие на USB 2.0, должны хорошо работать с USB 3.0. Однако многие пользователи сообщают о следующей ошибке при попытке подключить устройства к слотам USB 3.0 – USB Composite Device является устаревшим устройством USB и может не работать в USB 3.0.

USB Composite Device – старое USB-устройство

usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

Эта проблема более заметна с принтерами. Причиной обычно являются несовместимые драйверы. Попробуйте изменить порт USB, и если это не сработает, воспользуйтесь следующими решениями для решения проблемы:

1] Запуск оборудования и устранения неполадок USB

Средство устранения неполадок оборудования и устройств проверяет параметры, связанные с оборудованием, и, если возможно, корректирует их.

Чтобы использовать это средство устранения неполадок, нажмите кнопку «Пуск» и выберите «Настройки»> «Обновления и безопасность» >> «Устранение неполадок».
usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

Выберите средство устранения неполадок оборудования и устройств и запустите его. Перезагрузите систему, как только вы закончите.

2] Обновите или переустановите драйверы USB

Чтобы обновить драйвер устройства. нажмите Win + R, чтобы открыть окно «Выполнить» и введите команду devmgmt.msc. Нажмите Enter, чтобы открыть диспетчер устройств.

usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

Найдите драйверы Универсальный контроллер последовательной шины и раскройте список. Щелкните правой кнопкой мыши и выберите «Обновить драйвер» для каждого драйвера USB.

3] Удалите и переустановите драйверы принтера.

Поскольку вы не можете подключить принтер к компьютеру, новые драйверы необходимо будет загрузить с веб-сайта производителя. Установите их в систему и проверьте, нормально ли работает принтер после этого.

Это решение остается тем же для других аппаратных устройств, которые показывают ту же ошибку при попытке подключения к компьютеру.

Источник

USB Composite Device — старое USB-устройство

usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

Если вы продолжаете получать приведенное выше сообщение об ошибке при попытке подключить USB-устройство к вашему компьютеру, вот реальные решения вашей проблемы. Эта статья поможет вам быстро и легко решить проблему!

Попробуйте эти исправления

Вот 3 исправления, которые помогли многим другим пользователям решить проблему с USB Composite Device. Вам не нужно пробовать их все; просто пройдите вниз по списку, пока не найдете тот, который подходит вам.

Исправление 1: Обновите драйвер USB Composite Device

Наиболее вероятной причиной ошибки USB Composite Device является проблема с драйвером устройства.

К счастью, это одна из самых простых проблем.

Есть два способа обновить драйвер USB Composite Device: вручную а также автоматически.

Обновите драйвер USB Composite Device вручную — Вы можете обновить драйвер вручную, перейдя на веб-сайт производителя оборудования и выполнив поиск последней версии драйвера для вашего USB Composite Device. Если вы выберете такой подход, обязательно выберите драйвер, совместимый с точным номером модели вашего оборудования и вашей версией Windows.

Обновите драйвер USB Composite Device автоматически — Если у вас нет времени, терпения или навыков работы с компьютером, чтобы обновить драйвер вручную, вместо этого вы можете сделать это автоматически с Водитель Легко. Вам не нужно точно знать, на какой системе работает ваш компьютер, вам не нужно беспокоиться из-за неправильного драйвера, который вы загружаете, и вам не нужно беспокоиться об ошибке при установке. Driver Easy справится со всем этим.

usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

Исправление 2: переустановите драйверы контроллера USB

Вы также можете попробовать удалить и переустановить драйверы USB через диспетчер устройств. Это действие позволит Windows автоматически сканировать аппаратные изменения и переустанавливать необходимые драйверы. Вот что вам нужно сделать:

usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

ключ

нажмите одновременно, чтобы открыть окно «Выполнить».

usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

Исправление 3: использование средства устранения неполадок Windows USB

Если описанные выше действия не помогли вам, попробуйте Windows Устранение неполадок USB.

Чтобы использовать его, во-первых, вам нужно скачать инструмент с эта ссылка.

Затем вы можете открыть инструмент и следовать инструкциям на экране для устранения проблемы.

Если у вас есть какие-либо вопросы или предложения, пожалуйста, не стесняйтесь оставлять комментарии ниже.

Источник

Составное устройство USB на STM32. Часть 4: Два-в-одном

usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

В заключительной части публикации о составном устройстве USB я расскажу о том, как заставил заработать составное устройство USB, а также поделюсь некоторыми неочевидными нюансами этого процесса.

Работа составных частей устройства была описана во второй и третьей частях публикации.

Ответы на вопрос, зачем это всё было затеяно, даются в начале первой части и в конце четвёртой.

Ссылки на предыдущие части публикации:
Составное устройство USB на STM32. Часть 1: Предпосылки
Составное устройство USB на STM32. Часть 2: USB Audio Speaker
Составное устройство USB на STM32. Часть 3: Звуковое устройство отдельно, виртуальный СОМ-порт отдельно

Исходные коды публикуемой реализации составного устройства USB, состоящего из виртуального COM-порта и дуплексной звуковой карты находятся здесь: http://github.com/dmitrii-rudnev/selenite-habr

Создаём Composite Device Class

Файлы драйвера составного устройства usbd_comp.c и usbd_comp.h расположены в папках Core/Scr и Core/Inc соответственно.

Структура класса составного устройства аналогична структуре класса звукового устройства и содержит подобный набор функций-обработчиков событий.

Основная функция драйвера составного устройства заключается в том, чтобы определить, драйвер какого устройства нужно подключить для обработки события. При обработке запросов (Requests) это определяется по номеру интерфейса в случае Standard Requests или атрибутам запроса в случае Class-Specific Requests. При обработке пакетов данных переключение производится, как правило, по номеру конечной точки (EP).

Подробно Standard Requests описаны на стр.248 – 260 документа:
[5] Universal Serial Bus Specification, Revision 2.0, April 27, 2000

Запросы Communication Device Class-Specific Requests подробно описаны на стр.18 – 30 документа [4], а Audio Device Class-Specific Requests, соответственно, на стр.74 – 85 документа [3].

Читаем дескриптор

Дескриптор описанного в публикации составного устройства USB состоит из девяти байтов раздела Configuration Descriptor, восьми байтов раздела Interface Association Descriptor (IAD) для двух интерфейсов виртуального COM-порта, 58 байтов дескриптора виртуального COM-порта, восьми байтов раздела IAD для трёх интерфейсов звукового устройства и 183 байтов дескриптора звукового устройства USB.

Виртуальный COM-порт использует интерфейсы 0 и 1, а также конечные точки 1 и 2. Дуплексное звуковое устройство использует интерфейсы 2, 3 и 4, а также конечную точку 3.

Разбираем работу устройства

Рассмотрим доработанный файл usb_device.c, расположенный в папке USB_DEVICE/App:

Сначала создаётся переменная hUsbDeviceFS. Тип USBD_HandleTypeDef объявлен в usbd_def.h.

Функция MX_USB_DEVICE_Init вызывается из main.c.

Вызовом функции USBD_Init задаются начальные значения переменной hUsbDeviceFS.

Затем вызовом функций HAL_PCDEx_SetTxFiFo производится настройка буфера USB для каждой конечной точки составного устройства.

Неочевидный нюанс 1: по умолчанию настройка буфера USB производится при исполнении функции USBD_LL_Init, размещённой в файле usbd_conf.c. В теле этой функции области, помеченной как USER CODE, нет. Т.е. при каждой генерации кода STM32CubeMX будет удалять настройки буфера для конечных точек 2 и 3. Именно поэтому окончательная настройка буфера USB производится уже после того, как функция USBD_LL_Init отработала.

Вызовом функции USBD_RegisterClass в hUsbDeviceFS.pClass размещается указатель на созданную в usbd_comp.c переменную USBD_COMP, содержащую указатели на обработчики событий, относящихся к классу устройства. Тип USBD_ClassTypeDef объявлен в usbd_def.h.

Вызовом функции USBD_RegisterInterface в hUsbDeviceFS.pUserData размещается указатель на созданную в usbd_comp.h пустую переменную USBD_COMP_fops_FS.

В дальнейшем обработчики событий составного устройства USB будут вызывать обработчики событий нужного устройства, входящего в составное, а также подключать нужный интерфейс связи с оконечными устройствами.

Вызовом функции USBD_Start производится запуск устройства USB.

Неочевидный нюанс 2: составное устройство будет упорно определяться как виртуальный COM-порт, если не поменять значения трёх байтов в стандартном дескрипторе устройства USB (USB standard device descriptor), размещённом в файле usbd_desc.c, причём при каждой генерации кода STM32CubeMX эти изменения будет удалять:

Неочевидный нюанс 3: виртуальный COM-порт в данном решении работает корректно только в случае, когда номер используемой им конечной точки меньше, чем номер конечной точки звукового устройства.

Неочевидный нюанс 4: виртуальный COM-порт в данном решении работает корректно только в случае, когда при инициализации в его буфер прописываются параметры порта (см. USBD_COMP_Init). Без этой записи программы терминалов к COM-порту могут и не подключиться.

Проверка работоспособности драйвера составного устройства USB

Неочевидный нюанс 5: при проверке работоспособности «эхо» через COM-порт возвращается, когда составное устройство уже «переключено на COM-порт». В реальном применении устройства передача может начаться, когда подключено звуковое устройство. Чтобы избежать подобной ситуации, перед началом передачи производится вызов функции COMP_CDC_Transmit_FS для подключения драйвера виртуального COM-порта:

Выводы

Автору удалось реализовать составное устройство USB, состоящее из виртуального COM-порта и дуплексной звуковой карты, на ресурсах платы NUCLEO-F446ZE.

Решение оформлено в виде проекта в среде разработки STM32CubeIDE. После генерации кода STM32CubeMX для восстановления работоспособности решения необходимо вручную изменить значения трёх байтов в стандартном дескрипторе устройства USB (USB standard device descriptor), размещённом в файле usbd_desc.c.

От автора

Данный цикл публикаций подводит черту, фиксирует результат проекта, которой мне удалось достичь в одиночку.

Хочу поблагодарить своих читателей за доброжелательность и тёплый приём. Я никогда не был и никогда уже не буду профессиональным разработчиком ПО для микроконтроллеров. И это моя первая публикация про разработку программного обеспечения.

Благодарю Георгия (RX9CIM) за моральную поддержку при запуске проекта.

Отдельная благодарность romanetz_omsk, без которого я бы забросил проект ещё два года назад.

По логике дальнейшего развития MVP нужно приступать к написанию DSP, а это уже достаточно сложная для меня математика. Как это осилить в одиночку, ума не приложу…

Источник

Два в одном: USB хост и составное USB устройство

usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

Не так давно, была опубликована статья «Пастильда — открытый аппаратный менеджер паролей». Так как данный проект является открытым, то мы решили, что будет интересно, если мы будем писать небольшие заметки о процессе проектирования, о задачах, которые перед нами стоят и о трудностях, с которыми мы сталкиваемся.

Реализация USB хоста

Итак, во-первых мне нужно было реализовать на устройстве USB хост, чтобы оно могло распознавать и общаться с подключенной к нему клавиатурой. Так как в работе я использую связку Eclipse + GNU ARM Eclipse + libopencm3, то очень хотелось найти уже что-то готовое и желательно написанное с использованием библиотеки libopencm3. Желание мое было очень жирным, до последнего момента не верила, что мои поиски увенчаются успехом. Однако под конец рабочего дня, проскролив интернет до самого дна, я вдруг наткнулась вот на это. libusbhost? Серьезно? И это был не просто написанный на основе libopencm3 usb хост, он еще и был написан под STM32F4, под тот самый, который мы решили использовать в проекте. В общем, звезды сошлись и радости моей не было предела. Кстати, оказалось, что этот проект создавался как часть libopencm3, однако его так и не добавили в библиотеку.

Как библиотеку, libusbhost я не собирала, просто взяла необходимые мне исходники, написала драйвер для клавиатуры и, в общем-то все, погнали! Но обо всем по-порядку.

По аналогии с usbh_driver_hid_mouse.[ch], я написала драйвер для клавиатуры (usbh_driver_hid_kbd.[ch]).

Далее был реализован простенький класс, для работы с хостом:

Реализация составного USB устройства

Далее мне нужно было сделать так, чтобы наше устройство отображалось в диспетчере устройств и как клавиатура, и как дисковый накопитель. Тут вся магия в дескрипторах=) В этом документе, в главе 9, подробно описан USB Device Framework. Эту главу нужно очень внимательно прочитать и в соответствии с ней описать дескрипторы устройства. В моем случае получилось следующее:

Для работы с составным устройством был написан класс USB_composite, представленный ниже.

Как правило, функции control_request и set_config должны быть явно описаны для каждого устройства. Однако из этого правила есть исключение: Mass Storage Device. Итак, разберемся с конструктором класса USB_Composite.

Во-первых, мы инициализируем ноги USB OTG FS:

Во-вторых, нам нужно проинициализировать наше составное устройство, зарегистрировать USB_set_config_callback, о котором шла речь выше, и разрешить прерывание:

Так вот. Теперь, когда конструктор класса USB_Composite дописан, можно собрать проект, прошить устройство и увидеть, что «Запоминающее устройство для USB» больше не помечено предупреждением, а во вкладке «Дисковые устройства» можно обнаружить «ThirdPin Pastilda USB Device». И, казалось бы, все хорошо. Но нет=) Проблем стало больше:

1. Зайти на диск невозможно. При попытке сделать это все виснет, умирает, компьютеру очень плохо.
2. Распознавание устройства как дискового занимает более 2-х минут.

Об этих проблемах и о том, как их решить без вреда для здоровья написано здесь: USB mass storage device и libopencm3.

И, о, чудо! Никаких пятен=) Теперь все работает. У нас есть USB хост и составное USB устройство. Осталось только объединить их работу.

Объединение хоста и составного устройства

, Пастильда должна перехватить управление и отправить сообщение в ПК как клавиатура, после чего мы возвращаемся в режим трансляции и снова ожидаем комбинацию.

Код, реализующий все это, простой как палка:

, мы будем попадать в однострочное меню, а во флеше будет храниться наша зашифрованная база данных паролей.

Буду рада любым комментариям и пожеланиям.

И, конечно же, ссылка на github.

Источник

Usb Composite Device Is An Older Usb Device

usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

Если вы продолжаете получать указанное выше сообщение об ошибке при попытке подключить составное USB-устройство к компьютеру, вот настоящие исправления для вашей проблемы. Эта статья поможет вам быстро и легко решить проблему!

Попробуйте эти исправления

Вот 3 исправления, которые помогли многим другим пользователям решить их проблему с составным USB-устройством. Необязательно пробовать их все; просто продвигайтесь вниз по списку, пока не найдете тот, который вам подходит.

Исправление 1. Обновите драйвер комбинированного USB-устройства.

Наиболее вероятной причиной ошибки USB Composite Device является проблема с драйвером устройства.

К счастью, это одна из самых простых проблем, которую можно решить.

usb composite device что это. Смотреть фото usb composite device что это. Смотреть картинку usb composite device что это. Картинка про usb composite device что это. Фото usb composite device что это

Исправление 2: переустановите драйверы контроллера USB.

Вы также можете попробовать удалить и переустановить драйверы USB через диспетчер устройств. Это действие позволит Windows автоматически сканировать аппаратные изменения и переустанавливать необходимые драйверы. Вот что вам нужно сделать:

ключ

одновременно нажмите клавишу, чтобы открыть окно «Выполнить».

Исправление 3: используйте средство устранения неполадок Windows USB

Если описанные выше действия не помогли вам, вы можете попробовать средство устранения неполадок Windows USB.

Затем вы можете открыть инструмент и следовать инструкциям на экране, чтобы устранить проблему.

Если у вас есть какие-либо вопросы или предложения, пожалуйста, оставьте комментарий ниже.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *